e7c1f561f1
Add the Authentik OIDC application that fronts the arrproxy media front door at arrstack.unkin.net, plus the per-app entitlement groups arrproxy reads from the user's groups claim to decide which backends (sonarr/radarr/prowlarr) a user may reach. - config/providers_oauth2/arrstack.yaml: confidential oauth2 client client_id=arrstack, litellm-style auth/invalidation flows, client_secret from Vault kv kubernetes/namespace/arrstack/default/oauth-credentials, openid/email/profile scopes, redirect https://arrstack.unkin.net/oauth2/callback, launch https://arrstack.unkin.net/. The module always attaches the estate's hierarchical ak_groups scope mapping, so the front door emits the groups claim. - config/permissions/akP-arrstack-user.yaml: front-door gate (application: arrstack). - config/permissions/akP-arrstack-{sonarr,radarr,prowlarr}.yaml: per-app entitlements, unbound (no application) so they only surface in the ak_groups claim for arrproxy to authorize backends. - config/roles/akR-arrstack-user.yaml: full media role nesting all four. - akR-global-admin: also nests the arrstack front door + all per-app perms.
22 lines
941 B
YAML
22 lines
941 B
YAML
# OAuth2/OIDC provider + application for the arrstack front door
|
|
# (arrstack.unkin.net). An oauth2-proxy sidecar in front of the `arrproxy` Go
|
|
# service performs the OIDC login; arrproxy then derives which apps (sonarr,
|
|
# radarr, prowlarr) a user may reach from the user's group membership.
|
|
# client_secret is read from Vault (seeded out of band), never committed.
|
|
name: arrstack
|
|
authorization_flow: default-provider-authorization-implicit-consent
|
|
invalidation_flow: default-provider-invalidation-flow
|
|
client_type: confidential
|
|
client_id: arrstack
|
|
launch_url: https://arrstack.unkin.net/
|
|
client_secret_vault:
|
|
mount: kv
|
|
path: kubernetes/namespace/arrstack/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://arrstack.unkin.net/oauth2/callback
|