1.7 KiB
1.7 KiB
| title | requires | modified | last-reviewed | tags | |||||
|---|---|---|---|---|---|---|---|---|---|
| Upgrade Grafana |
|
2026-03-04 | 2026-03-04 |
|
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(tagged via Kustomizeimages:overlay) - 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/kustomization.yaml(underimages:) - 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
- build-grafana-sidecar — Building the dashboard sidecar image
- kustomize-grafana-deployment — Kustomize manifest structure