From b3c08369fdf656eb6395c0630dc491b06cfec82e Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Sun, 27 Sep 2026 10:13:18 +1000 Subject: [PATCH] Add vlogs OIDC application and provider Onboard the VictoriaLogs query UI at https://vlogs.unkin.net behind oauth2-proxy, gated on akP-vlogs-admin. - add config/providers_oauth2/vlogs.yaml reading its client_secret from kv/kubernetes/namespace/logging/default/vlogs-oauth-credentials - add permission group akP-vlogs-admin bound to the vlogs application - nest akP-vlogs-admin under akR-global-admin --- config/permissions/akP-vlogs-admin.yaml | 3 +++ config/providers_oauth2/vlogs.yaml | 21 +++++++++++++++++++++ config/roles/akR-global-admin.yaml | 1 + 3 files changed, 25 insertions(+) create mode 100644 config/permissions/akP-vlogs-admin.yaml create mode 100644 config/providers_oauth2/vlogs.yaml diff --git a/config/permissions/akP-vlogs-admin.yaml b/config/permissions/akP-vlogs-admin.yaml new file mode 100644 index 0000000..16d23b6 --- /dev/null +++ b/config/permissions/akP-vlogs-admin.yaml @@ -0,0 +1,3 @@ +# Permission group akP-vlogs-admin (name = filename). Grants admin +# access to vlogs: bound to the vlogs application, gating the VictoriaLogs UI. +application: vlogs diff --git a/config/providers_oauth2/vlogs.yaml b/config/providers_oauth2/vlogs.yaml new file mode 100644 index 0000000..23e59e3 --- /dev/null +++ b/config/providers_oauth2/vlogs.yaml @@ -0,0 +1,21 @@ +# OAuth2/OIDC provider + application for vlogs (the VictoriaLogs query UI, +# served at https://vlogs.unkin.net in the logging 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-vlogs-admin). +# client_secret is read from Vault (seeded out of band), never committed. +name: vlogs +authorization_flow: default-provider-authorization-implicit-consent +invalidation_flow: default-provider-invalidation-flow +client_type: confidential +client_id: vlogs +launch_url: https://vlogs.unkin.net/ +client_secret_vault: + mount: kv + path: kubernetes/namespace/logging/default/vlogs-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://vlogs.unkin.net/oauth2/callback diff --git a/config/roles/akR-global-admin.yaml b/config/roles/akR-global-admin.yaml index 2cc41e5..d378b75 100644 --- a/config/roles/akR-global-admin.yaml +++ b/config/roles/akR-global-admin.yaml @@ -9,6 +9,7 @@ permissions: - akP-jellyfin-admin - akP-traefik-admin - akP-logviewer-admin + - akP-vlogs-admin - akP-watchstate-admin - akP-repospawner-admin - akP-vault-admin