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:
@@ -0,0 +1,35 @@
|
||||
# Scoped operator access for paperless-admins: restart/config-edit rights on
|
||||
# just this service's own resources, nothing CNPG-managed (paperless-db-*)
|
||||
# or provisioning-managed (paperless-oidc, paperless-minio-creds). Inert
|
||||
# until kube-apiserver's OIDC wiring lands (--oidc-groups-claim=groups,
|
||||
# --oidc-groups-prefix=oidc:) - subject name below assumes that prefix.
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: paperless-operator
|
||||
rules:
|
||||
- apiGroups: ["apps"]
|
||||
resources: ["deployments"]
|
||||
resourceNames: ["paperless"]
|
||||
verbs: ["get", "list", "watch", "update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["configmaps"]
|
||||
resourceNames: ["paperless-config"]
|
||||
verbs: ["get", "list", "watch", "update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
resourceNames: ["paperless-secrets"]
|
||||
verbs: ["get", "list", "watch", "update", "patch"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: paperless-admins-binding
|
||||
subjects:
|
||||
- kind: Group
|
||||
name: "oidc:paperless-admins"
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: paperless-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
Reference in New Issue
Block a user