blumeops/docs/changelog.d
Erich Blume f2704b26da
All checks were successful
Build Container (Nix) / detect (push) Successful in 2s
Build Container / detect (push) Successful in 2s
Build Container (Nix) / build (transmission-exporter) (push) Successful in 2s
Build Container / build (transmission-exporter) (push) Successful in 19s
Replace transmission-exporter with homegrown Python exporter (#283)
## Summary
- Replace unmaintained `metalmatze/transmission-exporter:master` sidecar with a homegrown Python exporter
- Uses `prometheus_client` + `transmission-rpc` with collect-on-scrape pattern (fresh metrics per scrape, no stale labels)
- Same metric names so existing Grafana Transmission dashboard works unchanged
- Container built with `uv` for dependency management, follows `grafana-sidecar` Dockerfile pattern

## Changes
- **New:** `containers/transmission-exporter/exporter.py` — single-file exporter (~130 lines)
- **New:** `containers/transmission-exporter/Dockerfile` — multi-stage Alpine build with uv
- **Modified:** `argocd/manifests/torrent/deployment.yaml` — swap sidecar image reference
- **Modified:** `argocd/manifests/torrent/kustomization.yaml` — add image tag entry
- **Modified:** `service-versions.yaml` — add transmission-exporter entry

## Deployment and Testing
- [ ] Build container: `mise run container-build-and-release transmission-exporter`
- [ ] Update kustomization.yaml newTag with build SHA
- [ ] Branch deploy: `argocd app set torrent --revision feature/transmission-exporter-python && argocd app sync torrent`
- [ ] Verify metrics: `kubectl -n torrent --context=minikube-indri port-forward svc/transmission 19091:19091` then `curl localhost:19091/metrics | grep transmission_`
- [ ] Verify Grafana Transmission dashboard panels populate
- [ ] After merge: `argocd app set torrent --revision main && argocd app sync torrent`

Reviewed-on: #283
2026-03-04 21:55:00 -08:00
..
+changelog-subdir-hook.infra.md Use towncrier orphan fragment naming for C0 changes 2026-03-03 15:30:00 -08:00
+frigate-db-path.bugfix.md Use towncrier orphan fragment naming for C0 changes 2026-03-03 15:30:00 -08:00
+mikado-finalization-cleanup.doc.md Remove mikado frontmatter from closed chains, clarify finalization rules 2026-03-04 20:43:19 -08:00
+ollama-reference-card.doc.md Add Ollama reference card and update indexes 2026-03-04 19:43:14 -08:00
+oomkill-dashboard.infra.md Add OOMKill observability to Kubernetes Clusters dashboard 2026-03-04 20:53:07 -08:00
+orphan-fragment-convention.doc.md Use towncrier orphan fragment naming for C0 changes 2026-03-03 15:30:00 -08:00
+retire-plans-directory.doc.md Retire plans directory, convert migrate-forgejo-from-brew to mikado card 2026-03-04 20:28:14 -08:00
+review-upgrade-grafana.doc.md Review upgrade-grafana doc: fix image tag ref, add sidecar link 2026-03-04 07:53:22 -08:00
.gitkeep
changelog-all-levels.doc.md Clarify that changelog fragments apply to all change levels (C0–C2) 2026-03-03 13:15:06 -08:00
feature-forge-public.feature.md Expose Forgejo publicly at forge.eblu.me (#278) 2026-03-03 08:40:41 -08:00
feature-grafana-sidecar.infra.md Home-build grafana-sidecar container (#281) 2026-03-03 13:48:24 -08:00
feature-ha-cv-docs-zero-downtime.infra.md Add pre-commit check for changelog fragment placement 2026-03-03 10:49:01 -08:00
feature-loki-container.infra.md Build Loki container image locally (#280) 2026-03-03 13:00:43 -08:00
feature-ollama-ringtail.feature.md Deploy Ollama LLM server on ringtail (#277) 2026-03-02 20:39:51 -08:00
feature-transmission-exporter-python.infra.md Replace transmission-exporter with homegrown Python exporter (#283) 2026-03-04 21:55:00 -08:00
feature-transmission-review.infra.md Upgrade Transmission to 4.1.1 (#282) 2026-03-04 07:44:33 -08:00
forgejo-proxy-dashboard.feature.md Add fly.io proxy observability and app logs to Forgejo dashboard 2026-03-03 10:24:53 -08:00
frigate-memory.infra.md Add changelog fragment for Frigate memory limit bump 2026-03-03 13:58:35 -08:00
gandi-bookmark.infra.md Add changelog fragment for Gandi bookmark 2026-03-03 13:06:02 -08:00
implicit-octal.infra.md Allow implicit octals in yamllint and normalize k8s mode values 2026-03-03 13:10:44 -08:00
upgrade-teslamate-v3.0.0.infra.md Upgrade TeslaMate v2.2.0 → v3.0.0 (#279) 2026-03-03 11:56:40 -08:00