C2: Upgrade Grafana to 12.x with Nix container and Kustomize #260

Merged
eblume merged 12 commits from mikado/upgrade-grafana into main 2026-02-23 18:07:18 -08:00
Owner

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
## 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
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add home-built Grafana 12.3.3 container image based on Alpine 3.22
with pre-built OSS tarball from dl.grafana.com. Uses UID 472 for PVC
compatibility with the official image, standard Grafana paths, and
multi-arch support via TARGETPLATFORM detection.

Update service-versions.yaml to track 12.3.3.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Home-built Grafana 12.3.3 container is ready. Dockerfile builds from
Alpine 3.22 + official OSS tarball, verified via dagger and
container-version-check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace Helm chart with plain kustomize manifests:
- deployment.yaml: Grafana 12.3.3 (home-built) + k8s-sidecar + init container
- configmap.yaml: grafana.ini (Authentik OIDC, datasources, paths)
- service.yaml, pvc.yaml, serviceaccount.yaml, rbac.yaml
- ArgoCD app converted from Helm multi-source to single kustomize source
- Removed Helm values.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume force-pushed mikado/upgrade-grafana from f2ee0ba971 to 35286ef230 2026-02-23 17:24:52 -08:00 Compare
eblume force-pushed mikado/upgrade-grafana from 35286ef230 to 13390f62bc 2026-02-23 17:27:39 -08:00 Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume force-pushed mikado/upgrade-grafana from d34751e1e8 to 286a6e70a8 2026-02-23 17:49:02 -08:00 Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume force-pushed mikado/upgrade-grafana from a17600b07d to 09ac36b0f0 2026-02-23 17:58:21 -08:00 Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Grafana 12.3.3 deployed and verified:
- Home-built container from Alpine + upstream tarball
- Kustomize manifests replacing Helm chart
- All datasources, dashboards, and Authentik OIDC working
- services-check passing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rewrite all Mikado cards to historical documentation, remove branch
field from goal card, and add changelog fragment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume merged commit d05d2fbaff into main 2026-02-23 18:07:18 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!260
No description provided.