## Summary Mikado chain to upgrade Grafana from 11.4.0 (Helm chart) to 12.x with: - Home-built Nix container image (`forge.ops.eblu.me/eblume/grafana`) - Kustomize manifests replacing the Helm chart - Single-source ArgoCD app ## Chain Goal: `upgrade-grafana` Leaves: `build-grafana-container`, `kustomize-grafana-deployment` Track with: `mise run docs-mikado upgrade-grafana` ## Test plan - [ ] Container builds successfully via Nix - [ ] Container pushed to registry - [ ] Kustomize manifests produce equivalent resources to current Helm - [ ] Pod runs, UI loads, OIDC works, datasources healthy - [ ] `mise run services-check` passes Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/260
1.6 KiB
1.6 KiB
| title | requires | modified | tags | |||||
|---|---|---|---|---|---|---|---|---|
| Upgrade Grafana |
|
2026-02-23 |
|
Upgrade Grafana
Upgraded Grafana from 11.4.0 (Helm chart) to 12.3.3, converting from Helm to Kustomize with a home-built container image.
What Changed
- Image:
docker.io/grafana/grafana:11.4.0→registry.ops.eblu.me/blumeops/grafana:v12.3.3 - Deployment: Helm multi-source (chart + values) → single Kustomize directory
- ArgoCD app: Simplified to one source pointing at
argocd/manifests/grafana/
All existing datasources (prometheus, loki, TeslaMate), dashboard ConfigMaps, and Authentik OIDC were preserved without changes.
Grafana 12 Breaking Changes
None affected us:
- Angular plugin removal — our dashboards already used React panels
- Datasource UID format enforcement — our UIDs were already compliant
- Annotation table migration — completed automatically on the small SQLite DB
How to Repeat
To upgrade Grafana again in the future:
- Update
CONTAINER_APP_VERSIONincontainers/grafana/Dockerfile - Build and push via
mise run container-build-and-release grafana - Update the image tag in
argocd/manifests/grafana/deployment.yaml - Update
service-versions.yaml - Sync:
argocd app sync grafana
The SQLite PVC is disposable — dashboards come from ConfigMaps and datasources from config.
Related
- grafana — Service reference card
- build-grafana-container — Building the container image
- kustomize-grafana-deployment — Kustomize manifest structure