Skip to content

Chart: bundled Authelia's fatal NTP startup check crash-loops on clock skew, with no docs or config passthrough #89

Description

@dev-dull

Introduced in #86 (Authelia forward-auth).

Problem

The bundled Authelia (templates/authelia/configmap.yaml) uses the default config, which includes Authelia's NTP startup check — and that check is fatal. If the Kubernetes node clocks are skewed beyond Authelia's tolerance, the pod crash-loops with:

level=error msg="Error occurred running a startup check" error="the system clock is not synchronized accurately enough with the configured NTP server" provider=ntp
level=fatal msg="One or more providers had fatal failures performing startup checks" providers="[ntp]"

Two friction points:

  1. Opaque failure — it presents as a generic CrashLoopBackOff; you only find the cause in the logs. Nothing in the chart docs warns that node time sync is a hard requirement.
  2. No escape hatch — the config is baked into the ConfigMap template and there's no values passthrough for extra Authelia config or env, so you can't set ntp.disable_startup_check: true (or point ntp.address at a reachable server) without forking the chart.

Context

In my case this correctly surfaced a real infra problem — my nodes had no NTP service running at all and had drifted ~3 minutes — so I fixed node time sync rather than disabling the check. But the fatal-with-no-override behavior makes a common misconfig hard to diagnose.

Suggested fix (either/both)

  • Docs: note in the README that the bundled Authelia requires node clocks to be NTP-synced (its startup check is fatal), with the one-line log signature above.
  • Config passthrough: expose something like auth.authelia.extraConfig (merged into configuration.yml) or auth.authelia.extraEnv, so operators can set AUTHELIA_NTP_DISABLE_STARTUP_CHECK=true / a custom NTP server when appropriate. This would also generalize to other Authelia tuning.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions