Configuration reference¶
This document provides the technical reference for configuration options, Juju actions, and resource sizing requirements across the Charmed Authentik operator suite.
Juju configuration options¶
Authentik Server (authentik-server)¶
Option |
Type |
Default |
Environment Variable |
Description |
|---|---|---|---|---|
|
string |
|
|
Log level. Values: |
|
string |
empty |
|
HTTP proxy URL for outbound requests. |
|
string |
empty |
|
HTTPS proxy URL for outbound requests. |
|
string |
empty |
|
Comma-separated list of domains to bypass proxying. |
|
string |
unset |
Kubernetes limit |
Kubernetes CPU limit (e.g. |
|
string |
unset |
Kubernetes limit |
Kubernetes memory limit (e.g. |
|
int |
|
|
Number of gunicorn worker processes for the web server. |
|
boolean |
|
|
Set to |
|
boolean |
|
|
Proactively tests and discards stale pooled database connections. |
|
int |
|
|
Maximum database connection lifetime in seconds. |
|
boolean |
|
None (shared via relation) |
Declares that the database endpoint is a PgBouncer in transaction pooling mode. |
Authentik Worker (authentik-worker)¶
Option |
Type |
Default |
Environment Variable |
Description |
|---|---|---|---|---|
|
string |
|
|
Log level. Values: |
|
string |
empty |
|
HTTP proxy URL (injected when non-empty). |
|
string |
empty |
|
HTTPS proxy URL (injected when non-empty). |
|
string |
empty |
|
Proxy bypass domain list. |
|
string |
unset |
Kubernetes limit |
Kubernetes CPU limit. Cannot be lower than the 100m request floor. |
|
string |
unset |
Kubernetes limit |
Kubernetes memory limit. Cannot be lower than the 200Mi request floor. |
|
int |
|
|
Number of Dramatiq worker processes started in the container. |
|
int |
|
|
Number of execution threads running per worker process. |
|
int |
|
|
Maximum retry attempts before a failing task is abandoned. |
|
int |
|
|
Default execution timeout for background tasks in seconds. |
|
int |
|
|
Retention period in days for completed task metadata. |
|
int |
|
|
Worker listener polling timeout in seconds. Set to 5-10s in pooled environments. |
|
boolean |
|
|
Set to |
|
boolean |
|
|
Proactively tests pooled connections. |
|
int |
|
|
Connection recycling age in seconds. |
Authentik LDAP Outpost (authentik-ldap-outpost)¶
Option |
Type |
Default |
Applied To |
Description |
|---|---|---|---|---|
|
string |
|
Container env var |
Log level. Values: |
|
string |
empty |
Container env var |
HTTP proxy URL. |
|
string |
empty |
Container env var |
HTTPS proxy URL. |
|
string |
empty |
Container env var |
Proxy bypass list. |
|
string |
unset |
Kubernetes limit |
Kubernetes CPU limit. Cannot be lower than the 100m request floor. |
|
string |
unset |
Kubernetes limit |
Kubernetes memory limit. Cannot be lower than the 200Mi request floor. |
|
string |
|
Authentik LDAP Provider |
Base DN for directory queries. Configured directly on the Authentik provider object. |
|
string |
|
Authentik LDAP Provider |
LDAP search query mode: |
|
string |
|
Authentik LDAP Provider |
LDAP authentication bind mode: |
|
boolean |
|
Authentik LDAP Provider |
Enables password-appending MFA support on the provider. |
|
string |
empty |
Traefik Router |
Domain name for TLS SNI multiplexing on Port 636. |
|
boolean |
|
Traefik Entrypoint |
Exposes cleartext LDAP on Port 389 via Traefik. |
Juju actions¶
Actions are available on the authentik-server charm only:
get-bootstrap-admin-credentials¶
Retrieves initial administrator credentials stored in Juju secrets.
Parameters: None
Outputs: -
username: Alwaysakadmin-password: Initial generated bootstrap password -bootstrap-token: Initial cluster-wide API token -warning: Stale credential warnings
create-recovery-link¶
Generates a temporary, single-use administrative recovery link bypassing standard login stages.
Parameters: -
username(string, default:akadmin): Account to recover. -duration(integer, default:10): Link validity in minutes.Outputs: -
url: Full recovery URL -path: Relative recovery flow path -status: Link generation status
Resource requirements and sizing¶
Resource requests are fixed minimum floors hardcoded in the charms and cannot be changed by configuration. A cpu or memory limit set below its request floor is not rejected — it is silently raised to the floor when the patch is applied.
Component |
Hardcoded Request Floor |
Default Limit |
Scaling Guidance |
|---|---|---|---|
``authentik-server`` |
500m CPU / 1 GiB RAM |
Unset (no limit) |
1–3 units depending on web/API traffic |
``authentik-worker`` |
100m CPU / 200 MiB RAM |
Unset (no limit) |
1–2 units depending on background task volume |
``authentik-ldap-outpost`` |
100m CPU / 200 MiB RAM |
Unset (no limit) |
CPU scales with LDAP query and bind volume |
Note
Under LDAP-dominated traffic loads, the LDAP Outpost requires substantial CPU headroom. Load testing indicates outpost CPU consumption can peak above 1000m during intensive search and bind operations, so setting restrictive CPU limits on the outpost container is not recommended.