benschubert.infrastructure.auth role – Setup an authentication server in podman, using Authentik
Note
This role is part of the benschubert.infrastructure collection (version 0.0.1).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it use: ansible-galaxy collection install benschubert.infrastructure
.
To use it in a playbook, specify: benschubert.infrastructure.auth
.
Entry point application
– Setup an application and provider to protect an application via proxy
Synopsis
This role creates an application and a proxy provider in order to protect an application via Authentik.
Parameters
Parameter |
Comments |
---|---|
A list of groups to restrict the application to. Users not in any of the specified groups won’t be able to see or login to the application.
|
|
The human readable name for the application as registered in Authentik |
|
The unique identifier for the application in Authentik |
|
The hostname at which the Authentik instance is reachable |
|
The token to use to connect to Authentik |
|
The group to which to add the application on the Authentik dashboard |
|
The URL at which to find the icon for the application, to be displayed on the Authentik dashboard |
|
The path on disk to a custom certificate to validate the TLS certificates if they are not available in the root certificate authorities |
|
The port at which the service is exposed via the ingress. Default: |
|
Whether the TLS certificate to access Authentik should be validated or not Choices:
|
|
The description to show on the dashboard about the application |
|
The configuration for the provider if it is using OAuth2 Mutually exclusive with |
|
The list of valid URIs where Authentik can redirect after login Each entry must be a dict of {url: <url>, matching_mode: “strict” | “regex”} |
|
The scopes allowed for the OAuth2 application |
|
The mode for the `sub` oauth2 entry Choices:
|
|
The configuration for the provider if it is using the proxy mode Mutually exclusive with |
|
The external facing hostname for the application to register |
Entry point main
– Setup an authentication server in podman, using Authentik
Synopsis
This sets up an Authentik webserver to act as an authentication and SSO server used by the rest of the services in this collection.
Additionally, it will setup a PostgreSQL database and a Redis instance for it.
Parameters
Parameter |
Comments |
---|---|
The title to show users when they are trying to login on Authentik Default: |
|
Name of the file to use as a background for Authentik when users login |
|
The title of the brand to use for Authentik. This is mainly shown on the website’s title. Default: |
|
The directory in which the configuration files for Authentik will be stored |
|
configuration to allow Authentik to send emails when needed |
|
The email address authentik will send from In order to change the display name, use |
|
The email provider host |
|
The password to authenticate with the email provider |
|
The port for the SMTP service to send emails to |
|
Whether to use SSL to connect to the email provider Choices:
|
|
Whether to use TLS to connect to the email provider Choices:
|
|
The username to authenticate with the email provider |
|
The hostname under which Authentik should be reachable |
|
Name of the SVG file to use as an icon for Authentik on login screen |
|
The container image path and tag to use for Authentik Default: |
|
Secret key used for cookie signing and unique user IDs, don’t change this after the first install. |
|
The password for the super admin that Authentik creates at bootstrap Only required for the first run. |
|
The value of the token to create for the super admin at bootstrap This is then used to connect to Authentik |
|
The container image path and tag to use for Alloy Default: |
|
The path on disk where to store the monitoring’s agent configuration files |
|
The path on disk where to store the monitoring’s agent data |
|
A group name to which to add the role account that is created for monitoring Authentik. This is useful if you want to restrict apps per user, so you can have those bots publish their metrics correctly. |
|
The path on disk where the PostgreSQL instance should store its data |
|
The container image path and tag to use for Postgres Default: |
|
The password used to connect to PostgreSQL database |
|
The path on disk where the Redis instance should store its configurations |
|
The path on disk where the Redis instance should store its data |
|
The container image path and tag to use for Redis Default: |
|
The password to allow the metric gathering agent to connect to Redis |
|
The password that Authentik will use to connect to Redis This is also used to configure the Redis instance |
|
A list of additional podman networks that need to be attached to the Authentik worker pod. This is useful if you want to configure a SMTP gateway for sending emails via Authentik. For example, this would allow validating and resetting emails. Default: |
|
The path on disk to a custom certificate to validate the TLS certificates if they are not available in the root certificate authorities If set, this will be used whenever contacting the Authentik server |
|
The port at which the service is exposed via the ingress, in order to be able to make API calls to the service Default: |
|
The path to where the Grafana configuration is kept This is used to install dashboards for viewing metrics |
|
A warning that this role will add to the top of each file it creates so users know it is managed by an automated process. |