Merge pull request 'add arrstack oauth app + per-app access groups' (#18) from benvin/arrstack-oauth into main
ci/woodpecker/push/apply Pipeline was successful
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #18
This commit was merged in pull request #18.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# Permission group akP-arrstack-prowlarr (name = filename). Per-app entitlement:
|
||||
# NOT bound to any application (no `application` field), so it does not gate OIDC.
|
||||
# It exists purely to appear in the user's hierarchical `ak_groups` claim, which
|
||||
# arrproxy reads (via oauth2-proxy X-Auth-Request-Groups) to decide whether to
|
||||
# mint a token allowing the prowlarr backend.
|
||||
attributes: {}
|
||||
@@ -0,0 +1,6 @@
|
||||
# Permission group akP-arrstack-radarr (name = filename). Per-app entitlement:
|
||||
# NOT bound to any application (no `application` field), so it does not gate OIDC.
|
||||
# It exists purely to appear in the user's hierarchical `ak_groups` claim, which
|
||||
# arrproxy reads (via oauth2-proxy X-Auth-Request-Groups) to decide whether to
|
||||
# mint a token allowing the radarr backend.
|
||||
attributes: {}
|
||||
@@ -0,0 +1,6 @@
|
||||
# Permission group akP-arrstack-sonarr (name = filename). Per-app entitlement:
|
||||
# NOT bound to any application (no `application` field), so it does not gate OIDC.
|
||||
# It exists purely to appear in the user's hierarchical `ak_groups` claim, which
|
||||
# arrproxy reads (via oauth2-proxy X-Auth-Request-Groups) to decide whether to
|
||||
# mint a token allowing the sonarr backend.
|
||||
attributes: {}
|
||||
@@ -0,0 +1,4 @@
|
||||
# Permission group akP-arrstack-user (name = filename). Front-door access to the
|
||||
# arrstack application: bound to the arrstack oauth2 app, so only members of this
|
||||
# group (or any role that nests it) can complete OIDC to the front door.
|
||||
application: arrstack
|
||||
@@ -0,0 +1,21 @@
|
||||
# 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
|
||||
@@ -0,0 +1,10 @@
|
||||
# Role akR-arrstack-user (name = filename): full media access. Nests the
|
||||
# arrstack front-door permission plus every per-app entitlement, so a member can
|
||||
# log in at the front door and arrproxy will allow sonarr, radarr and prowlarr.
|
||||
# For narrower access, assign the individual akP-arrstack-<app> permission groups
|
||||
# (together with akP-arrstack-user for the door) to a user directly instead.
|
||||
permissions:
|
||||
- akP-arrstack-user
|
||||
- akP-arrstack-sonarr
|
||||
- akP-arrstack-radarr
|
||||
- akP-arrstack-prowlarr
|
||||
@@ -4,3 +4,9 @@ permissions:
|
||||
- akP-argocd-admin
|
||||
- akP-rancher-admin
|
||||
- akP-litellm-admin
|
||||
# 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.
|
||||
- akP-arrstack-user
|
||||
- akP-arrstack-sonarr
|
||||
- akP-arrstack-radarr
|
||||
- akP-arrstack-prowlarr
|
||||
|
||||
Reference in New Issue
Block a user