block / block/buzz

Chart 0.1.6 default image predates auto-migrate — out-of-box install crash-loops on a fresh external Postgres

Open
#2,473 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Environment

- Chart: `oci://ghcr.io/block/buzz/charts/buzz` **0.1.6**, `image.tag` unset
→ falls back to `appVersion: "0.1.0"` → `ghcr.io/block/buzz:0.1.0`
(= `sha-1fa63ba`, `1fa63badad…`)
- Values: bundled Postgres/Redis disabled, `externalPostgresql` via
`secrets.existingSecret`, fresh empty database

## What happens

The chart sets `BUZZ_AUTO_MIGRATE=true` by default (`migrate.autoMigrate`,
values.yaml) and its deployment template renders the env var — but the
default image **predates the auto-migrate feature** (#988,
`2300248d…`), so the env is silently ignored. Against a fresh database the
relay crash-loops:

```
INFO Postgres connected
ERROR Failed to ensure partitions: … relation "events" does not exist
Error: Failed to bootstrap relay owner (required when BUZZ_REQUIRE_RELAY_MEMBERSHIP=true): … relation "relay_members" does not exist
```

No migration log line at all (neither "complete", "skipping", nor an error) —
which makes the root cause non-obvious: the chart *looks* configured to
migrate.

## Proposal

1. Bump the chart's `appVersion` (or default `image.tag`) to a
post-#988 image so the out-of-box install self-migrates, OR
2. Have the chart fail fast (`fail` in `_validate.tpl`) when
`migrate.autoMigrate=true` with a known-incompatible default image, OR at
minimum
3. Document the minimum image for `migrate.autoMigrate` in values.yaml.

Related observation while debugging: the chart's `serviceMonitor.enabled`
assumes prometheus-operator CRDs, which GKE (Managed Prometheus) clusters
don't have — `helm install` fails with "no matches for kind ServiceMonitor".
A `PodMonitoring` alternative (or a values note) would help GKE deployers.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.