Upgrade grafana-sidecar 1.28.0 → 2.6.0, port to container.py

The 2.x memory regression (#462) is resolved and the remaining ~35MB
overhead is static (health endpoint server), not a leak. Port the build
from Dockerfile to native Dagger container.py and add liveness/readiness
probes using the new /healthz endpoint on port 8080.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-04-13 07:28:19 -07:00
commit b75c4f970b
6 changed files with 103 additions and 43 deletions

View file

@ -0,0 +1 @@
Upgrade grafana-sidecar from 1.28.0 to 2.6.0, adding health probes and porting build to native Dagger container.py.

View file

@ -34,23 +34,22 @@ mise run container-build-and-release grafana
## Grafana Sidecar
**Dockerfile:** `containers/grafana-sidecar/Dockerfile`
**Build:** `containers/grafana-sidecar/container.py` (native Dagger)
**Image:** `registry.ops.eblu.me/blumeops/grafana-sidecar`
Clones the [kiwigrid/k8s-sidecar](https://github.com/kiwigrid/k8s-sidecar) source from the forge mirror, installs Python dependencies into a venv, and copies the application into a minimal Alpine runtime image.
Clones the [kiwigrid/k8s-sidecar](https://github.com/kiwigrid/k8s-sidecar) source from the forge mirror, installs the Python package into a venv, and copies it into a Python Alpine runtime image.
```fish
# Update version in Dockerfile
# ARG CONTAINER_APP_VERSION=1.28.0
# Update VERSION in container.py
mise run container-build-and-release grafana-sidecar
```
**Gotchas:**
- **Pinned to v1.28.0:** v2.x has a 135% memory regression ([#462](https://github.com/kiwigrid/k8s-sidecar/issues/462)) and `readOnlyRootFilesystem` crashloop ([#3936](https://github.com/grafana/helm-charts/issues/3936)). Upgrade separately after upstream fixes land.
- **UID 65534:** Matches upstream's `nobody` user convention for non-root execution.
- **Forge mirror name:** `mirrors/kiwigrid-grafana-sidecar` (not `k8s-sidecar`).
- **Health endpoint:** 2.x exposes `/healthz` on port 8080 (liveness + readiness probes configured in deployment).
## Related