blumeops/containers
Erich Blume 4d1f4af25b Upgrade unpoller v2.34.0 → v3.2.0, migrate to container.py (#361)
## Summary

- Service Review pickup: unpoller (last reviewed 73 days ago).
- Upgrades unpoller from v2.34.0 to v3.2.0 (major version bump).
- Migrates the container build from a Dockerfile to a native Dagger pipeline (`containers/unpoller/container.py`) following the navidrome / miniflux pattern.
- Refreshes `service-versions.yaml` (last-reviewed, current-version).

## Breaking changes (upstream)

- **v3.0.0** — UniFi network API shifts (later 10.x). Some metric / event / log names and labels may have changed. Worth a follow-up sweep of the unpoller Grafana dashboard for missing series.
- **v3.2.0** — defaults to a 60s background poll feeding cached Prometheus scrapes (was on-demand poll per scrape). To restore previous behavior, set `interval = 0` in `up.conf`. Leaving the new default in this PR — every-15s scrapes will simply serve from cache, which is fine for our use.

## Build

- Image: `registry.ops.eblu.me/blumeops/unpoller:v3.2.0-1b27242`
- Built by build-container workflow run #559 from this branch.

## Test plan

- [ ] `argocd app set unpoller --revision unpoller-v3 && argocd app sync unpoller`
- [ ] Pod comes Ready
- [ ] Verify metrics exported (`Site/Client/UAP/USG/USW` counts in logs, `unpoller_*` series in Prometheus)
- [ ] Spot-check unpoller Grafana dashboard for missing series after the v3 API shift
- [ ] After merge: `argocd app set unpoller --revision main && argocd app sync unpoller`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #361
2026-05-28 09:59:46 -07:00
..
alloy Alloy V1.16.0 (#345) 2026-05-01 08:05:37 -07:00
authentik Upgrade authentik 2026.2.0 → 2026.2.2 (patch release) 2026-04-08 10:53:03 -07:00
authentik-redis Localize authentik-redis container (#309) 2026-03-24 13:27:36 -07:00
forgejo-runner Upgrade forgejo-runner to v12.8, adopt server.connections, and clean up docs (#338) 2026-04-20 09:03:54 -07:00
frigate-notify fix(frigate-notify): set WorkingDir=/app and create writable /app 2026-04-21 09:43:00 -07:00
grafana Upgrade Grafana 12.3.3 → 12.4.2 (#322) 2026-04-02 11:33:19 -07:00
grafana-sidecar Upgrade grafana-sidecar 1.28.0 → 2.6.0 + container.py port (#332) 2026-04-13 07:57:13 -07:00
homepage C0: fix homepage container /app/config write permissions 2026-05-10 20:49:22 -07:00
kingfisher Fix Kingfisher container: make /tmp world-writable 2026-03-30 06:53:34 -07:00
kiwix-serve Migrate kiwix-serve container from Dockerfile to native Dagger build 2026-04-17 13:56:32 -07:00
kube-state-metrics Localize kube-state-metrics container (Dockerfile + nix) (#327) 2026-04-07 16:09:25 -07:00
kubectl
loki
mealie
miniflux Refactor Dagger go_build() helper and standardize Alpine 3.23 2026-04-16 10:10:46 -07:00
navidrome Native Dagger container builds + Navidrome v0.61.1 (#330) 2026-04-11 17:11:56 -07:00
ntfy Localize authentik-redis container (#309) 2026-03-24 13:27:36 -07:00
paperless Deploy Paperless-ngx document management (#328) 2026-04-08 17:54:12 -07:00
prometheus
prowler Address 6 critical Prowler IaC findings (mute + grafana RBAC tighten) (#340) 2026-04-29 10:43:32 -07:00
runner-job-image Bump Dagger to 0.20.6 and migrate runner-job-image to Alpine container.py 2026-04-21 08:28:18 -07:00
shower C0: bump shower to v1.1.3 2026-05-15 19:57:37 -07:00
tailscale C1: mirror tailscale container locally for ringtail proxyclass (#347) 2026-05-06 06:50:31 -07:00
tempo Build Tempo container from source (2.10.3) (#323) 2026-04-02 13:45:02 -07:00
teslamate Migrate teslamate to native Dagger container.py (#333) 2026-04-14 07:20:52 -07:00
transmission Migrate transmission containers from Dockerfile to Dagger builds 2026-04-15 11:26:00 -07:00
transmission-exporter Migrate transmission containers from Dockerfile to Dagger builds 2026-04-15 11:26:00 -07:00
unpoller Upgrade unpoller v2.34.0 → v3.2.0, migrate to container.py (#361) 2026-05-28 09:59:46 -07:00
valkey Mirror valkey 8.1 locally for paperless and immich (#346) 2026-05-01 17:40:03 -07:00