add authentik deployment
This commit is contained in:
8
apps/authentik/kustomization.yaml
Normal file
8
apps/authentik/kustomization.yaml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
resources:
|
||||||
|
- namespace.yaml
|
||||||
|
- postgres-volume.yaml
|
||||||
|
- postgres-cluster.yaml
|
||||||
|
- secret.yaml
|
||||||
|
- release.yaml
|
||||||
4
apps/authentik/namespace.yaml
Normal file
4
apps/authentik/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: authentik
|
||||||
23
apps/authentik/postgres-cluster.yaml
Normal file
23
apps/authentik/postgres-cluster.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: authentik-postgresql-cluster-lvmhdd
|
||||||
|
namespace: authentik
|
||||||
|
spec:
|
||||||
|
instances: 1
|
||||||
|
|
||||||
|
imageName: ghcr.io/cloudnative-pg/postgresql:17.4
|
||||||
|
|
||||||
|
bootstrap:
|
||||||
|
initdb:
|
||||||
|
database: authentik
|
||||||
|
owner: authentik
|
||||||
|
|
||||||
|
storage:
|
||||||
|
pvcTemplate:
|
||||||
|
storageClassName: hdd-lvmpv
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
volumeName: authentik-postgresql-cluster-lvmhdd-1
|
||||||
33
apps/authentik/postgres-volume.yaml
Normal file
33
apps/authentik/postgres-volume.yaml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: local.openebs.io/v1alpha1
|
||||||
|
kind: LVMVolume
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
kubernetes.io/nodename: anapistula-delrosalae
|
||||||
|
name: authentik-postgresql-cluster-lvmhdd-1
|
||||||
|
namespace: openebs
|
||||||
|
spec:
|
||||||
|
capacity: 10Gi
|
||||||
|
ownerNodeID: anapistula-delrosalae
|
||||||
|
shared: "yes"
|
||||||
|
thinProvision: "no"
|
||||||
|
vgPattern: ^openebs-hdd$
|
||||||
|
volGroup: openebs-hdd
|
||||||
|
---
|
||||||
|
kind: PersistentVolume
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: authentik-postgresql-cluster-lvmhdd-1
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 10Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
persistentVolumeReclaimPolicy: Retain
|
||||||
|
storageClassName: hdd-lvmpv
|
||||||
|
volumeMode: Filesystem
|
||||||
|
csi:
|
||||||
|
driver: local.csi.openebs.io
|
||||||
|
fsType: btrfs
|
||||||
|
volumeHandle: authentik-postgresql-cluster-lvmhdd-1
|
||||||
|
---
|
||||||
|
# PVCs are dynamically created by the Postgres operator
|
||||||
61
apps/authentik/release.yaml
Normal file
61
apps/authentik/release.yaml
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: authentik
|
||||||
|
namespace: authentik
|
||||||
|
spec:
|
||||||
|
interval: 24h
|
||||||
|
url: https://charts.goauthentik.io
|
||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: authentik
|
||||||
|
namespace: authentik
|
||||||
|
spec:
|
||||||
|
interval: 30m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: authentik
|
||||||
|
version: 2026.2.1
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: authentik
|
||||||
|
namespace: authentik
|
||||||
|
interval: 12h
|
||||||
|
values:
|
||||||
|
authentik:
|
||||||
|
postgresql:
|
||||||
|
host: authentik-postgresql-cluster-lvmhdd-rw
|
||||||
|
name: authentik
|
||||||
|
user: authentik
|
||||||
|
|
||||||
|
global:
|
||||||
|
env:
|
||||||
|
- name: AUTHENTIK_SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: authentik-secret
|
||||||
|
key: secret_key
|
||||||
|
- name: AUTHENTIK_POSTGRESQL__PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: authentik-postgresql-cluster-lvmhdd-app
|
||||||
|
key: password
|
||||||
|
|
||||||
|
postgresql:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
server:
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
ingressClassName: nginx-ingress
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/cluster-issuer: letsencrypt
|
||||||
|
hosts:
|
||||||
|
- authentik.lumpiasty.xyz
|
||||||
|
tls:
|
||||||
|
- secretName: authentik-ingress
|
||||||
|
hosts:
|
||||||
|
- authentik.lumpiasty.xyz
|
||||||
38
apps/authentik/secret.yaml
Normal file
38
apps/authentik/secret.yaml
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: authentik-secret
|
||||||
|
namespace: authentik
|
||||||
|
---
|
||||||
|
apiVersion: secrets.hashicorp.com/v1beta1
|
||||||
|
kind: VaultAuth
|
||||||
|
metadata:
|
||||||
|
name: authentik
|
||||||
|
namespace: authentik
|
||||||
|
spec:
|
||||||
|
method: kubernetes
|
||||||
|
mount: kubernetes
|
||||||
|
kubernetes:
|
||||||
|
role: authentik
|
||||||
|
serviceAccount: authentik-secret
|
||||||
|
---
|
||||||
|
apiVersion: secrets.hashicorp.com/v1beta1
|
||||||
|
kind: VaultStaticSecret
|
||||||
|
metadata:
|
||||||
|
name: authentik-secret
|
||||||
|
namespace: authentik
|
||||||
|
spec:
|
||||||
|
type: kv-v2
|
||||||
|
|
||||||
|
mount: secret
|
||||||
|
path: authentik
|
||||||
|
|
||||||
|
destination:
|
||||||
|
create: true
|
||||||
|
name: authentik-secret
|
||||||
|
type: Opaque
|
||||||
|
transformation:
|
||||||
|
excludeRaw: true
|
||||||
|
|
||||||
|
vaultAuthRef: authentik
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
|
- authentik
|
||||||
- gitea
|
- gitea
|
||||||
- renovate
|
- renovate
|
||||||
- librechat
|
- librechat
|
||||||
|
|||||||
Reference in New Issue
Block a user