mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-09-17 10:22:54 +02:00
73 lines
2.3 KiB
YAML
73 lines
2.3 KiB
YAML
apiVersion: external-secrets.io/v1beta1
|
|
kind: ExternalSecret
|
|
metadata:
|
|
name: vault-oidc-config
|
|
spec:
|
|
secretStoreRef:
|
|
name: vault-backend
|
|
kind: ClusterSecretStore
|
|
refreshInterval: 15m
|
|
target:
|
|
name: vault-oidc-config
|
|
creationPolicy: Owner
|
|
data:
|
|
- secretKey: client_secret
|
|
remoteRef:
|
|
key: kv/vault-oidc
|
|
property: client_secret
|
|
- secretKey: admin_token
|
|
remoteRef:
|
|
key: kv/vault-oidc
|
|
property: admin_token
|
|
---
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
name: vault-configure-oidc
|
|
annotations:
|
|
argocd.argoproj.io/hook: PostSync
|
|
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
|
|
spec:
|
|
backoffLimit: 3
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: configure
|
|
image: hashicorp/vault:1.15
|
|
env:
|
|
- name: VAULT_ADDR
|
|
value: "http://vault-active.vault.svc:8200"
|
|
- name: VAULT_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: vault-oidc-config
|
|
key: admin_token
|
|
- name: OIDC_CLIENT_SECRET
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: vault-oidc-config
|
|
key: client_secret
|
|
command: ["/bin/sh", "-c"]
|
|
args:
|
|
- |
|
|
vault auth enable oidc 2>/dev/null || true
|
|
vault auth tune -listing_visibility=unauth oidc/
|
|
vault policy write admin - <<'POLICY'
|
|
path "*" {
|
|
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
|
|
}
|
|
POLICY
|
|
vault write auth/oidc/config \
|
|
oidc_discovery_url="https://authentik.rubenhensen.nl/application/o/vault/" \
|
|
oidc_client_id="vault" \
|
|
oidc_client_secret="$OIDC_CLIENT_SECRET" \
|
|
default_role="default"
|
|
vault write auth/oidc/role/default \
|
|
allowed_redirect_uris="https://vault.rubenhensen.nl/ui/vault/auth/oidc/oidc/callback" \
|
|
allowed_redirect_uris="http://localhost:8250/oidc/callback" \
|
|
user_claim="preferred_username" \
|
|
oidc_scopes="openid,profile,email" \
|
|
groups_claim="groups" \
|
|
policies="default,admin"
|
|
restartPolicy: OnFailure
|