init
This commit is contained in:
21
clusters/cl01tl/platform/authentik/Chart.yaml
Normal file
21
clusters/cl01tl/platform/authentik/Chart.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: v2
|
||||
name: authentik
|
||||
version: 1.0.0
|
||||
sources:
|
||||
- https://github.com/goauthentik/authentik
|
||||
- https://github.com/goauthentik/helm
|
||||
- https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template
|
||||
- https://github.com/alexlebens/helm-charts/charts/postgres-cluster
|
||||
dependencies:
|
||||
- name: authentik
|
||||
version: 2024.4.2
|
||||
repository: https://charts.goauthentik.io/
|
||||
- name: app-template
|
||||
alias: cloudflared
|
||||
repository: https://bjw-s.github.io/helm-charts/
|
||||
version: 3.1.0
|
||||
- name: postgres-cluster
|
||||
alias: postgres-16-cluster
|
||||
version: 3.0.0
|
||||
repository: http://alexlebens.github.io/helm-charts
|
||||
appVersion: "2024.4.2"
|
60
clusters/cl01tl/platform/authentik/templates/config-map.yaml
Normal file
60
clusters/cl01tl/platform/authentik/templates/config-map.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: authentik-custom-css
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: web
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
data:
|
||||
custom.css: |
|
||||
/* Change sign button color */
|
||||
.pf-c-button.pf-m-primary {
|
||||
color: black;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/* Remove background */
|
||||
.pf-c-login__main {
|
||||
background-color: rgba(3, 3, 3, 0.16);
|
||||
}
|
||||
|
||||
/* Remove specific height */
|
||||
.pf-c-brand {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Center text */
|
||||
.pf-c-title {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* Match text field to login button */
|
||||
.pf-c-form-control {
|
||||
border-radius: 3px;
|
||||
background-color: white;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* Force border color */
|
||||
.pf-c-form-control {
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
/* Use default cursor on this div */
|
||||
.pf-c-form__label {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* Hide required asterik */
|
||||
.pf-c-form__label-required {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Change link color to white */
|
||||
.a {
|
||||
color: white;
|
||||
}
|
@@ -0,0 +1,80 @@
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: authentik-key-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: authentik-key-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: web
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault
|
||||
data:
|
||||
- secretKey: key
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /authentik/key
|
||||
metadataPolicy: None
|
||||
property: key
|
||||
|
||||
---
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: authentik-cloudflared-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: authentik-cloudflared-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: web
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault
|
||||
data:
|
||||
- secretKey: cf-tunnel-token
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /cloudflare/tunnels/authentik
|
||||
metadataPolicy: None
|
||||
property: token
|
||||
|
||||
---
|
||||
apiVersion: external-secrets.io/v1beta1
|
||||
kind: ExternalSecret
|
||||
metadata:
|
||||
name: authentik-postgresql-16-cluster-backup-secret
|
||||
namespace: {{ .Release.Namespace }}
|
||||
labels:
|
||||
app.kubernetes.io/name: authentik-postgresql-16-cluster-backup-secret
|
||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: database
|
||||
app.kubernetes.io/part-of: {{ .Release.Name }}
|
||||
spec:
|
||||
secretStoreRef:
|
||||
kind: ClusterSecretStore
|
||||
name: vault
|
||||
data:
|
||||
- secretKey: ACCESS_KEY_ID
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /aws/keys/cl01tl-authentik-postgresql
|
||||
metadataPolicy: None
|
||||
property: access_key
|
||||
- secretKey: ACCESS_SECRET_KEY
|
||||
remoteRef:
|
||||
conversionStrategy: Default
|
||||
decodingStrategy: None
|
||||
key: /aws/keys/cl01tl-authentik-postgresql
|
||||
metadataPolicy: None
|
||||
property: secret_key
|
118
clusters/cl01tl/platform/authentik/values.yaml
Normal file
118
clusters/cl01tl/platform/authentik/values.yaml
Normal file
@@ -0,0 +1,118 @@
|
||||
authentik:
|
||||
global:
|
||||
env:
|
||||
- name: AUTHENTIK_SECRET_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-key-secret
|
||||
key: key
|
||||
- name: AUTHENTIK_POSTGRESQL__HOST
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-postgresql-16-cluster-app
|
||||
key: host
|
||||
- name: AUTHENTIK_POSTGRESQL__NAME
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-postgresql-16-cluster-app
|
||||
key: dbname
|
||||
- name: AUTHENTIK_POSTGRESQL__USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-postgresql-16-cluster-app
|
||||
key: user
|
||||
- name: AUTHENTIK_POSTGRESQL__PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-postgresql-16-cluster-app
|
||||
key: password
|
||||
server:
|
||||
name: server
|
||||
replicas: 1
|
||||
volumes:
|
||||
- name: custom-css
|
||||
configMap:
|
||||
name: authentik-custom-css
|
||||
volumeMounts:
|
||||
- name: custom-css
|
||||
mountPath: /web/dist/custom.css
|
||||
subPath: custom.css
|
||||
metrics:
|
||||
enabled: true
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations:
|
||||
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
||||
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||
cert-manager.io/cluster-issuer: letsencrypt-issuer
|
||||
ingressClassName: traefik
|
||||
hosts:
|
||||
- auth.alexlebens.net
|
||||
- authentik.alexlebens.net
|
||||
tls:
|
||||
- secretName: authentik-secret-tls
|
||||
hosts:
|
||||
- auth.alexlebens.net
|
||||
- authentik.alexlebens.net
|
||||
worker:
|
||||
name: worker
|
||||
replicas: 1
|
||||
prometheus:
|
||||
rules:
|
||||
enabled: true
|
||||
postgresql:
|
||||
enabled: false
|
||||
redis:
|
||||
enabled: true
|
||||
cloudflared:
|
||||
global:
|
||||
nameOverride: cloudflared
|
||||
controllers:
|
||||
main:
|
||||
type: deployment
|
||||
strategy: Recreate
|
||||
containers:
|
||||
main:
|
||||
image:
|
||||
repository: cloudflare/cloudflared
|
||||
tag: "2024.5.0"
|
||||
pullPolicy: IfNotPresent
|
||||
args:
|
||||
- tunnel
|
||||
- --no-autoupdate
|
||||
- run
|
||||
- --token
|
||||
- $(CF_MANAGED_TUNNEL_TOKEN)
|
||||
env:
|
||||
- name: CF_MANAGED_TUNNEL_TOKEN
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: authentik-cloudflared-secret
|
||||
key: cf-tunnel-token
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 128Mi
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 64Mi
|
||||
postgres-16-cluster:
|
||||
mode: standalone
|
||||
cluster:
|
||||
walStorage:
|
||||
storageClass: local-path
|
||||
storage:
|
||||
storageClass: local-path
|
||||
monitoring:
|
||||
enabled: true
|
||||
prometheusRule:
|
||||
enabled: false
|
||||
backup:
|
||||
enabled: true
|
||||
endpointURL: https://s3.us-east-2.amazonaws.com
|
||||
destinationPath: s3://cl01tl-postgresql-backups/authentik
|
||||
endpointCredentials: authentik-postgresql-16-cluster-backup-secret
|
||||
backupIndex: 1
|
||||
retentionPolicy: 14d
|
Reference in New Issue
Block a user