{{- if .Values.rbac.create }} {{- if and .Values.rbac.scope (not .Values.controller.scope.enabled) -}} {{ required "Invalid configuration: 'rbac.scope' should be equal to 'controller.scope.enabled' (true/false)." (index (dict) ".") }} {{- end }} {{- if not .Values.rbac.scope -}} apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: {{- include "ingress-nginx.labels" . | nindent 4 }} {{- with .Values.controller.labels }} {{- toYaml . | nindent 4 }} {{- end }} name: {{ include "ingress-nginx.fullname" . }} rules: - apiGroups: - "" resources: - configmaps - endpoints - nodes - pods - secrets {{- if not .Values.controller.scope.enabled }} - namespaces {{- end}} verbs: - list - watch - apiGroups: - coordination.k8s.io resources: - leases verbs: - list - watch {{- if and .Values.controller.scope.enabled .Values.controller.scope.namespace }} - apiGroups: - "" resources: - namespaces resourceNames: - "{{ .Values.controller.scope.namespace }}" verbs: - get {{- end }} - apiGroups: - "" resources: - nodes verbs: - get - apiGroups: - "" resources: - services verbs: - get - list - watch - apiGroups: - networking.k8s.io resources: - ingresses verbs: - get - list - watch - apiGroups: - "" resources: - events verbs: - create - patch - apiGroups: - networking.k8s.io resources: - ingresses/status verbs: - update - apiGroups: - networking.k8s.io resources: - ingressclasses verbs: - get - list - watch - apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch - get {{- end }} {{- end }}