towerops/test
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
..
assets fix/traffic-graph-rendering-and-polarity (#130) 2026-03-23 15:24:44 -05:00
integration routeros fixes and latency rounding 2026-02-09 17:30:06 -06:00
mix/tasks test: lift coverage from 85.84% → 86.28% 2026-05-08 17:44:18 -05:00
snmpkit feat(insights): AI surfaces its own observations from full network state 2026-05-10 14:29:56 -05:00
support feat: end-to-end /coverage compute pipeline + antenna catalog + cnHeat-style form 2026-05-06 14:32:38 -05:00
towerops fix(monitoring): stop CheckExecutorWorker duplicate job buildup with unique constraint 2026-05-14 14:01:07 -05:00
towerops_web fix(oban): use DynamicLifeline in prod; add /health/live + split k8s probes 2026-05-20 12:07:29 -05:00
test_helper.exs test: in-process Redis fake instead of skipping Redis-backed tests 2026-05-10 11:32:50 -05:00
towerops_native_test.exs fix: resolve typing violation and ETS cache race in tests 2026-02-14 12:32:43 -06:00