Context
Tinkerbell's provisioning flow is currently centered on IPv4.
As a result, in IPv6 environments, operators who want IPv6-only bare metal provisioning still need to maintain an IPv4 island for discovery, netboot, or early OS installation, even when the target environment is otherwise IPv6-native.
Goals / Non-goals
Goals:
- Add first-class IPv6 support.
Non-goals:
- Redesign Tinkerbell's provisioning architecture. The goal is to evolve the existing model so that IPv6 is supported, documented, and tested.
Proposal
- Extend
Smee to support new DHCPv6 modes.
- We can start with stateless DHCPv6 with SLAAC and RA for addresses.
- Extend other components to be able to listen on and serve over IPv6.
- Update Helm charts and templates to support IPv6.
Open Question
- Is IP dual-stack support needed? The dual-stack could be beneficial in theory, but it would make the system more complex.
Rationale
One alternative is to keep Tinkerbell IPv4-only and require operators to maintain an IPv4 provisioning network even for IPv6-native infrastructure. That is the lowest-effort option from an engineering perspective, but it pushes cost and operational complexity onto users.
Context
Tinkerbell's provisioning flow is currently centered on IPv4.
As a result, in IPv6 environments, operators who want IPv6-only bare metal provisioning still need to maintain an IPv4 island for discovery, netboot, or early OS installation, even when the target environment is otherwise IPv6-native.
Goals / Non-goals
Goals:
Non-goals:
Proposal
Smeeto support new DHCPv6 modes.Open Question
Rationale
One alternative is to keep Tinkerbell IPv4-only and require operators to maintain an IPv4 provisioning network even for IPv6-native infrastructure. That is the lowest-effort option from an engineering perspective, but it pushes cost and operational complexity onto users.