Improved Documentation for Zypper and small fixes. - #793
Conversation
📝 WalkthroughWalkthroughThis PR updates Linux installation documentation with explicit DNF 4 and DNF 5 guidance and revised RHEL, Fedora, and Amazon Linux labeling. It also reorganizes openSUSE MicroOS instructions to install packages, reboot, and start the NetBird service. ChangesLinux Installation Documentation Clarity
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
src/pages/get-started/install/linux.mdxOops! Something went wrong! :( ESLint: 9.39.2 TypeError: Converting circular structure to JSON 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.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/pages/get-started/install/linux.mdx (1)
1-1:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winMissing
Warningcomponent import.The
Warningcomponent is used at line 182 but not imported. Update the import statement at line 1 to includeWarning.🔧 Proposed fix
-import {Note} from "`@/components/mdx`"; +import {Note, Warning} from "`@/components/mdx`";Also applies to: 182-182
🤖 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/linux.mdx` at line 1, The import at the top only brings in Note but the page uses the Warning component (referenced as Warning around line 182); update the import statement that currently imports Note (import {Note} from "`@/components/mdx`";) to also import Warning so both components are available (e.g., import {Note, Warning} from "`@/components/mdx`";).Source: Coding guidelines
🤖 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.
Outside diff comments:
In `@src/pages/get-started/install/linux.mdx`:
- Line 1: The import at the top only brings in Note but the page uses the
Warning component (referenced as Warning around line 182); update the import
statement that currently imports Note (import {Note} from "`@/components/mdx`";)
to also import Warning so both components are available (e.g., import {Note,
Warning} from "`@/components/mdx`";).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: dad94d71-f857-4e99-871c-fa28934bd172
📒 Files selected for processing (1)
src/pages/get-started/install/linux.mdx
|
@PizzaLovingNerd is attempting to deploy a commit to the NetBird GmbH Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (6)
src/pages/get-started/install/linux.mdx (6)
160-166: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick winMake the rpm-ostree reboot an explicit step before starting NetBird.
rpm-ostree installcreates a pending deployment; the layered packages are not active in the currently running system until the host boots the next deployment. Turn the reminder into an executable reboot step and start the NetBird service after reboot.🤖 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/linux.mdx` around lines 160 - 166, Update the Linux installation instructions so the rpm-ostree flow includes an explicit reboot command after installing the desktop packages, then instructs the user to run the existing “Start the service” systemctl command only after rebooting.
99-121: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winRemove the redundant repository-import step.
Step 1 already creates
/etc/yum.repos.d/netbird.repo, which DNF/DNF5 reads automatically; running--add-repo/addrepo --from-repofileon the same file is unnecessary and can fail or report a duplicate repository ID. Remove step 2 and renumber the install steps, or use an import path before/etc/yum.repos.d.🤖 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/linux.mdx` around lines 99 - 121, Remove the repository-import step containing the DNF/DNF5 config-manager commands, since the repository file created in step 1 is loaded automatically. Renumber the remaining installation step so the instructions proceed directly from creating the file to installing netbird.
282-287: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winInstall both MicroOS packages in one snapshot.
Running two
transactional-updatecommands without--continuecreates separate snapshots, so the rebooted snapshot can omitnetbirdwhen onlynetbird-uiis installed in the second transaction. Install both packages in one command or use--continuefor the second transaction.🤖 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/linux.mdx` around lines 282 - 287, Update the installation commands in the Linux getting-started instructions to install netbird and netbird-ui within the same transactional-update snapshot, either by supplying both packages to one command or by adding --continue to the second command; preserve the subsequent reboot step.
122-129: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winEnable EPEL before installing
webkitgtk6.0.On RHEL, AlmaLinux, and Rocky Linux 10,
webkitgtk6.0comes from EPEL, but the desktop install command runs beforeepel-releaseis installed. Put the EPEL setup for those releases above thednf install netbird-ui ...command.🤖 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/linux.mdx` around lines 122 - 129, Move the `sudo dnf install epel-release -y` setup block above the desktop-app `sudo dnf install netbird-ui gtk4 webkitgtk6.0 xdg-utils` command, ensuring it applies to RHEL, AlmaLinux, and Rocky Linux 10 before `webkitgtk6.0` is installed.
131-131: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winCorrect the Amazon Linux 2023 dependency statement.
AL2023 provides GTK 4 (
gtk4), so the combined “does not provide GTK 4 or WebKitGTK 6.0” statement is inaccurate. If the desktop app still requires WebKitGTK 6.0, reword this to say AL2023’s available GTK 4 alone is not enough for the desktop app.🤖 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/linux.mdx` at line 131, Correct the Amazon Linux 2023 dependency statement in the installation documentation: acknowledge that AL2023 provides GTK 4 (gtk4), while clarifying that the desktop app remains unsupported because WebKitGTK 6.0 is unavailable; preserve the instruction to install the CLI only there.
295-297: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAlign the MicroOS note with the packages actually installed.
The preceding commands already install
netbird-ui, but this note says they install only the CLI. State thatnetbird-uiis installed and that GTK/WebKitGTK dependencies still need to be added separately.-These commands install the CLI. To use the desktop app, install `netbird-ui` together with ... +These commands install the CLI and `netbird-ui`. The desktop app also requires ...🤖 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/linux.mdx` around lines 295 - 297, Update the Linux installation Note to state that the preceding commands install both the CLI and netbird-ui, while GTK 4.10+ and WebKitGTK 6.0 dependencies must still be installed separately; retain the openSUSE package-name guidance using zypper search webkitgtk.
🧹 Nitpick comments (1)
src/pages/get-started/install/linux.mdx (1)
74-78: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAvoid overlapping RHEL installation sections.
RHEL 9 appears under both YUM and DNF. Narrow the YUM section to Amazon Linux 2, or explicitly state that it is only an alternative, so the new RHEL 8+ DNF flow is unambiguous.
Also applies to: 97-97
🤖 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/linux.mdx` around lines 74 - 78, Update the “RHEL 9 / Amazon Linux 2 (YUM)” section heading and accompanying Note so it applies only to Amazon Linux 2, removing RHEL 9 from the YUM installation path and leaving RHEL 9 covered exclusively by the DNF flow.
🤖 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.
Outside diff comments:
In `@src/pages/get-started/install/linux.mdx`:
- Around line 160-166: Update the Linux installation instructions so the
rpm-ostree flow includes an explicit reboot command after installing the desktop
packages, then instructs the user to run the existing “Start the service”
systemctl command only after rebooting.
- Around line 99-121: Remove the repository-import step containing the DNF/DNF5
config-manager commands, since the repository file created in step 1 is loaded
automatically. Renumber the remaining installation step so the instructions
proceed directly from creating the file to installing netbird.
- Around line 282-287: Update the installation commands in the Linux
getting-started instructions to install netbird and netbird-ui within the same
transactional-update snapshot, either by supplying both packages to one command
or by adding --continue to the second command; preserve the subsequent reboot
step.
- Around line 122-129: Move the `sudo dnf install epel-release -y` setup block
above the desktop-app `sudo dnf install netbird-ui gtk4 webkitgtk6.0 xdg-utils`
command, ensuring it applies to RHEL, AlmaLinux, and Rocky Linux 10 before
`webkitgtk6.0` is installed.
- Line 131: Correct the Amazon Linux 2023 dependency statement in the
installation documentation: acknowledge that AL2023 provides GTK 4 (gtk4), while
clarifying that the desktop app remains unsupported because WebKitGTK 6.0 is
unavailable; preserve the instruction to install the CLI only there.
- Around line 295-297: Update the Linux installation Note to state that the
preceding commands install both the CLI and netbird-ui, while GTK 4.10+ and
WebKitGTK 6.0 dependencies must still be installed separately; retain the
openSUSE package-name guidance using zypper search webkitgtk.
---
Nitpick comments:
In `@src/pages/get-started/install/linux.mdx`:
- Around line 74-78: Update the “RHEL 9 / Amazon Linux 2 (YUM)” section heading
and accompanying Note so it applies only to Amazon Linux 2, removing RHEL 9 from
the YUM installation path and leaving RHEL 9 covered exclusively by the DNF
flow.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: aead4b71-8425-49c6-b8dd-033eaa37dabf
📒 Files selected for processing (1)
src/pages/get-started/install/linux.mdx
I ended up splitting OpenSUSE and OpenSUSE MicroOS, giving instructions to actually add the GPG key and refresh the repo, and a minor fix to add RHEL 8+ for the DNF instructions as RHEL as YUM is just a wrapper around DNF since RHEL 8.
All the OpenSUSE instructions were tested on Leap 16, Tumbleweed and MicroOS.
Summary by CodeRabbit