Onboard repospawner UI to Authentik OIDC
Add an OAuth2/OIDC provider + application for the repospawner operator tool, fronted by oauth2-proxy, and gate it on a new akP-repospawner-admin permission group nested under akR-global-admin (mirrors the watchstate precedent).
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
# Permission group akP-repospawner-admin (name = filename). Grants admin
|
||||||
|
# access to repospawner: bound to the repospawner application, gating the UI.
|
||||||
|
application: repospawner
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# OAuth2/OIDC provider + application for repospawner (the internal repository
|
||||||
|
# provisioning admin tool, served at
|
||||||
|
# https://repospawner.k8s.syd1.au.unkin.net (cluster hostname) and
|
||||||
|
# https://repospawner.unkin.net (external hostname) in the repospawner namespace).
|
||||||
|
# An oauth2-proxy in front of the UI performs the OIDC login; access is gated on
|
||||||
|
# the user's hierarchical ak_groups claim (akP-repospawner-admin).
|
||||||
|
# client_secret is read from Vault (seeded out of band), never committed.
|
||||||
|
name: repospawner
|
||||||
|
authorization_flow: default-provider-authorization-implicit-consent
|
||||||
|
invalidation_flow: default-provider-invalidation-flow
|
||||||
|
client_type: confidential
|
||||||
|
client_id: repospawner
|
||||||
|
launch_url: https://repospawner.unkin.net/
|
||||||
|
client_secret_vault:
|
||||||
|
mount: kv
|
||||||
|
path: kubernetes/namespace/repospawner/default/oauth-credentials
|
||||||
|
scope_mappings:
|
||||||
|
- goauthentik.io/providers/oauth2/scope-openid
|
||||||
|
- goauthentik.io/providers/oauth2/scope-email
|
||||||
|
- goauthentik.io/providers/oauth2/scope-profile
|
||||||
|
redirect_uris:
|
||||||
|
- matching_mode: strict
|
||||||
|
url: https://repospawner.k8s.syd1.au.unkin.net/oauth2/callback
|
||||||
|
- matching_mode: strict
|
||||||
|
url: https://repospawner.unkin.net/oauth2/callback
|
||||||
@@ -8,6 +8,7 @@ permissions:
|
|||||||
- akP-traefik-admin
|
- akP-traefik-admin
|
||||||
- akP-logviewer-admin
|
- akP-logviewer-admin
|
||||||
- akP-watchstate-admin
|
- akP-watchstate-admin
|
||||||
|
- akP-repospawner-admin
|
||||||
# arrstack has no admin tier (it is a proxy front door); grant global admins
|
# arrstack has no admin tier (it is a proxy front door); grant global admins
|
||||||
# the front door plus every per-app entitlement so they reach all media apps.
|
# the front door plus every per-app entitlement so they reach all media apps.
|
||||||
- akP-arrstack-user
|
- akP-arrstack-user
|
||||||
|
|||||||
Reference in New Issue
Block a user