db5bf753b5
watchstate is an internal media watch-state sync admin tool deployed at watchstate.k8s.syd1.au.unkin.net behind oauth2-proxy (OIDC against Authentik). Add the OAuth2/OIDC provider + application mirroring the logviewer/traefik in-cluster admin pattern, gate it with the akP-watchstate-admin permission group bound to the app, and nest that permission into the akR-global-admin role so only the admin team can authorize.
23 lines
1017 B
YAML
23 lines
1017 B
YAML
# OAuth2/OIDC provider + application for watchstate (the internal media
|
|
# watch-state sync admin tool, served at
|
|
# https://watchstate.k8s.syd1.au.unkin.net in the watchstate 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-watchstate-admin).
|
|
# client_secret is read from Vault (seeded out of band), never committed.
|
|
name: watchstate
|
|
authorization_flow: default-provider-authorization-implicit-consent
|
|
invalidation_flow: default-provider-invalidation-flow
|
|
client_type: confidential
|
|
client_id: watchstate
|
|
launch_url: https://watchstate.k8s.syd1.au.unkin.net/
|
|
client_secret_vault:
|
|
mount: kv
|
|
path: kubernetes/namespace/watchstate/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://watchstate.k8s.syd1.au.unkin.net/oauth2/callback
|