cloudfoundry / cloudfoundry/bosh-bootloader
Dual Stack (add IPv6) Support for BOSH Bootloader (AWS)
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 181
- Forks
- 179
- PR merge metrics
- No merged PRs in 30d
Description
In the frame of RFC0038, we would like to extend bosh-bootloader with IPv6 to support dual stack networking.
This change starts with the Terraform scripts and enables the changes in BOSH to support dual stack networking.
Tasks:
- Adapt the implementation in Terraform
- Ensure that new deployments can be created IPv4 or dual stack
Allow existing deployments to be updated to dual stack from IPv4
A migration path for existing bbl deployments could also be something that is added via additional change later.
Details:
- https://github.com/cloudfoundry/bosh-bootloader/pull/633
Extend or removeIPandCIDRBlocktypes. They are hardcoded to support only IPv4. They could be extended using Go's nativenet.IP,net.IPMask, etc. to do the same thing but across IPv4 and IPv6. - https://github.com/cloudfoundry/bosh-bootloader/pull/640
Enable IPv6 for AWS on terraform via the TF variabledualstack -
https://github.com/cloudfoundry/bosh-bootloader/pull/644https://github.com/cloudfoundry/bosh-bootloader/pull/669: Add theNLBload balancer type variant for AWS, as that one is needed for IPv6 ingress. This NLB should also do TLS termination, likecf_lbalready does on AWS.- correct handling of LB type and
dualstackvariable in all Terraform templates
- correct handling of LB type and
- Configure BOSH via generated ops files for dual stack, when
dualstackoutput variable istrue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Terraform AWS implementation and the Go IP and CIDRBlock types referenced in the completed tasks. Review the dualstack variable, NLB load-balancer templates, and generated BOSH ops-file configuration, while checking the linked pull requests and BOSH dependency. Done means new AWS deployments support IPv4 or dual stack with correct ingress and BOSH configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go, terraform
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100