Files
k8scd/authentik/external-secret.yaml
T
Ruben Hensen 910b792452 longhorn: log in through authentik on the Gateway
Longhorn has no users of its own; nginx guarded it with basic auth using apr1 hashes, which Envoy Gateway does not support. An Envoy Gateway SecurityPolicy now sends visitors through an authentik OIDC application that only admins may use. The client secret lives in Vault at kv/longhorn-oidc and reaches both authentik and Envoy through External Secrets.
2026-10-23 21:07:31 +02:00

156 lines
3.4 KiB
YAML

apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: authentik-secrets
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: authentik-secrets
creationPolicy: Owner
data:
- secretKey: secret_key
remoteRef:
key: kv/authentik
property: secret_key
- secretKey: bootstrap_password
remoteRef:
key: kv/authentik
property: bootstrap_password
- secretKey: bootstrap_token
remoteRef:
key: kv/authentik
property: bootstrap_token
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: authentik-postgres-credentials
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: authentik-postgres-credentials
creationPolicy: Owner
data:
- secretKey: username
remoteRef:
key: kv/authentik
property: postgres_user
- secretKey: password
remoteRef:
key: kv/authentik
property: postgres_password
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: vault-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: vault-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/vault-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: stalwart-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: stalwart-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/stalwart-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: argocd-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: argocd-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/argocd-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: freshrss-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: freshrss-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/freshrss-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: actualbudget-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: actualbudget-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/actualbudget-oidc
property: client_secret
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: longhorn-oidc-client-secret
spec:
secretStoreRef:
name: vault-backend
kind: ClusterSecretStore
refreshInterval: 15m
target:
name: longhorn-oidc-client-secret
creationPolicy: Owner
data:
- secretKey: client_secret
remoteRef:
key: kv/longhorn-oidc
property: client_secret