Compare commits

..

7 commits

Author SHA1 Message Date
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
3 changed files with 4 additions and 1 deletions

View file

@ -88,7 +88,7 @@ spec:
mountPath: /tmp/dashboards
# Grafana
- name: grafana
image: registry.ops.eblu.me/blumeops/grafana:v12.3.3-286a6e7
image: registry.ops.eblu.me/blumeops/grafana:v12.3.3-b1ea762
imagePullPolicy: IfNotPresent
env:
- name: POD_IP

View file

@ -45,6 +45,8 @@ RUN mkdir -p /etc/grafana /var/lib/grafana /var/log/grafana && \
RUN adduser -D -u 472 -h /usr/share/grafana grafana && \
chown -R grafana:grafana /usr/share/grafana /etc/grafana /var/lib/grafana /var/log/grafana
ENV PATH="/usr/share/grafana/bin:$PATH"
USER grafana
WORKDIR /usr/share/grafana
EXPOSE 3000

View file

@ -25,6 +25,7 @@ Grafana currently uses the upstream `docker.io/grafana/grafana:11.4.0` image via
## Lessons
- **Tarball directory name:** The Grafana OSS tarball extracts to `grafana-<version>` (e.g. `grafana-12.3.3`), *not* `grafana-v<version>`. The `mv` command in the Dockerfile must match this.
- **Binary PATH:** The Grafana binary lives at `bin/grafana` inside the extracted directory. The Dockerfile must add the bin directory to `$PATH` (e.g. `ENV PATH="/usr/share/grafana/bin:$PATH"`) or use the full path in CMD.
## Reference