prop/k8s
Graham McIntire 45d8466808
ops(prop): preStop sleep so Service drains before Phoenix shuts down
Deploys were causing 502 Bad Gateway on LiveView reconnect. The kubelet
sent SIGTERM to the old pod and Phoenix immediately stopped accepting
connections, but the Service endpoint controller and ingress hadn't
yet propagated the pod's removal from endpoints — the browser's
reconnect raced the endpoint update and bounced 502 against the dead
pod, then gave up.

Add a 10s preStop sleep on the container and bump
terminationGracePeriodSeconds to 40 so the load balancer has time to
drain this pod before Phoenix begins shutting down.
2026-04-29 14:13:22 -05:00
..
deployment-backfill.yaml remove obsolete flux manifest and imagepolicy annotations 2026-04-29 11:00:05 -05:00
deployment-grid-rs.yaml remove obsolete flux manifest and imagepolicy annotations 2026-04-29 11:00:05 -05:00
deployment-hrrr-point-rs.yaml remove obsolete flux manifest and imagepolicy annotations 2026-04-29 11:00:05 -05:00
deployment.yaml ops(prop): preStop sleep so Service drains before Phoenix shuts down 2026-04-29 14:13:22 -05:00
hpa.yaml ops(prop): pin HPA to 1 replica 2026-04-29 09:55:46 -05:00
kustomization.yaml infra(k8s): load-based HPAs, drop anti-affinity, retire talos5 2026-04-23 18:43:18 -05:00
metrics-service.yaml feat(k8s): NodePort service for external Prometheus scraping 2026-04-18 16:51:46 -05:00
namespace.yaml Add k8s manifests and Forgejo CI for cluster deployment 2026-04-06 09:25:24 -05:00
rbac.yaml Add Erlang clustering via libcluster and expose LiveDashboard 2026-04-06 09:46:48 -05:00
service.yaml fix(k8s): tier label isolates hot pods from backfill endpoints 2026-04-19 16:58:13 -05:00