Files
netbird-kubernetes-operator/helm/kubernetes-operator/templates/rbac.yaml
T
M. EssamandGitHub 3f4137a153 Fix conditional RBAC to be added on NetBird key existence (#26)
Operator checks for existence of NetBird API key to create controllers
for Service, NBResource, NBPolicy ...etc, while the Helm chart checks
for Values.ingress.enabled, this causes crashes if NetBird API Key is
provided but ingress.enabled is set to `false`.

This fixes this discrepancy by checking NetBird API key in Helm instead
of ingress enabled value.

resolves #13
2025-04-07 08:05:39 +02:00

196 lines
3.3 KiB
YAML

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ include "kubernetes-operator.fullname" . }}
labels:
{{- include "kubernetes-operator.labels" . | nindent 4 }}
rules:
- apiGroups:
- netbird.io
resources:
- nbsetupkeys
verbs:
- get
- list
- watch
- apiGroups:
- netbird.io
resources:
- nbsetupkeys/finalizers
verbs:
- update
- apiGroups:
- netbird.io
resources:
- nbsetupkeys/status
verbs:
- get
- patch
- update
{{- if or .Values.netbirdAPI.key .Values.netbirdAPI.keyFromSecret }}
- apiGroups:
- netbird.io
resources:
- nbgroups
- nbresources
- nbroutingpeers
- nbpolicies
verbs:
- get
- patch
- update
- list
- watch
- create
- delete
- apiGroups:
- netbird.io
resources:
- nbgroups/status
- nbresources/status
- nbroutingpeers/status
- nbpolicies/status
verbs:
- get
- patch
- update
- apiGroups:
- netbird.io
resources:
- nbgroups/finalizers
- nbresources/finalizers
- nbroutingpeers/finalizers
- nbpolicies/finalizers
verbs:
- update
- apiGroups:
- ""
resources:
- services
verbs:
- get
- list
- watch
- update
- patch
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- services/finalizers
verbs:
- update
- apiGroups:
- apps
resources:
- deployments
verbs:
- get
- patch
- update
- list
- watch
- create
- delete
{{- end }}
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
{{- if or (or .Values.netbirdAPI.key .Values.netbirdAPI.keyFromSecret) .Values.clusterSecretsPermissions.allowAllSecrets }}
- apiGroups:
- ""
resources:
- secrets
verbs:
- get
- list
- watch
{{- if or .Values.netbirdAPI.key .Values.netbirdAPI.keyFromSecret }}
- patch
- update
- create
- delete
{{- end }}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ include "kubernetes-operator.fullname" . }}
labels:
{{- include "kubernetes-operator.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ include "kubernetes-operator.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "kubernetes-operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ include "kubernetes-operator.fullname" . }}
labels:
{{- include "kubernetes-operator.labels" . | nindent 4 }}
rules:
- apiGroups:
- ""
resources:
- configmaps
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ include "kubernetes-operator.fullname" . }}
labels:
{{- include "kubernetes-operator.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ include "kubernetes-operator.fullname" . }}
subjects:
- kind: ServiceAccount
name: {{ include "kubernetes-operator.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}