my-homelab-configs/apps/access-control/readonly-rbac.yaml

109 lines
1.8 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: homelab-access
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: homelab-readonly
namespace: homelab-access
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: homelab-readonly
rules:
- apiGroups:
- ""
resources:
- componentstatuses
- configmaps
- endpoints
- events
- namespaces
- nodes
- persistentvolumeclaims
- persistentvolumes
- pods
- pods/log
- replicationcontrollers
- resourcequotas
- services
verbs:
- get
- list
- watch
- apiGroups:
- apps
resources:
- daemonsets
- deployments
- replicasets
- statefulsets
verbs:
- get
- list
- watch
- apiGroups:
- batch
resources:
- cronjobs
- jobs
verbs:
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingresses
- networkpolicies
verbs:
- get
- list
- watch
- apiGroups:
- monitoring.coreos.com
resources:
- prometheusrules
- servicemonitors
- podmonitors
verbs:
- get
- list
- watch
- apiGroups:
- argoproj.io
resources:
- applications
- appprojects
verbs:
- get
- list
- watch
- apiGroups:
- kyverno.io
- policies.kyverno.io
resources:
- clusterpolicies
- policies
- imagevalidatingpolicies
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: homelab-readonly
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: homelab-readonly
subjects:
- kind: ServiceAccount
name: homelab-readonly
namespace: homelab-access