Skip to content

feat(netbird)!: remove MySQL support; bump netbird to 0.82.0 - #156

Merged
mikkeldamsgaard merged 1 commit into
mainfrom
feat/153-155-netbird-0.82-remove-mysql
Oct 31, 2026
Merged

mikkeldamsgaard merged 1 commit into
mainfrom
feat/153-155-netbird-0.82-remove-mysql

Conversation

@mikkeldamsgaard

Copy link
Copy Markdown
Contributor

Folds in #153, #154, #155 (netbird 0.81.3 → 0.82.0). This is not a plain version bump.

⚠️ NetBird 0.82.0 removes the MySQL store

From the v0.82.0 release notes: "A management server configured with the mysql engine refuses to start on v0.82.0." The netbird-mysql-migrate tool is no longer shipped either. Bumping appVersion alone would have left every database.type: mysql install with a crashlooping server after helm upgrade.

So this PR:

  • Fails at template time for database.type: mysql, printing the migration path: stay on chart 0.7.x (NetBird 0.81.x), run netbird-mysql-migrate from v0.81.5, switch to postgresql, then upgrade. This matches the chart's existing fail-fast guards. Unknown types (e.g. mariadb, "") are rejected too; only sqlite and postgresql pass.
  • Removes the MySQL DSN/port branches, 7 MySQL unit tests (snapshot updated, deletions only), the MySQL e2e scenario + CI job + make e2e-mysql target + e2e values, and examples/seed/mysql-values.yaml.
  • Docs: README replaces the MySQL install example with a "Migrating from MySQL" section; the CHANGELOG has a Removed entry with step-by-step migration.

Marked ! / BREAKING CHANGE. For the release I'll follow the 0.7.0 precedent: a minor bump (0.8.0) for a breaking change on this pre-1.0 chart, with a regenerated compat matrix.

Version bumps

  • netbird 0.81.3 → 0.82.0. Upstream's render_combined_yaml and render_dashboard_env are byte-identical between 0.81.3 and 0.82.0. The new dedicated access-log store defaults to access_logs.db beside the SQLite store (on the existing PVC) or the main DSN on PostgreSQL, so nothing changes on upgrade. 0.81.4 distrusts the compromised eMudhra CA keys.
  • dashboard v2.95.0 → v2.96.0 — UI fixes; env contract unchanged.

Keycloak MySQL support is untouched; Keycloak itself still supports it.

Closes #153, #154, #155

How to verify

make test      # helm lint + 374 helm-unittest tests — passing locally
dprint check   # clean; helmfmt is a no-op
make e2e       # all 8 scenarios passed locally (exit 0):
               #   netbird: sqlite, postgres, gateway, oidc-keycloak, oidc-zitadel
               #   keycloak: dev, postgres, replicas
helm template t charts/netbird --set database.type=mysql   # fails with the migration message

🤖 Generated with Claude Code

NetBird 0.82.0 removed its MySQL store: a management server configured
with the mysql engine refuses to start. A plain appVersion bump would
have left every database.type=mysql install with a crashlooping server.

Instead the chart now fails at template time for database.type=mysql,
printing the migration path (stay on chart 0.7.x / NetBird 0.81.x, run
netbird-mysql-migrate from v0.81.5, switch to postgresql, then upgrade).
Unknown database.type values are rejected the same way; only sqlite and
postgresql are accepted. The mysql DSN/port branches, unit tests, e2e
scenario, CI job, make target, e2e values, and seed example are removed;
README replaces the MySQL install example with a migration section.

Also bumps:
- appVersion 0.81.3 -> 0.82.0 (also covers 0.81.4/0.81.5). Access logs
  now use their own store connection, defaulting to access_logs.db next
  to the SQLite store or the main DSN on PostgreSQL — no change needed.
  Combined-server config template and dashboard env contract are
  byte-identical to 0.81.3 upstream.
- dashboard image v2.95.0 -> v2.96.0.

BREAKING CHANGE: database.type=mysql is rejected; migrate to PostgreSQL
on chart 0.7.x before upgrading (steps in CHANGELOG.md).

Closes #153, #154, #155

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mikkeldamsgaard
mikkeldamsgaard merged commit f15f8ef into main Oct 31, 2026
13 checks passed
@mikkeldamsgaard
mikkeldamsgaard deleted the feat/153-155-netbird-0.82-remove-mysql branch October 31, 2026 14:54
mikkeldamsgaard added a commit that referenced this pull request Oct 31, 2026
- Bump chart version 0.7.2 -> 0.8.0
- appVersion 0.82.0, dashboard image v2.96.0
- Refresh compatibility matrix: chart 0.8 verified against server
  0.82.0, 0.81.5, 0.80.0, 0.79.0, 0.78.2 — all PASS

Contains a breaking change (#156): database.type=mysql is rejected
because NetBird 0.82.0 removed its MySQL store. Released as a minor
rather than 1.0.0 because the chart is pre-1.0 (same as 0.7.0);
migration steps are in CHANGELOG.md.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.

chore(netbird): upstream update available — server 0.81.3 → 0.81.4

1 participant