{{- if .Values.apiGateway.enabled }} # The ClusterRole to enable the API Gateway controller to access required api endpoints. apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: {{ template "consul.fullname" . }}-api-gateway-controller labels: app: {{ template "consul.name" . }} chart: {{ template "consul.chart" . }} heritage: {{ .Release.Service }} release: {{ .Release.Name }} component: api-gateway-controller rules: - apiGroups: - api-gateway.consul.hashicorp.com resources: - gatewayclassconfigs verbs: - get - list - update - watch - apiGroups: - api-gateway.consul.hashicorp.com resources: - gatewayclassconfigs/finalizers verbs: - update - apiGroups: - api-gateway.consul.hashicorp.com resources: - meshservices verbs: - get - list - watch - apiGroups: - apps resources: - deployments verbs: - create - get - list - update - watch - apiGroups: - coordination.k8s.io resources: - leases verbs: - create - get - list - update - apiGroups: - "" resources: - configmaps verbs: - create - delete - get - list - patch - update - watch - apiGroups: - "" resources: - configmaps/status verbs: - get - patch - update - apiGroups: - "" resources: - events verbs: - create - patch - apiGroups: - "" resources: - namespaces verbs: - get - list - watch - apiGroups: - "" resources: - pods verbs: - list - watch - apiGroups: - "" resources: - secrets verbs: - create - get - list - update - watch - apiGroups: - "" resources: - services verbs: - create - get - list - update - watch - apiGroups: - "" resources: - serviceaccounts verbs: - create - get - list - watch - apiGroups: - gateway.networking.k8s.io resources: - referencegrants verbs: - get - list - watch - apiGroups: - gateway.networking.k8s.io resources: - referencepolicies verbs: - get - list - watch - apiGroups: - gateway.networking.k8s.io resources: - gatewayclasses verbs: - create - delete - get - list - patch - update - watch - apiGroups: - gateway.networking.k8s.io resources: - gatewayclasses/finalizers verbs: - update - apiGroups: - gateway.networking.k8s.io resources: - gatewayclasses/status verbs: - get - patch - update - apiGroups: - gateway.networking.k8s.io resources: - gateways verbs: - create - delete - get - list - patch - update - watch - apiGroups: - gateway.networking.k8s.io resources: - gateways/finalizers verbs: - update - apiGroups: - gateway.networking.k8s.io resources: - gateways/status verbs: - get - patch - update - apiGroups: - gateway.networking.k8s.io resources: - httproutes verbs: - create - delete - get - list - patch - update - watch - apiGroups: - gateway.networking.k8s.io resources: - httproutes/finalizers verbs: - update - apiGroups: - gateway.networking.k8s.io resources: - httproutes/status verbs: - get - patch - update - apiGroups: - gateway.networking.k8s.io resources: - tcproutes verbs: - create - delete - get - list - patch - update - watch - apiGroups: - gateway.networking.k8s.io resources: - tcproutes/finalizers verbs: - update - apiGroups: - gateway.networking.k8s.io resources: - tcproutes/status verbs: - get - patch - update {{- if .Values.global.enablePodSecurityPolicies }} - apiGroups: - policy resources: - podsecuritypolicies verbs: - use - apiGroups: - rbac.authorization.k8s.io resources: - roles - rolebindings verbs: - create - get - list - watch {{- end }} {{- end }}