feat: add homelab-wide Authentik RBAC model and k8s OIDC auth wiring

Adds permissions claim + per-service admin groups in Authentik, scoped
Role/RoleBinding per service, public PKCE kubernetes OAuth2 client, and
kube-apiserver OIDC extraArgs. Also fixes paperless OIDC signup permissions
via adapter override and adds CoreDNS rewrite for authentik.riotpiao.com.
This commit is contained in:
Story Crater Bot
2026-08-25 15:03:44 -07:00
parent 8b49b347b5
commit 89f01b6f2e
17 changed files with 608 additions and 11 deletions
+33
View File
@@ -0,0 +1,33 @@
# Scoped operator access for minio-admins: the tenant StatefulSet + root
# creds only - NOT the minio-operator Deployment (shared cluster-wide infra;
# editing it risks breaking MinIO for every tenant, not just this one).
# minio-oidc/sts-tls stay excluded (security-managed, not app config). Inert
# until kube-apiserver's OIDC wiring lands.
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: minio-operator-admin
namespace: storage
rules:
- apiGroups: ["apps"]
resources: ["statefulsets"]
resourceNames: ["minio-cluster-az-a"]
verbs: ["get", "list", "watch", "update", "patch"]
- apiGroups: [""]
resources: ["secrets"]
resourceNames: ["minio-creds"]
verbs: ["get", "list", "watch", "update", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: minio-admins-binding
namespace: storage
subjects:
- kind: Group
name: "oidc:minio-admins"
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: minio-operator-admin
apiGroup: rbac.authorization.k8s.io