diff --git a/dankclaw/anubis/quadlet/anubis.container b/dankclaw/anubis/quadlet/anubis.container index ad5f99b..761f525 100644 --- a/dankclaw/anubis/quadlet/anubis.container +++ b/dankclaw/anubis/quadlet/anubis.container @@ -42,11 +42,13 @@ Network=dankclaw_default Environment=TARGET=http://caddy:8016 Environment=POLICY_FNAME=/policy/policy.json Volume=/home/dank/serverAppConfigs/dankclaw/anubis/policy.json:/policy/policy.json:ro -# The image ships no HEALTHCHECK (distroless: no shell, binary not at -# /app/bin), so the probe is declared here: `anubis --healthcheck` exits 0 -# when the challenge server answers on :8923. Exec form — quadlet passes it -# to podman without a shell, which the distroless image requires. -HealthCmd=anubis --healthcheck +# The image ships no HEALTHCHECK (distroless ko-build: entrypoint is +# /ko-app/anubis, no shell in the image), so the probe is declared here. +# JSON exec form on purpose: this quadlet generator joins HealthCmd into a +# single \x20-escaped argv element and podman then runs it as shell-form — +# which needs a shell the distroless image does not have. A JSON array is +# passed through verbatim and executes /ko-app/anubis directly. +HealthCmd=["/ko-app/anubis","--healthcheck"] HealthInterval=15s HealthTimeout=5s HealthRetries=3