Skip to content

Authentication settings

Every setting below is read once at startup and requires a restart to change. Built-in defaults are overridden by nonempty environment values. For the first Pitot alpha, unset PITOT_ variables accept FANOUT_ equivalents with a names-only deprecation warning. Explicitly empty primary variables block fallback. Unknown PITOT_ names fail startup; platform-injected service names are tolerated. Vendor credentials and endpoints keep the vendor’s documented names.

Environment variableTypeDefault
PITOT_AUTH_CODE_SECRET or PITOT_AUTH_CODE_SECRET_FILEstring · secret—
PITOT_AUTH_MODEstringlocal
PITOT_OIDC_ADMIN_GROUPSstring—
PITOT_OIDC_ALLOWED_DOMAINSstring—
PITOT_OIDC_ALLOWED_GROUPSstring—
PITOT_OIDC_AUTO_PROVISIONbooleanfalse
PITOT_OIDC_CLIENT_IDstring—
PITOT_OIDC_CLIENT_SECRET or PITOT_OIDC_CLIENT_SECRET_FILEstring · secret—
PITOT_OIDC_DEFAULT_ROLEstringviewer
PITOT_OIDC_EMAIL_CLAIMstringemail
PITOT_OIDC_EMAIL_VERIFICATIONstringrequired
PITOT_OIDC_ISSUER_URLstring—
PITOT_OIDC_OPERATOR_GROUPSstring—
PITOT_SCIM_TOKEN or PITOT_SCIM_TOKEN_FILEstring · secret—
PITOT_SELF_SIGNUPbooleanfalse
PITOT_SESSION_ABSOLUTE_TTLduration168h
PITOT_SESSION_IDLE_TTLduration12h

Signs sign-in codes and login links; needs at least 32 characters in local mode and to issue or redeem OIDC break-glass links.

Selects local sign-in or oidc; each mode validates its prerequisites.

Lists identity-provider groups mapped to admin, separated by commas.

Lists allowed email domains, separated by commas; wildcard * requires verified email.

Lists allowed identity-provider groups, separated by commas.

Creates accounts on OIDC sign-in; requires an allowed group or domain.

Identifies Pitot’s client registration; required in OIDC mode.

Authenticates Pitot’s client registration; required in OIDC mode.

Assigns viewer, operator, or admin to users without a group role mapping.

Names the claim containing the user’s email address.

Selects required verified-email claims or issuer trust; issuer trust requires an allowlist.

Selects the identity provider issuer; required in OIDC mode. Pitot starts while it is unreachable and retries discovery; a mismatched issuer fails startup.

Lists identity-provider groups mapped to operator, separated by commas.

Enables SCIM 2.0 user provisioning under /scim/v2 and turns off browser setup; requires OIDC mode and at least 32 characters.

Allows verified email addresses to create viewer accounts; requires local auth and SMTP.

Limits total session lifetime; it must be at least PITOT_SESSION_IDLE_TTL.

Expires inactive sessions; use a Go duration of at least 5m.