The flow
--reuse-values is deliberate. Because this command passes no new value overrides, Helm combines the new chart defaults with the release’s existing user-supplied values instead of carrying forward defaults from the old chart. Commands below that add explicit overrides use --reset-then-reuse-values to perform the same merge before applying those overrides.
What happens:
- Helm renders the new manifests from the new chart defaults plus your existing user-supplied values.
- The
radar-hubDeployment rolls (default rolling update; one new pod up + healthy before the old terminates). Each new pod’smigrateinitContainer applies any pending schema migrations against your Postgres before the mainhubcontainer starts. - The
radar-hub-webDeployment rolls similarly.
Pinning a specific release
CHART_VERSION with the selected radar-hub chart version and MATCHING_RELEASE_TAG with the appVersion shown by helm show chart, after confirming that tag is published for both Hub and Web. The chart and images ship as one release unit. Never mix a chart with images from another release, or mix Hub and Web release tags.
Migration safety
All migrations land indb/migrations/NNN_*.sql and follow these rules:
- Forward-only. No down-migrations. Helm rollback does not undo schema changes; restore a database backup only when the previous binary cannot run against the migrated schema.
- Additive-by-default. New columns are nullable or safely defaulted and backfilled before constraints are enforced; new tables don’t break existing reads.
- Idempotent.
IF NOT EXISTS,IF EXISTS,ON CONFLICT DO NOTHING. A re-run never fails. - Tracked.
schema_migrationsrecords every applied version; the runner skips applied ones.
Version-skew policy
- The chart and the images ship together. Use
helm upgrade(which pins both viaappVersion) rather than rolling images independently. - The control plane speaks to in-cluster Radar via the tunnel protocol, which is forward-compatible by design - older Radar versions talk to newer control planes. We test 2 minor versions back. If you see protocol-level errors, check the Helm chart pinned in customer clusters:
radarchart ≥1.5.4is required for cloud-mode RBAC. - The chart defaults Hub and Web to the same
appVersion. Explicit image overrides can bypass that default; keep both tags identical because mixed versions are unsupported.
Pre-upgrade checks
After upgrade
The first thing to check post-upgrade:radar-hub starting addr=:8080 mode=self_hosted ...- the control plane booted.license verified- the new build is signed against the same Skyhook public key as the old.- No
database schema not found/pg_query: relation "X" does not exist- themigrateinitContainer applied successfully before the main container started.
GET /api/config and confirm version.current matches the chart’s appVersion.
Rollback
- For chart-template-only changes (annotations, resources, ingress): rollback is safe.
- For binary-version rollbacks within the same migration cohort: rollback is safe.
- For binary-version rollbacks across a destructive migration: restore from backup.
Cadence
- Patch (0.x.Y): as needed, typically weekly. Bug fixes only. Minor or no migration.
- Minor (0.X.0): monthly. Feature work + migrations as needed.
- Major (X.0.0): breaking changes, e.g. cookie format change, mandatory new env var. We’ll publish a migration guide ahead of these.