-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add documentation for IPv6 address generation mode & privacy extensions #2670
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
base: master
Are you sure you want to change the base?
Add documentation for IPv6 address generation mode & privacy extensions #2670
Conversation
Warning Rate limit exceeded@davidrapan has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 26 minutes and 3 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe documentation for supervisor API endpoints and models was updated to clarify and expand the configuration options for IPv4 and IPv6 network interfaces. Separate sections for IPv4 and IPv6 were introduced, with detailed keys and descriptions for each. Minor formatting and whitespace adjustments were also made throughout the documentation. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant Supervisor API
Client->>Supervisor API: PATCH /network/interface/<interface>/update (with IPv4 and/or IPv6 config)
Supervisor API-->>Client: Response with updated interface configuration
sequenceDiagram
participant Client
participant Supervisor API
Client->>Supervisor API: GET /network/interface/<interface>
Supervisor API-->>Client: Response with interface details (separate IPv4 and IPv6 configuration sections)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 0
🧹 Nitpick comments (4)
docs/api/supervisor/models.md (2)
117-127
: Validate IPv6 configuration details and grammar
The new "IPv6 configuration" block correctly covers address generation and privacy extension options. Two tweaks recommended:
- Grammar: use "in an X.X.X.X/XX format" instead of "in a X.X.X.X/XX format".
- Consistency: confirm whether
method: auto
also includes Router Advertisements or if RA should be listed explicitly.Please check the API spec and update the
method
description to accurately reflect all supported modes.🧰 Tools
🪛 LanguageTool
[misspelling] ~124-~124: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...list with IP address and the netmask in a X.X.X.X/XX format. | ...(EN_A_VS_AN)
185-192
: Unify type naming in Backup model
Thecontent
field usesdictionary
while most models usedict
. Standardize todict
for consistency across the docs.docs/api/supervisor/endpoints.md (2)
2386-2386
: Clarifyenabled
field description
The current phrase "got removed with disabled" is confusing. Consider rewording to something like:-| enabled | bool | True | Enable/Disable an ethernet interface / VLAN got removed with disabled | +| enabled | bool | True | Enable or disable the interface. For VLANs, disabling removes the VLAN. |
2401-2410
: Approve addition of IPv6 endpoint payload docs
The new IPv6 payload section correctly documentsaddr-gen-mode
andip6-privacy
.For extra clarity, you might refine the
address
description to:A list of strings with the IPv6 address and prefix in an X:X::/XX format
and adjust article usage to "an X:X::/XX format".
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (2)
docs/api/supervisor/endpoints.md
(3 hunks)docs/api/supervisor/models.md
(3 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/api/supervisor/models.md
[misspelling] ~124-~124: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...list with IP address and the netmask in a X.X.X.X/XX format. | ...
(EN_A_VS_AN)
🔇 Additional comments (3)
docs/api/supervisor/models.md (2)
103-107
: Approve addition of IPv6 field in Network interface model
Introducing theipv6
struct alongsideipv4
,wifi
, andvlan
improves completeness for dual-stack support.
108-112
: Section rename improves clarity
Renaming "IP configuration" to "IPv4 configuration" explicitly identifies the IP version, which aids reader comprehension.docs/api/supervisor/endpoints.md (1)
2395-2395
: Ensure IPv4 method description consistency
The IPv4method
entry calls out DHCP only, yet the model docs treatauto
generically. Verify if "auto" here should strictly refer to DHCP or include RA, and align both docs accordingly.
d088240
to
8e8a489
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.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docs/api/supervisor/models.md (2)
103-106
: Improve navigability by linking to configuration subsectionsLinking the
ipv4
,ipv6
,wifi
, andvlan
fields to their corresponding sections will help readers jump directly to the detailed tables. For consistency, adjust casing toVLAN
(uppercase) and considerWi-Fi
for clarity:- | ipv4 | struct or null | An IP config struct with IPv4 connection details. | + | ipv4 | struct or null | An [IPv4 configuration](#ipv4-configuration) struct or null. | - | ipv6 | struct or null | An IP config struct with IPv6 connection details. | + | ipv6 | struct or null | An [IPv6 configuration](#ipv6-configuration) struct or null. | - | wifi | struct or null | A Wifi config struct with wireless connection details. | + | wifi | struct or null | A [Wi-Fi configuration](#wifi-configuration) struct or null. | - | vlan | struct or null | A Vlan config struct with details about the vlan. | + | vlan | struct or null | A [VLAN configuration](#vlan-configuration) struct or null. |
185-191
: Unify type naming and link to content detailsUse
dict
instead ofdictionary
for thecontent
type to match other sections, and link to the "Backup -> content" subsection for clarity:- | content | dictionary | A dictionary describing the content of the backup | + | content | dict | Details of the backup content. See [Backup -> content](#backup--content). |
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (2)
docs/api/supervisor/endpoints.md
(3 hunks)docs/api/supervisor/models.md
(3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/api/supervisor/endpoints.md
🧰 Additional context used
🪛 LanguageTool
docs/api/supervisor/models.md
[misspelling] ~124-~124: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’.
Context: ...list with IP address and the netmask in a X.X.X.X/XX format. | ...
(EN_A_VS_AN)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - developers-home-assistant
- GitHub Check: Header rules - developers-home-assistant
- GitHub Check: Pages changed - developers-home-assistant
🔇 Additional comments (1)
docs/api/supervisor/models.md (1)
108-108
: Approve: Section renamed to IPv4 configurationRenaming the "IP configuration" subsection to "IPv4 configuration" clarifies the IP version being configured. This improves the documentation structure.
8e8a489
to
d027e10
Compare
d027e10
to
c1e5aa3
Compare
e1eac62
to
22770d0
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.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docs/api/supervisor/models.md (2)
96-107
: Refine interface descriptions for consistency and correctnessThe interface table mixes uppercase boolean literals and lacks proper article/notation for examples. Update as follows:
-| interface | string | The interface name i.e eth0. | +| interface | string | The interface name, e.g., `eth0`. | -| enabled | boolean | Return True if the interface is enabled. | +| enabled | boolean | `true` if the interface is enabled. | -| connected | boolean | Return True if the interface is connected to the network. | +| connected | boolean | `true` if the interface is connected to the network. | -| primary | boolean | `true` if it's the primary network interface. | +| primary | boolean | `true` if the interface is the primary network interface. |🧰 Tools
🪛 LanguageTool
[uncategorized] ~98-~98: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...erface | string | The interface name i.e eth0. ...(I_E)
183-191
: Unify type naming for the backup content fieldUse
dict
instead ofdictionary
to match other model tables:-| content | dictionary | Details of the backup content. See [Backup -> content](#backup---content) | +| content | dict | Details of the backup content. See [Backup -> content](#backup---content) |
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Cache: Disabled due to data retention organization setting
Knowledge Base: Disabled due to data retention organization setting
📒 Files selected for processing (2)
docs/api/supervisor/endpoints.md
(4 hunks)docs/api/supervisor/models.md
(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/api/supervisor/endpoints.md
🧰 Additional context used
🪛 LanguageTool
docs/api/supervisor/models.md
[uncategorized] ~98-~98: The abbreviation “i.e.” (= that is) requires two periods.
Context: ...erface | string | The interface name i.e eth0. ...
(I_E)
Signed-off-by: David Rapan <david@rapan.cz>
22770d0
to
efce09b
Compare
Proposed change
Add documentation for newly added options to modify address generation mode and privacy extensions of IPv6.
Type of change
Checklist
Additional information
Summary by CodeRabbit