-
Notifications
You must be signed in to change notification settings - Fork 754
Enable IPv6 for containers on new installations #6029
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
Enable IPv6 by default for new Supervisor installations. Let's also make the `enable_ipv6` attribute nullable, so we can distinguish between "not set" and "set to false".
|
/cc @davidrapan |
mdegat01
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.
It looks good other then that one log. I think a host reboot is required here. If so we should say "host reboot" rather then "system restart" and pop that repair. If its something else lets clarify and see if we can either help the user more or do more for them.
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 enables IPv6 by default for new Supervisor installations while maintaining backward compatibility for existing setups. The change makes the enable_ipv6 attribute nullable to distinguish between "not set" (new installations get IPv6 enabled) and "explicitly set to false" (existing configurations are preserved).
- Makes
enable_ipv6nullable throughout the codebase to support tri-state logic - Sets IPv6 as enabled by default for new installations when no explicit configuration exists
- Adds reboot notification when IPv6 settings are changed via API
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| supervisor/docker/network.py | Core logic to enable IPv6 by default for new networks and handle nullable enable_ipv6 |
| supervisor/docker/manager.py | Updates property types to support nullable enable_ipv6 configuration |
| supervisor/validate.py | Schema changes to make enable_ipv6 nullable with None default |
| supervisor/api/docker.py | API endpoint updates for nullable IPv6 and reboot notification |
| tests/docker/test_network.py | Test coverage for IPv6 default behavior on new installations |
| tests/api/test_docker.py | Test assertion update to reflect new None default |
Comments suppressed due to low confidence (1)
tests/docker/test_network.py:137
- [nitpick] The third parameter
Truefor MockNetwork constructor should be named explicitly for clarity, e.g.,enableIPv6=True.
return_value=MockNetwork(False, None, True),
Proposed change
Enable IPv6 by default for new Supervisor installations. Let's also make the
enable_ipv6attribute nullable, so we can distinguish between "not set" and "set to false".Since enabling IPv6 requires (re)creating the
hassionetwork, for now only new installations are migrated. If you want to enable IPv6 for containers (add-ons) useha docker options --enable-ipv6=true.Type of change
Additional information
Checklist
ruff format supervisor tests)If API endpoints or add-on configuration are added/changed: