feat(argocd): wire Authentik OIDC + local rock/cicd accounts + RBAC — adds oidc.config (homelab-admins->admin SSO), url, accounts.rock (login+apiKey) and accounts.cicd (apiKey for CD pipeline token), all role:admin

This commit is contained in:
Story Crater Bot
2026-08-18 15:08:04 -07:00
parent 2f6698edbe
commit 78d2c18a3c
+28 -1
View File
@@ -131,12 +131,39 @@ configs:
application.instanceLabelKey: argocd.argoproj.io/instance
# Let every kustomize build run the ksops exec generator.
kustomize.buildOptions: --enable-alpha-plugins --enable-exec
# External URL — required so OIDC redirect URIs are built correctly.
url: https://argocd.riotpiao.com
# Local accounts (in addition to Authentik SSO):
# rock — human admin; can log in with a password AND issue API tokens.
# cicd — automation-only; apiKey (token) for the CD pipeline, no UI login.
accounts.rock: apiKey,login
accounts.cicd: apiKey
# Authentik OIDC. clientSecret pulled from the argocd `oidc-secret` Secret
# (created by authentik-provision). The groups claim drives RBAC below.
oidc.config: |
name: Authentik
issuer: https://authentik.riotpiao.com/application/o/argocd/
clientID: argocd
clientSecret: $oidc-secret:client-secret
requestedScopes:
- openid
- profile
- email
- groups
requestedIDTokenClaims:
groups:
essential: true
params:
server.insecure: false
# RBAC (allow admin full access)
# RBAC. local `admin` + `rock` + the `cicd` pipeline account all get role:admin;
# the Authentik `homelab-admins` group (rock is a member) maps to admin so SSO
# logins are admin too.
rbac:
policy.default: role:readonly
policy.csv: |
g, admin, role:admin
g, rock, role:admin
g, cicd, role:admin
g, homelab-admins, role:admin