authelia: Install Authelia

Authelia is a general authentication provider that works (primarily)
by integrating with *nginx* using its subrequest mechanism.  It works
great with Kubernetes/*ingress-nginx* to provide authentication for
services running in the cluster, especially those that do not provide
their own authentication system.

Authelia needs a database to store session data.  It supports various
engines, but since we're only running a very small instance with no real
need for HA, SQLite on a Longhorn persistent volume is sufficient.

Configuration is done mostly through a YAML document, although some
secret values are stored in separate files, which are pointed to by
environment variables.
This commit is contained in:
2023-01-13 19:03:04 -06:00
parent ce0440a33c
commit 42bc4ae187
3 changed files with 201 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- authelia.yaml
configMapGenerator:
- name: authelia
namespace: authelia
files:
- configuration.yml
options:
disableNameSuffixHash: true
secretGenerator:
- name: authelia
namespace: authelia
files:
- jwt.secret
- ldap.password
- session.secret
- storage.encryption_key
options:
disableNameSuffixHash: true