feat(kubernetes): add probes and pod clustering #34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/kubernetes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
force_sslredirects a probe to the pod address), no way to cluster pods, and an always-on Erlang distribution with a cookie published in the image.Changes
TraefikControlWeb.HealthPlug, mounted first in the endpoint:GET/HEAD /healthzis200while the process serves;/readyzrunsSELECT 1(2 s timeout) and is200or503. Excluded fromforce_sslinconfig/prod.exs, not logged, no session.rel/env.sh.eex: distribution only with bothRELEASE_COOKIEandPOD_IP(nodetraefik_control@$POD_IP, portDIST_PORT, default 9100, applied only tostart/daemonso therpchelper VM does not collide); otherwiseRELEASE_DISTRIBUTION=none. Behaviour change: images used to start distribution with the baked-in cookie; nowbin/traefik_control rpc/remoteneed the two variables.Containerfile: copyrel/,RELEASE_TMP=/tmpfor a read-only root filesystem.scripts/propose-release.shand README:rel/counts as shipped. New Kubernetes section and the new variables in the Configuration table.Verification
/healthz200,/readyz200,/users/log-in301, zero probe lines in the log; with the database stopped/readyz503 and/healthz200; recovers to 200.--read-only --tmpfs /tmp --cap-drop ALL, fixed IPs, shared DNS alias): each lists the other inNode.list(); a PubSub broadcast from the peer reaches a local subscriber; a third container without a cookie boots, serves, refusesrpcand does not join; stopping one pod leaves the other ready with an empty peer list. A first run found therpcport collision, fixed above.SIGTERM received - shutting down, exit code 0.mix format --check-formatted,compile --warnings-as-errors,credo --strict(found an alias suggestion, fixed),mix test1515 passed on both, migration rollback/migrate round trip on PostgreSQL,mix dialyzerclean;shellcheckclean.kubepodsin the cgroup v2 tree), so probes, rolling updates and the chart are covered by the podman runs above and by rendering the chart and validating it with kubeconform (see the chart repository).Release
This is a
feat, so the weekly job proposes a minor bump (1.1.0 from 1.0.0). The chart pins that version.