authentik: quote-free health probes — v1 quadlet generator space-splits HealthCmd

Verified live on dankclaw: the podman 5.x v1 quadlet generator splits
HealthCmd values on spaces into the container healthcheck argv array, so
quoted probes (sh -c "pg_isready ...") arrive mangled and every probe
exits 127 — postgres read 'unhealthy' with the database actually up.
Probe forms now use only space-free argv tokens: pg_isready passes its
args directly; the server probe runs manage.py check --database default
(verified exit-0 standalone in the image).
This commit is contained in:
Frank committed 2026-08-28 03:42:28 -07:00
1 parent 09db633dca
commit 7b38ea63ef
1 file changed
+5 -5
@@ -29,11 +29,11 @@ Environment=AUTHENTIK_POSTGRESQL__USER=authentik
Environment=AUTHENTIK_POSTGRESQL__PASSWORD=${AUTHENTIK_PG_PASS} Environment=AUTHENTIK_POSTGRESQL__PASSWORD=${AUTHENTIK_PG_PASS}
Environment=AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} Environment=AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY}
PublishPort=127.0.0.1:9000:9000 PublishPort=127.0.0.1:9000:9000
HealthCmd=python -c "import urllib.request;urllib.request.urlopen('http://localhost:9000/-/health/')" # Probe must contain no quotes: this host's quadlet v1 generator space-splits
HealthInterval=30s # HealthCmd into the healthcheck argv array, and quoted probes arrive mangled
HealthTimeout=10s # (verified live 2026-08-28). `python /manage.py check --database default`
HealthRetries=5 # exits nonzero iff Django (incl. the DB connection) cannot serve.
HealthStartPeriod=30s HealthCmd=python /manage.py check --database default
[Service] [Service]
EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env