Skip to content

docs: add Support Matrix section under Get More Help#764

Open
emrcbrn wants to merge 1 commit into
netbirdio:mainfrom
emrcbrn:docs/support-matrix
Open

docs: add Support Matrix section under Get More Help#764
emrcbrn wants to merge 1 commit into
netbirdio:mainfrom
emrcbrn:docs/support-matrix

Conversation

@emrcbrn
Copy link
Copy Markdown
Contributor

@emrcbrn emrcbrn commented May 21, 2026

Summary

Adds a new Support Matrix section under Get More Help so users have an authoritative place to check what NetBird supports on each platform.

The section lives at /help/support-matrix/ with:

  • An overview introducing the matrix and linking out to each component.
  • NetBird Client — launchpad + per-OS-family pages (Linux, Windows, macOS, iOS, Android, Android TV, tvOS), mirroring the src/pages/get-started/install/ layout.
  • Kubernetes Operator — policy-style page explaining the version-window approach (no tables yet; phrasing inspired by spegel's dependency compatibility docs).
  • Terraform Provider and Self-Hosted — TBD stubs for the team to fill in.

Structure

src/pages/help/support-matrix/
├── index.mdx                          → Tiles to each component
├── netbird-client/
│   ├── index.mdx                      → Tiles to each OS + Go toolchain table
│   ├── linux.mdx
│   ├── windows.mdx
│   ├── macos.mdx
│   ├── ios.mdx
│   ├── android.mdx
│   ├── android-tv.mdx
│   └── tvos.mdx
├── kubernetes-operator.mdx
├── terraform-provider.mdx
└── self-hosted.mdx

src/components/NavigationDocs.jsx adds a nested Support Matrix entry to the GET MORE HELP group; NetBird Client is a sub-group with the seven OS pages as leaves (same 3-deep pattern as Access ControlPosture Checks → leaf).

Pre-filled data

The Go toolchain table on the NetBird Client launchpad is authoritative — sourced from go.mod at each release tag:

NetBird client version Go version
v0.20.0 – v0.25.3 1.20
v0.25.4 – v0.29.1 1.21
v0.29.2 – v0.60.2 1.23
v0.60.3 – v0.62.3 1.24
v0.63.0 – current 1.25

Linux / Windows / macOS pages pre-fill OS version cutoffs derived from Go's minimum OS requirements at each release's Go version. Each of those three pages opens with a Warning callout marking the cutoffs as inferences pending team confirmation — NetBird may have stricter requirements than Go. The Windows 7/8 cutoff at v0.25.3 matches the existing data point.

iOS / Android / Android TV / tvOS pages and the Kubernetes operator / Terraform provider / Self-Hosted pages remain TBD placeholders — Go's reference doesn't map cleanly to gomobile / SDK constraints, and the rest are awaiting team input.

Design choices

  • Launchpads use <Tiles> (same as use-cases/cloud/index.mdx) for navigation. Version data lives on the detail page only, so a tile description never tries to summarize an arbitrarily large per-distro table.
  • Each detail page has 2+ ## sections so the right-side "On this page" TOC populates.
  • New platforms scale: drop a new MDX into the matching directory, append one nav links entry.

Test plan

  • npm run build passes; all 12 new routes prerender as static HTML.
  • Verify sidebar nesting renders (Support Matrix → NetBird Client → OS pages).
  • Verify "On this page" right-side TOC populates on each detail page.
  • Confirm with the team the derived OS cutoffs on Linux / Windows / macOS, then either remove the Warning callouts or refine the values.
  • Fill TBD entries on the mobile/TV pages, Kubernetes operator tables, Terraform provider, and self-hosted page.

Screenshots

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added a new Support Matrix section providing comprehensive compatibility and version support information for NetBird Client across multiple platforms (Linux, Windows, macOS, iOS, Android, Android TV, tvOS), along with documentation for Kubernetes Operator, Terraform Provider, and Self-Hosted deployments. Some entries are marked as work in progress and will be updated in future releases.

Review Change Stack

Adds /help/support-matrix with an overview, NetBird client (split into
per-OS pages following the get-started/install layout), Kubernetes
operator, Terraform provider, and self-hosted sub-sections.

Linux/Windows/macOS pages pre-fill OS version cutoffs derived from the
Go toolchain's minimum OS requirements at each NetBird release's Go
version (sourced from go.mod at release tags). Each derived page carries
a Warning callout marking the values as inferences pending team
confirmation. Mobile/TV pages and the other component pages remain TBD
placeholders.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3637c28f-2fb2-46d7-8550-207d6b156d9e

📥 Commits

Reviewing files that changed from the base of the PR and between 2cc722e and cbd16fc.

📒 Files selected for processing (13)
  • src/components/NavigationDocs.jsx
  • src/pages/help/support-matrix/index.mdx
  • src/pages/help/support-matrix/kubernetes-operator.mdx
  • src/pages/help/support-matrix/netbird-client/android-tv.mdx
  • src/pages/help/support-matrix/netbird-client/android.mdx
  • src/pages/help/support-matrix/netbird-client/index.mdx
  • src/pages/help/support-matrix/netbird-client/ios.mdx
  • src/pages/help/support-matrix/netbird-client/linux.mdx
  • src/pages/help/support-matrix/netbird-client/macos.mdx
  • src/pages/help/support-matrix/netbird-client/tvos.mdx
  • src/pages/help/support-matrix/netbird-client/windows.mdx
  • src/pages/help/support-matrix/self-hosted.mdx
  • src/pages/help/support-matrix/terraform-provider.mdx

📝 Walkthrough

Walkthrough

This PR introduces the NetBird Support Matrix documentation feature, adding comprehensive compatibility information across client platforms and infrastructure deployments. The changes include navigation updates, a landing page with category tiles, and detailed support pages for Linux, Windows, macOS, iOS, Android variants, Kubernetes operators, Terraform providers, and self-hosted deployments.

Changes

Support Matrix Documentation

Layer / File(s) Summary
Navigation and overview landing page
src/components/NavigationDocs.jsx, src/pages/help/support-matrix/index.mdx
Navigation menu updated with "Support Matrix" link group; main landing page introduces the feature with tiles linking to NetBird Client, Kubernetes Operator, Terraform Provider, and Self-Hosted matrices, plus guidance on interpreting support status labels.
NetBird Client support matrices for all platforms
src/pages/help/support-matrix/netbird-client/index.mdx, src/pages/help/support-matrix/netbird-client/linux.mdx, src/pages/help/support-matrix/netbird-client/windows.mdx, src/pages/help/support-matrix/netbird-client/macos.mdx, src/pages/help/support-matrix/netbird-client/ios.mdx, src/pages/help/support-matrix/netbird-client/android.mdx, src/pages/help/support-matrix/netbird-client/android-tv.mdx, src/pages/help/support-matrix/netbird-client/tvos.mdx
Client matrix hub page with OS selection tiles and Go toolchain version mapping; eight platform-specific pages document supported versions, architectures, and distributions with TBD placeholders and instructions for reporting compatibility issues.
Infrastructure and integration support matrices
src/pages/help/support-matrix/kubernetes-operator.mdx, src/pages/help/support-matrix/terraform-provider.mdx, src/pages/help/support-matrix/self-hosted.mdx
Kubernetes operator, Terraform provider, and self-hosted deployment support matrices define version compatibility scopes with TBD-placeholder tables and guidance for reporting issues across different deployment scenarios.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • braginini
  • SunsetDrifter

Poem

🐰 A matrix of platforms, from Linux to Mac,
iOS and tvOS all have your back,
Kubernetes dancing with Terraform's grace,
NetBird support finds its rightful place! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: add Support Matrix section under Get More Help' directly and clearly reflects the main change: adding a new Support Matrix documentation section under the GET MORE HELP navigation, as evidenced by the navigation update in NavigationDocs.jsx and the new support-matrix pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/components/NavigationDocs.jsx

Oops! Something went wrong! :(

ESLint: 9.39.4

TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'configs' -> object with constructor 'Object'
| property 'flat' -> object with constructor 'Object'
| ...
| property 'plugins' -> object with constructor 'Object'
--- property 'react' closes the circle
Referenced from:
at JSON.stringify ()
at file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:308:45
at Array.map ()
at ConfigValidator.formatErrors (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:299:23)
at ConfigValidator.validateConfigSchema (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:330:84)
at ConfigArrayFactory._normalizeConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:676:19)
at ConfigArrayFactory._loadConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:641:21)
at ConfigArrayFactory._loadExtendedShareableConfig (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:946:21)
at ConfigArrayFactory._loadExtends (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:814:25)
at ConfigArrayFactory._normalizeObjectConfigDataBody (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:752:25)

src/pages/help/support-matrix/index.mdx

Oops! Something went wrong! :(

ESLint: 9.39.4

TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'configs' -> object with constructor 'Object'
| property 'flat' -> object with constructor 'Object'
| ...
| property 'plugins' -> object with constructor 'Object'
--- property 'react' closes the circle
Referenced from:
at JSON.stringify ()
at file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:308:45
at Array.map ()
at ConfigValidator.formatErrors (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:299:23)
at ConfigValidator.validateConfigSchema (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:330:84)
at ConfigArrayFactory._normalizeConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:676:19)
at ConfigArrayFactory._loadConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:641:21)
at ConfigArrayFactory._loadExtendedShareableConfig (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:946:21)
at ConfigArrayFactory._loadExtends (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:814:25)
at ConfigArrayFactory._normalizeObjectConfigDataBody (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:752:25)

src/pages/help/support-matrix/kubernetes-operator.mdx

Oops! Something went wrong! :(

ESLint: 9.39.4

TypeError: Converting circular structure to JSON
--> starting at object with constructor 'Object'
| property 'configs' -> object with constructor 'Object'
| property 'flat' -> object with constructor 'Object'
| ...
| property 'plugins' -> object with constructor 'Object'
--- property 'react' closes the circle
Referenced from:
at JSON.stringify ()
at file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:308:45
at Array.map ()
at ConfigValidator.formatErrors (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:299:23)
at ConfigValidator.validateConfigSchema (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/shared/config-validator.js:330:84)
at ConfigArrayFactory._normalizeConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:676:19)
at ConfigArrayFactory._loadConfigData (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:641:21)
at ConfigArrayFactory._loadExtendedShareableConfig (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:946:21)
at ConfigArrayFactory._loadExtends (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:814:25)
at ConfigArrayFactory._normalizeObjectConfigDataBody (file:///node_modules/.pnpm/@eslint+eslintrc@3.3.5/node_modules/@eslint/eslintrc/lib/config-array-factory.js:752:25)

  • 10 others

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant