1
0
Fork 0
Commit Graph

6 Commits (721edd0d59ba078f5672fdfa3169281daab560d3)

Author SHA1 Message Date
Dustin 721edd0d59 authelia: Use ConfigMap name suffix hash
Without `disableNameSuffixHash` enabled, Kustomize will create a unique
ConfigMap any time the contents of source file change.  It will also
update any Deployment, StatefulSet, etc resources to point to the new
ConfigMap.  This has the effect of restarting any pods that refer to the
ConfigMap whenever its contents change.

I had avoided using this initially because Kustomize does *not* delete
previous ConfigMap resources whenever it creates a new one.  Now that we
have Argo CD, though, this is not an issue, as it will clean up the old
resources whenever it synchronizes.
2023-10-14 10:47:23 -05:00
Dustin 7bdf1f86b9 authelia: Set instance label for Argo CD
Argo CD wants every resource managed by an application to have that
application's name as the value of the `app.kubernetes.io/instance`
label.
2023-10-14 10:47:07 -05:00
Dustin 63ff1bf637 authelia: Migrate to Sealed Secrets 2023-10-14 10:35:54 -05:00
Dustin 24465dc7da authelia: Set up OIDC for k8s API server
Enabling OpenID Connect authentication for the Kubernetes API server
will allow clients, particularly `kubectl` to log in without needing
TLS certificates and private keys.
2023-04-22 21:37:23 -05:00
Dustin 8a966a7ffb authelia: Enable OIDC provider
Authelia can act as an Open ID Connect identity provider.  This allows
it to provide authentication/authorization for other applications
besides those inside the Kubernetes cluster using it for Ingress
authentication.

To start with, we'll configure an OIDC client for Jenkins.
2023-01-25 10:36:22 -06:00
Dustin 42bc4ae187 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.
2023-01-13 21:33:14 -06:00