-
Notifications
You must be signed in to change notification settings - Fork 35
[improvement] : allow specifying ipv6 slaac public ranges #809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #809 +/- ##
=======================================
Coverage ? 63.14%
=======================================
Files ? 71
Lines ? 7332
Branches ? 0
=======================================
Hits ? 4630
Misses ? 2428
Partials ? 274 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b35e083 to
372b33d
Compare
372b33d to
f72c124
Compare
f72c124 to
eb59586
Compare
eb59586 to
9c67b7f
Compare
9c67b7f to
c938dca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements support for IPv6 SLAAC (Stateless Address Autoconfiguration) configuration for Linode machines by adding a new IPv6CreateOptions struct with three optional fields: EnableSLAAC, EnableRanges, and IsPublicIPv6. The implementation refactors the existing IPv6 configuration logic to support both SLAAC and traditional range-based IPv6 configuration.
- Adds new
IPv6Optionsfield toLinodeMachineSpecAPI with support for SLAAC and range-based IPv6 configuration - Refactors interface creation logic to handle both SLAAC and traditional IPv6 range configuration
- Updates test cases to validate new IPv6 configuration options and interface expectations
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
api/v1alpha2/linodemachine_types.go |
Adds IPv6CreateOptions struct and IPv6Options field to LinodeMachineSpec |
internal/controller/linodemachine_controller_helpers.go |
Refactors IPv6 configuration logic to support both SLAAC and ranges |
internal/controller/linodemachine_controller_helpers_test.go |
Updates test validation and adds new test cases for IPv6 configuration |
config/crd/bases/infrastructure.cluster.x-k8s.io_linodemachines.yaml |
Adds CRD definitions for new IPv6Options fields |
config/crd/bases/infrastructure.cluster.x-k8s.io_linodemachinetemplates.yaml |
Adds CRD definitions for new IPv6Options fields in machine templates |
api/v1alpha2/zz_generated.deepcopy.go |
Generated deep copy methods for IPv6CreateOptions |
docs/src/reference/out.md |
Documents new IPv6CreateOptions API fields |
komer3
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
1c616f0 to
40472cb
Compare
What this PR does / why we need it:
This PR implements support for IPv6 SLAAC (Stateless Address Autoconfiguration) configuration for Linode machines by adding two new optional fields to LinodeMachineSpec:
EnableSLAACandIsPublicIPv6. WhenEnableSLAACis enabled, instances can automatically configure IPv6 addresses, andIsPublicIPv6determines whether these addresses are publicly routable.EnableSLAACandIsPublicIPv6fields to LinodeMachineSpec APIWhich issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
TODOs: