Fix mediamark Vault secret path and permission group name
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/plan Pipeline was successful

The terraform-authentik runner's Vault policy only grants read on
kv/data/kubernetes/namespace/+/default/oauth-credentials (literal trailing
filename), so the arrstack/default/mediamark-oauth-credentials path 403s at
plan time and reddens CI. mediamark deploys in its own `mediamark` namespace
(watchstate model), so point the data source at
kubernetes/namespace/mediamark/default/oauth-credentials, which the policy
covers. Hostnames are unchanged.

Rename the permission group to akP-mediamark-user to match the peer tier-suffix
convention (akP-watchstate-admin, akP-arrstack-user). The group name is derived
from the filename in config/config.hcl, so update the akR-media-adult
reference too.
This commit is contained in:
2026-08-29 21:13:41 +10:00
parent 72e65d7810
commit 1485962cf5
4 changed files with 12 additions and 10 deletions
@@ -0,0 +1,4 @@
# Permission group akP-mediamark-user (name = filename). Grants user access to
# mediamark: bound to the mediamark application, gating the kids-content
# marking UI.
application: mediamark
-3
View File
@@ -1,3 +0,0 @@
# Permission group akP-mediamark (name = filename). Grants access to mediamark:
# bound to the mediamark application, gating the kids-content marking UI.
application: mediamark
+5 -4
View File
@@ -1,9 +1,10 @@
# OAuth2/OIDC provider + application for mediamark (the Go web UI for marking
# media as kids content, served at https://mediamark.unkin.net (external
# hostname) and https://mediamark.k8s.syd1.au.unkin.net (cluster hostname) in
# the arrstack namespace). An oauth2-proxy in front of the UI performs the OIDC
# login with a relative redirect, so both hostnames must be registered; access
# is gated on the user's hierarchical ak_groups claim (akP-mediamark).
# its own mediamark namespace). An oauth2-proxy in front of the UI performs the
# OIDC login with a relative redirect, so both hostnames must be registered;
# access is gated on the user's hierarchical ak_groups claim
# (akP-mediamark-user).
# client_secret is read from Vault (seeded out of band), never committed.
name: mediamark
authorization_flow: default-provider-authorization-implicit-consent
@@ -13,7 +14,7 @@ client_id: mediamark
launch_url: https://mediamark.unkin.net/
client_secret_vault:
mount: kv
path: kubernetes/namespace/arrstack/default/mediamark-oauth-credentials
path: kubernetes/namespace/mediamark/default/oauth-credentials
scope_mappings:
- goauthentik.io/providers/oauth2/scope-openid
- goauthentik.io/providers/oauth2/scope-email
+3 -3
View File
@@ -3,9 +3,9 @@
# per-service entitlements. Membership propagates child -> parent, so a member
# appears in both permission groups in the hierarchical `ak_groups` claim and the
# media proxy routes/authorizes them for fafflix and cheeztv. Adults also curate
# which titles are kids content, so the role nests akP-mediamark for access to
# the mediamark UI.
# which titles are kids content, so the role nests akP-mediamark-user for access
# to the mediamark UI.
permissions:
- akP-media-fafflix
- akP-media-cheeztv
- akP-mediamark
- akP-mediamark-user