towerops/priv
Graham McIntire 9ffa49a8f2 fix(oban): use DynamicLifeline in prod; add /health/live + split k8s probes
Prod paired the Oban Pro Smart engine + unique workers with core
Oban.Plugins.Lifeline, whose rescue has no unique_violation handling. An
orphaned executing CheckExecutorWorker job rescued back to available collides
with its already-scheduled successor on oban_jobs_unique_index (23505),
crashing the plugin every 60s and leaving ~150 orphans stuck. Switch prod to
Oban.Pro.Plugins.DynamicLifeline, which repairs the conflict via
Smart.clear_uniq_violation. Dev keeps core Lifeline (Basic engine).

Add a shallow /health/live endpoint that does not touch db/redis. k8s liveness
and startup probes now target it so a transient dependency outage can't kill or
block boot of a healthy pod; readiness keeps the deep /health to gate the load
balancer. (deployment.yaml probe/replica change pushed separately, after the
image carrying /health/live is live.)

Also drop unused POSTGRES_* keys from the secrets example.
2026-05-20 12:07:29 -05:00
..
antennas feat: 198 real vendor .msi antenna patterns + Leaflet auto-load 2026-05-06 15:09:29 -05:00
gettext fix: nav overflow on small screens and fix bad gettext translations 2026-03-11 14:00:31 -05:00
mibs mib update from librenms 2026-01-28 13:38:31 -06:00
profiles fix(snmp): auto-rescale implausible temperature readings 2026-05-10 12:21:24 -05:00
proto chore: migrate agent repo references from GitHub to Codeberg 2026-05-07 07:44:48 -05:00
repo fix: M3, M6, M7, M12 — open redirect, overfetch, missing constraint, admin defense-in-depth 2026-05-12 12:46:16 -05:00
static fix(oban): use DynamicLifeline in prod; add /health/live + split k8s probes 2026-05-20 12:07:29 -05:00