Commit graph

492 commits

Author SHA1 Message Date
FluxCD
82a83977ca chore: update prop image to git.mcintire.me/graham/prop:main-1777125492-0e0529c [skip ci] 2026-04-25 14:00:28 +00:00
FluxCD
64d4297a88 chore: update prop image to git.mcintire.me/graham/prop:main-1777125078-f0fa9e0 [skip ci] 2026-04-25 13:53:27 +00:00
FluxCD
5ac8340ba4 chore: update prop image to git.mcintire.me/graham/prop:main-1777079868-2e5b61f [skip ci] 2026-04-25 01:21:33 +00:00
FluxCD
46000e7d4d chore: update prop image to git.mcintire.me/graham/prop:main-1777077860-3b25add [skip ci] 2026-04-25 00:46:24 +00:00
FluxCD
41510840fb chore: update prop image to git.mcintire.me/graham/prop:main-1777076889-3ac6963 [skip ci] 2026-04-25 00:34:20 +00:00
FluxCD
f6ddf38071 chore: update prop image to git.mcintire.me/graham/prop:main-1777074592-4f82bd6 [skip ci] 2026-04-24 23:52:47 +00:00
FluxCD
2db8717d37 chore: update prop image to git.mcintire.me/graham/prop:main-1777066814-e192ca3 [skip ci] 2026-04-24 21:43:10 +00:00
FluxCD
36049808a4 chore: update prop image to git.mcintire.me/graham/prop:main-1777065178-560be6c [skip ci] 2026-04-24 21:14:57 +00:00
FluxCD
d6c6d1548d chore: update prop image to git.mcintire.me/graham/prop:main-1777063737-03c91f4 [skip ci] 2026-04-24 20:51:32 +00:00
FluxCD
609f04f649 chore: update prop image to git.mcintire.me/graham/prop:main-1777063515-13fad93 [skip ci] 2026-04-24 20:47:29 +00:00
FluxCD
b81b482119 chore: update prop image to git.mcintire.me/graham/prop:main-1777063066-ea69712 [skip ci] 2026-04-24 20:40:25 +00:00
FluxCD
3965404107 chore: update prop image to git.mcintire.me/graham/prop:main-1777057754-a6c5c40 [skip ci] 2026-04-24 19:12:02 +00:00
FluxCD
760024de38 chore: update prop image to git.mcintire.me/graham/prop:main-1777056798-32e7ccc [skip ci] 2026-04-24 18:55:51 +00:00
FluxCD
0e877f889a chore: update prop image to git.mcintire.me/graham/prop:main-1777055945-fa7052b [skip ci] 2026-04-24 18:41:48 +00:00
FluxCD
aab3ceddd7 chore: update prop image to git.mcintire.me/graham/prop:main-1777055130-525d9c4 [skip ci] 2026-04-24 18:27:52 +00:00
FluxCD
d8cdefbb7e chore: update prop image to git.mcintire.me/graham/prop:main-1777054811-74f6283 [skip ci] 2026-04-24 18:24:09 +00:00
FluxCD
6dbf6f1b03 chore: update prop image to git.mcintire.me/graham/prop:main-1777053964-e466879 [skip ci] 2026-04-24 18:08:06 +00:00
FluxCD
8c75ca640a chore: update prop image to git.mcintire.me/graham/prop:main-1777053457-95c9ac3 [skip ci] 2026-04-24 18:00:43 +00:00
FluxCD
78f9bfc1e1 chore: update prop image to git.mcintire.me/graham/prop:main-1777052679-c073c6a [skip ci] 2026-04-24 17:48:17 +00:00
FluxCD
37efaaa96d chore: update prop image to git.mcintire.me/graham/prop:main-1777052040-100be89 [skip ci] 2026-04-24 17:42:07 +00:00
100be89c06
chore: drop OpenTelemetry
Removes the six OTel packages (opentelemetry, _api, _exporter,
_phoenix, _oban, _bandit) and their 9 transitive deps. Tracing was
only wired for Phoenix/Bandit/Oban auto-instrumentation — PromEx
already covers the metrics we actually use on the status page +
Grafana. Also drops the OTEL_EXPORTER_OTLP_ENDPOINT env var and
its comment block from both deployment manifests.
2026-04-24 12:33:38 -05:00
FluxCD
85f402b8dd chore: update prop image to git.mcintire.me/graham/prop:main-1777050827-98aab76 [skip ci] 2026-04-24 17:17:37 +00:00
FluxCD
4a4de2a336 chore: update prop image to git.mcintire.me/graham/prop:main-1777050231-d100e56 [skip ci] 2026-04-24 17:06:30 +00:00
FluxCD
dcec2b3b37 chore: update prop image to git.mcintire.me/graham/prop:main-1777046003-0bc8af2 [skip ci] 2026-04-24 15:57:12 +00:00
FluxCD
b2766c8a90 chore: update prop image to git.mcintire.me/graham/prop:main-1777044777-080257f [skip ci] 2026-04-24 15:36:24 +00:00
FluxCD
35a064b1a4 chore: update prop image to git.mcintire.me/graham/prop:main-1777043748-d88bdd7 [skip ci] 2026-04-24 15:17:56 +00:00
FluxCD
825d2baa10 chore: update prop image to git.mcintire.me/graham/prop:main-1777041055-2900b9a [skip ci] 2026-04-24 14:33:44 +00:00
FluxCD
b057b45fe7 chore: update prop image to git.mcintire.me/graham/prop:main-1777039919-d7d865d [skip ci] 2026-04-24 14:16:37 +00:00
FluxCD
a1ccbeb3e5 chore: update prop image to git.mcintire.me/graham/prop:main-1777038907-5d9f02d [skip ci] 2026-04-24 14:07:30 +00:00
FluxCD
141cb6faf4 chore: update prop image to git.mcintire.me/graham/prop:main-1777037259-5564b67 [skip ci] 2026-04-24 13:30:18 +00:00
FluxCD
0f46d4361a chore: update prop image to git.mcintire.me/graham/prop:main-1776987814-f99d07b [skip ci] 2026-04-23 23:45:30 +00:00
86b2718916
infra(k8s): load-based HPAs, drop anti-affinity, retire talos5
Adds HorizontalPodAutoscaler resources for the three load-responsive
Deployments:

- prop (web): min 2, max 5, averageValue 800m CPU
- prop-grid-rs: min 1, max 4, averageValue 400m
- hrrr-point-rs: min 1, max 4, averageValue 400m
- prop-backfill is intentionally unmanaged (queue-driven, not CPU-bound)

The scale-up policy reacts in 30 s with up-to-2-pods or +100 % per
window; scale-down stabilises over 10 min so the hourly propagation
chain doesn't churn replicas right after the :05 cron.

Removes `spec.replicas` from the HPA-managed Deployments so Flux's
periodic reconcile stops fighting HPA's live scaling decisions.

Drops `podAntiAffinity` from prop, prop-grid-rs, and hrrr-point-rs
so HPA can actually reach its maxReplicas when one physical host has
capacity for two pods; the scheduler picks whatever fits.

Updates runbook + project memory to drop the `talos5` hostname —
Postgres is now addressed strictly by IP (10.0.15.30).
2026-04-23 18:43:18 -05:00
FluxCD
53dc08d659 chore: update prop image to git.mcintire.me/graham/prop:main-1776981668-109c4e1 [skip ci] 2026-04-23 22:04:43 +00:00
FluxCD
731c095840 chore: update prop image to git.mcintire.me/graham/prop:main-1776979115-bd107ee [skip ci] 2026-04-23 21:21:30 +00:00
FluxCD
e33116f759 chore: update prop image to git.mcintire.me/graham/prop:main-1776977813-a7250c3 [skip ci] 2026-04-23 20:59:24 +00:00
FluxCD
d66ac0b2a2 chore: update prop image to git.mcintire.me/graham/prop:main-1776971976-54cabdb [skip ci] 2026-04-23 19:22:42 +00:00
FluxCD
8435d95900 chore: update prop image to git.mcintire.me/graham/prop:main-1776971633-56e6a35 [skip ci] 2026-04-23 19:16:38 +00:00
FluxCD
eb0eaa2416 chore: update prop image to git.mcintire.me/graham/prop:main-1776971365-41573d4 [skip ci] 2026-04-23 19:12:16 +00:00
FluxCD
8324d019ca chore: update prop image to git.mcintire.me/graham/prop:main-1776970997-e7fb34e [skip ci] 2026-04-23 19:07:05 +00:00
FluxCD
ed21758557 chore: update prop image to git.mcintire.me/graham/prop:main-1776968936-764643b [skip ci] 2026-04-23 18:31:46 +00:00
FluxCD
8c0865482c chore: update prop image to git.mcintire.me/graham/prop:main-1776967519-cfb0c51 [skip ci] 2026-04-23 18:07:33 +00:00
FluxCD
a9d13d8eb9 chore: update prop image to git.mcintire.me/graham/prop:main-1776967071-063e9e3 [skip ci] 2026-04-23 18:00:31 +00:00
FluxCD
e88375e50b chore: update prop image to git.mcintire.me/graham/prop:main-1776965182-47ba8d3 [skip ci] 2026-04-23 17:28:47 +00:00
47ba8d3b6d
fix(enrichment): stub IEMRE on permanent failure + bump hot CPU
IemreFetchWorker now writes an empty stub observation when IEM returns
a permanent-failure status (404, 422), mirroring the existing {:ok, []}
path. The backfill cron's next tick sees the stub via
has_iemre_observation?/3, generates no job, and mark_status!/3 flips
the contact's iemre_status from :queued to :complete — draining the
51 contacts that have been stuck behind cancelled out-of-grid IEMRE
jobs.

Raise hot pod CPU limit 2 → 3 so BEAM gets 3 schedulers online.
Observed run queues of [2, 10, 0, 0, 0, 0] on the 2-scheduler
configuration during the :05 propagation chain, starving /live and
/health probe handlers and tripping intermittent liveness timeouts.
2026-04-23 12:26:09 -05:00
FluxCD
da66a613ef chore: update prop image to git.mcintire.me/graham/prop:main-1776960355-b2ff279 [skip ci] 2026-04-23 16:10:27 +00:00
FluxCD
f0f4ce6b33 chore: update prop image to git.mcintire.me/graham/prop:main-1776959622-66fef4f [skip ci] 2026-04-23 15:56:21 +00:00
FluxCD
e4ed923986 chore: update prop image to git.mcintire.me/graham/prop:main-1776898028-004f302 [skip ci] 2026-04-22 22:54:04 +00:00
FluxCD
a5b080f0af chore: update prop image to git.mcintire.me/graham/prop:main-1776894891-47a3e1d [skip ci] 2026-04-22 21:58:48 +00:00
024db2a5b4
perf(fleet): reduce IEM 429 storm and raise probe timeouts
Per-pod IEM rate limiter was 700ms (~1.4 req/sec); four pods put the
fleet at ~5.7 req/sec, above the observed 429 threshold. Retry storm
(Req exponential backoff up to 32s) piled concurrent sleeps on top of
live workers and tripped Bandit's acceptor + Oban's leader heartbeat.

- Raise default interval to 1500ms (~2.7 req/sec fleet).
- Hot pod /live timeout 3s → 5s (acceptor stalls under retry sleeps).
- prop-backfill exec probe period 30s → 120s, timeout 15s → 30s; the
  release CLI round-trips through distributed Erlang and 15s wasn't
  enough under load, restart-looping every ~10 min.
2026-04-22 16:50:58 -05:00
FluxCD
d6d50f7729 chore: update prop image to git.mcintire.me/graham/prop:main-1776884183-04146af [skip ci] 2026-04-22 18:58:47 +00:00