Add OpenWrt installation guide#777
Conversation
|
Warning Review limit reached
More reviews will be available in 45 minutes and 47 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR adds complete OpenWrt installation documentation for NetBird, including navigation integration, a full installation guide with network configuration steps, and guidance on configuration persistence across firmware upgrades. ChangesOpenWrt Installation Documentation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
src/pages/get-started/install/openwrt.mdx (2)
89-97: 💤 Low valueConsider clarifying the DNS resolver configuration flow.
The text states that "NetBird automatically falls back to an alternative port" (line 93), but then shows a manual flag to set it explicitly (line 96). While the explanation "pinning the address keeps the dnsmasq forwarding rule below valid" is accurate, the transition could be clearer for readers.
✍️ Suggested clarification
Consider rephrasing to emphasize the purpose of the manual flag:
-When port 53 is taken, NetBird automatically falls back to an alternative port, but pinning the address keeps the dnsmasq forwarding rule below valid: +NetBird automatically detects when port 53 is unavailable and uses an alternative port. However, explicitly setting the resolver address ensures the dnsmasq forwarding rule below remains stable across restarts:🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/get-started/install/openwrt.mdx` around lines 89 - 97, Clarify the DNS resolver flow by explaining that NetBird will auto-select an unused port if port 53 is occupied but you can explicitly pin the resolver address using the netbird up --dns-resolver-address 127.0.0.1:5053 flag so the dnsmasq forwarding rule remains stable; update the paragraph around the mention of automatic fallback (NetBird automatically falls back to an alternative port) to state that the flag is optional but recommended when configuring dnsmasq forwarding to a fixed address (mention NetBird, dnsmasq, and the netbird up --dns-resolver-address flag to locate the text).
162-162: ⚡ Quick winUse
hrefprop instead ofonClickfor navigation.The Button component appears to support an
hrefprop (as used inindex.mdxline 7), which is more semantic and accessible than usingonClickwithwindow.open(). Usinghrefprovides better keyboard navigation, screen reader support, and allows users to right-click and open in a new tab.♿ Proposed fix for better accessibility
- <Button name="button" className="button-5" onClick={() => window.open("https://netbird.io/pricing")}>Use NetBird</Button> + <Button href="https://netbird.io/pricing" className="button-5">Use NetBird</Button>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/get-started/install/openwrt.mdx` at line 162, Replace the inline onClick using window.open with the Button component's href prop to improve semantics and accessibility: locate the Button element (name="button", className="button-5") and remove the onClick handler, set href="https://netbird.io/pricing" and, if the Button supports external links, add target="_blank" and rel="noopener noreferrer" to preserve the original behavior of opening a new tab safely.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/NavigationDocs.jsx`:
- Line 80: NavigationAPI.jsx is missing the new OpenWrt nav entry added in
NavigationDocs.jsx; update the navigation data in
src/components/NavigationAPI.jsx to include the object { title: 'OpenWrt', href:
'/get-started/install/openwrt' } under the same Platforms → GET STARTED →
Install grouping so the API-driven navigation matches NavigationDocs.jsx and the
new page is discoverable. Ensure the new entry uses the exact title and href
strings and is placed alongside the other install entries in the existing
navigation array/object.
In `@src/pages/get-started/install/openwrt.mdx`:
- Line 1: Add the missing import for the Note MDX component: update the MDX file
to import Note from "`@/components/mdx`" (i.e., add an import for the Note
component used in the file) so the <Note> usage on lines ~22-24 resolves; ensure
the import statement follows other MDX imports and uses the exact exported name
"Note".
---
Nitpick comments:
In `@src/pages/get-started/install/openwrt.mdx`:
- Around line 89-97: Clarify the DNS resolver flow by explaining that NetBird
will auto-select an unused port if port 53 is occupied but you can explicitly
pin the resolver address using the netbird up --dns-resolver-address
127.0.0.1:5053 flag so the dnsmasq forwarding rule remains stable; update the
paragraph around the mention of automatic fallback (NetBird automatically falls
back to an alternative port) to state that the flag is optional but recommended
when configuring dnsmasq forwarding to a fixed address (mention NetBird,
dnsmasq, and the netbird up --dns-resolver-address flag to locate the text).
- Line 162: Replace the inline onClick using window.open with the Button
component's href prop to improve semantics and accessibility: locate the Button
element (name="button", className="button-5") and remove the onClick handler,
set href="https://netbird.io/pricing" and, if the Button supports external
links, add target="_blank" and rel="noopener noreferrer" to preserve the
original behavior of opening a new tab safely.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 1c1bf057-576e-42c6-96e3-59d6772cfce6
⛔ Files ignored due to path filters (3)
public/docs-static/img/get-started/openwrt/netbird-connected-setup-key.pngis excluded by!**/*.pngpublic/docs-static/img/get-started/openwrt/netbird-installed.pngis excluded by!**/*.pngpublic/docs-static/img/get-started/openwrt/openwrt-package-update.pngis excluded by!**/*.png
📒 Files selected for processing (3)
src/components/NavigationDocs.jsxsrc/pages/get-started/install/index.mdxsrc/pages/get-started/install/openwrt.mdx
| { title: 'TrueNAS', href: '/get-started/install/truenas' }, | ||
| { title: 'pfSense', href: '/get-started/install/pfsense' }, | ||
| { title: 'OPNsense', href: '/get-started/install/opnsense' }, | ||
| { title: 'OpenWrt', href: '/get-started/install/openwrt' }, |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check if NavigationAPI.jsx exists and whether it needs updating for the new OpenWrt page
# Search for NavigationAPI.jsx and check if it contains navigation structure
if fd -t f 'NavigationAPI.jsx' src/components/; then
echo "=== NavigationAPI.jsx found, checking for install/platform navigation structure ==="
rg -n -C5 'install.*platform|platform.*install|openwrt|OpenWrt' src/components/NavigationAPI.jsx
else
echo "NavigationAPI.jsx not found - sync requirement may not apply"
fiRepository: netbirdio/docs
Length of output: 175
Update NavigationAPI.jsx to include the new OpenWrt navigation entry
src/components/NavigationDocs.jsxadds{ title: 'OpenWrt', href: '/get-started/install/openwrt' }(Platforms → GET STARTED → Install).- A search of
src/components/NavigationAPI.jsxforopenwrt/OpenWrtand install/platform-related patterns returned no matches, so the NavigationAPI navigation is likely out of sync with NavigationDocs for this new page outsidesrc/pages/ipa/.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/components/NavigationDocs.jsx` at line 80, NavigationAPI.jsx is missing
the new OpenWrt nav entry added in NavigationDocs.jsx; update the navigation
data in src/components/NavigationAPI.jsx to include the object { title:
'OpenWrt', href: '/get-started/install/openwrt' } under the same Platforms → GET
STARTED → Install grouping so the API-driven navigation matches
NavigationDocs.jsx and the new page is discoverable. Ensure the new entry uses
the exact title and href strings and is placed alongside the other install
entries in the existing navigation array/object.
Source: Coding guidelines
Adds a new installation guide for running the NetBird client on OpenWrt routers at
/get-started/install/openwrtalso added to sidebar navigation.Summary by CodeRabbit