Skip to content

feat(netbird-ee): migrate from the netbird chart - #68

Merged
jnfrati merged 2 commits into
feat/netbird-eefrom
feat/netbird-ee-migration
Oct 30, 2026
Merged

jnfrati merged 2 commits into
feat/netbird-eefrom
feat/netbird-ee-migration

Conversation

@jnfrati

@jnfrati jnfrati commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #66.

An existing netbird release becomes a netbird-ee release with one helm upgrade of the same release. This PR adds the guide and an e2e job that runs the migration.

Why it works in place

  • netbird-ee renders the same 21 resources as the netbird chart from the Kind examples, with the same kinds, names and namespaces. The Deployment selectors use the subchart name (netbird) and the release name, so they don't change. Helm patches everything in place, and the management volume and credentials Secrets carry over.
  • platform-ec confirmed the core schema is shared and the enterprise tables are created on first boot, so there is no migration step. The backend version must match, and going back to the netbird chart afterwards isn't supported.

Guide

charts/netbird-ee/docs/migration.md covers:

  • prerequisites: same backend version, single replica, a backup of the store;
  • exporting the values with helm get values, removing the image blocks, and nesting the rest under netbird:;
  • keeping the datastore key;
  • checking with a helm template diff;
  • upgrading, then verifying the images and the Starting CloudServer log line.

e2e

netbird-ee now has its own package, e2e/netbird-ee, with its own TestMain and Kind cluster (netbird-ee-chart-e2e). The NB_E2E_CHART switch is gone.

  • e2e/shared holds what the two packages share: the checks (RequireConnected, …), the lifecycle steps as methods on Lifecycle, and Main. These used to be _test.go files in e2e/netbird, which another package can't import.
  • e2e/netbird is back to the community chart only. e2e/netbird-ee runs the shared steps plus its enterprise checks.
  • framework/netbird.Bootstrap takes a Config (chart, chart installed first, cluster name) instead of reading env vars. Peer container names follow the cluster name, so the two packages can run side by side.
  • task chart:e2e CHART=netbird-ee runs the EE package. CI's chart matrix value now picks the package.
  • In e2e/netbird-ee, NB_E2E_FROM_CHART=netbird installs the netbird chart at netbird-ee's backend version, connects peers, and upgrades the release to netbird-ee. It checks that peers stay listed and connected and that the credential Secrets are unchanged, then runs the enterprise checks, the relay and the restart steps on the migrated release.
  • The netbird-ee checks now run after the upgrade step, so they check the chart under test whichever chart was installed first.
  • CI adds one job for this migration, on the newest Kubernetes with rootless off.
  • Passes locally: netbird and netbird-ee in parallel, then the migration.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 7d69755a-f6ad-4c68-989e-52f36e0bb8e1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@jnfrati
jnfrati merged commit fefd23a into feat/netbird-ee Oct 30, 2026
7 checks passed
@jnfrati
jnfrati deleted the feat/netbird-ee-migration branch October 30, 2026 16:24
@jnfrati

jnfrati commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

Folded into #66: its commits were fast-forwarded onto feat/netbird-ee, which GitHub shows as merged here.

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