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

12 commits

Author SHA1 Message Date
6b00f15221 C2(upgrade-grafana): finalize rewrite cards as historical docs
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>
2026-02-23 18:06:52 -08:00
c57b1fabc1 C2(upgrade-grafana): close upgrade-grafana
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>
2026-02-23 18:04:07 -08:00
5e0bd01b36 C2(upgrade-grafana): impl update grafana image tag after PATH fix
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:58:48 -08:00
09ac36b0f0 C2(upgrade-grafana): impl add grafana bin directory to PATH
The Grafana binary lives at bin/grafana inside the extracted tarball.
Add /usr/share/grafana/bin to PATH so the CMD can find it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:58:10 -08:00
6770aa321e C2(upgrade-grafana): impl fix grafana tarball extract path
The Grafana OSS tarball extracts to grafana-<version> (no v prefix),
not grafana-v<version>. Fix the mv command to match.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:57:57 -08:00
df9637e406 C2(upgrade-grafana): close kustomize-grafana-deployment
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:57:57 -08:00
5299fdceb2 C2(upgrade-grafana): impl kustomize-grafana-deployment
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>
2026-02-23 17:57:57 -08:00
39a1981f39 C2(upgrade-grafana): close build-grafana-container
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>
2026-02-23 17:57:57 -08:00
4739157e3b C2(upgrade-grafana): impl build-grafana-container
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>
2026-02-23 17:57:57 -08:00
53fa3a9553 C2(upgrade-grafana): plan document grafana binary PATH lesson
Discovered during deployment: the grafana binary lives at bin/grafana
inside the extracted directory, not on $PATH. The Dockerfile must set
PATH or use the full path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:57:48 -08:00
b2c3dc527f C2(upgrade-grafana): plan document grafana tarball path lesson
Discovered during build: the Grafana OSS tarball extracts to
grafana-<version>, not grafana-v<version>. The Dockerfile mv
command must match this naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:48:32 -08:00
629a5d4f30 C2(upgrade-grafana): plan add branch field to goal card
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:48:32 -08:00