apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: {{ include "netbird-operator.fullname" . }} labels: {{- include "netbird-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 - apiGroups: - netbird.io resources: - nbgroups - nbresources - nbroutingpeers - nbpolicies - setupkeys - groups - networkrouters - networkresources - sidecarprofiles - clusterproxies verbs: - get - patch - update - list - watch - create - delete - apiGroups: - netbird.io resources: - nbgroups/status - nbresources/status - nbroutingpeers/status - nbpolicies/status - setupkeys/status - groups/status - networkrouters/status - networkresources/status - sidecarprofiles/status - clusterproxies/status verbs: - get - patch - update - apiGroups: - netbird.io resources: - nbgroups/finalizers - nbresources/finalizers - nbroutingpeers/finalizers - nbpolicies/finalizers - setupkeys/finalizers - groups/finalizers - networkrouters/finalizers - networkresources/finalizers - sidecarprofiles/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 - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - watch - create - update - patch - delete - apiGroups: - "" resources: - pods verbs: - get - list - watch {{- if or .Values.netbirdAPI.keyFromSecret .Values.clusterSecretsPermissions.allowAllSecrets }} - apiGroups: - "" resources: - secrets verbs: - get - list - watch {{- if .Values.netbirdAPI.keyFromSecret }} - patch - update - create - delete {{- end }} {{- end }} {{- if .Values.gatewayAPI.enabled }} - apiGroups: ["gateway.networking.k8s.io"] resources: - gatewayclasses - gateways - httproutes - tcproutes verbs: - get - list - watch - update - patch - apiGroups: ["gateway.networking.k8s.io"] resources: - gatewayclasses/status - gateways/status - httproutes/status - tcproutes/status verbs: - update - patch {{- end }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: {{ include "netbird-operator.fullname" . }} labels: {{- include "netbird-operator.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: {{ include "netbird-operator.fullname" . }} subjects: - kind: ServiceAccount name: {{ include "netbird-operator.serviceAccountName" . }} namespace: {{ .Release.Namespace }} --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: {{ include "netbird-operator.fullname" . }} labels: {{- include "netbird-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 "netbird-operator.fullname" . }} labels: {{- include "netbird-operator.labels" . | nindent 4 }} roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: {{ include "netbird-operator.fullname" . }} subjects: - kind: ServiceAccount name: {{ include "netbird-operator.serviceAccountName" . }} namespace: {{ .Release.Namespace }}