261 lines
4.9 KiB
YAML
261 lines
4.9 KiB
YAML
{{- if .Values.rbac.create }}
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
{{- with .Values.additionalAnnotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels:
|
|
app.kubernetes.io/name: {{ .Values.operator.name }}
|
|
{{- include "keda.labels" . | indent 4 }}
|
|
name: {{ .Values.operator.name }}
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
- configmaps/status
|
|
- limitranges
|
|
- pods
|
|
- services
|
|
- serviceaccounts
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- patch
|
|
{{- if not .Values.permissions.operator.restrict.secret }}
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
verbs:
|
|
- list
|
|
- watch
|
|
{{- with .Values.permissions.operator.restrict.namesAllowList }}
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- secrets
|
|
verbs:
|
|
- get
|
|
resourceNames: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.rbac.enabledCustomScaledRefKinds }}
|
|
{{- range .Values.rbac.scaledRefKinds }}
|
|
- apiGroups:
|
|
- {{ .apiGroup | quote }}
|
|
resources:
|
|
- {{ printf "%s/scale" .kind | quote }}
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- {{ .apiGroup | quote }}
|
|
resources:
|
|
- {{ .kind | quote }}
|
|
verbs:
|
|
- get
|
|
{{- end }}
|
|
{{- end }}
|
|
- apiGroups:
|
|
- apps
|
|
resources:
|
|
- deployments/scale
|
|
- statefulsets/scale
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- apps
|
|
resources:
|
|
- deployments
|
|
- statefulsets
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- autoscaling
|
|
resources:
|
|
- horizontalpodautoscalers
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- batch
|
|
resources:
|
|
- jobs
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- eventing.keda.sh
|
|
resources:
|
|
- cloudeventsources
|
|
- cloudeventsources/status
|
|
- clustercloudeventsources
|
|
- clustercloudeventsources/status
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- keda.sh
|
|
resources:
|
|
- scaledjobs
|
|
- scaledjobs/finalizers
|
|
- scaledjobs/status
|
|
- scaledobjects
|
|
- scaledobjects/finalizers
|
|
- scaledobjects/status
|
|
- triggerauthentications
|
|
- triggerauthentications/status
|
|
verbs:
|
|
- get
|
|
- list
|
|
- patch
|
|
- update
|
|
- watch
|
|
{{- if .Values.rbac.aggregateToDefaultRoles }}
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: keda:edit
|
|
labels:
|
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
|
app.kubernetes.io/name: {{ .Values.operator.name }}
|
|
{{- include "keda.labels" . | indent 4 }}
|
|
rules:
|
|
- apiGroups:
|
|
- keda.sh
|
|
resources:
|
|
- clustertriggerauthentications
|
|
- scaledjobs
|
|
- scaledobjects
|
|
- triggerauthentications
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- patch
|
|
- update
|
|
- apiGroups:
|
|
- eventing.keda.sh
|
|
resources:
|
|
- cloudeventsources
|
|
- clustercloudeventsources
|
|
verbs:
|
|
- create
|
|
- delete
|
|
- patch
|
|
- update
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: keda:view
|
|
labels:
|
|
rbac.authorization.k8s.io/aggregate-to-admin: "true"
|
|
rbac.authorization.k8s.io/aggregate-to-edit: "true"
|
|
rbac.authorization.k8s.io/aggregate-to-view: "true"
|
|
app.kubernetes.io/name: {{ .Values.operator.name }}
|
|
{{- include "keda.labels" . | indent 4 }}
|
|
rules:
|
|
- apiGroups:
|
|
- keda.sh
|
|
resources:
|
|
- clustertriggerauthentications
|
|
- scaledjobs
|
|
- scaledobjects
|
|
- triggerauthentications
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- eventing.keda.sh
|
|
resources:
|
|
- cloudeventsources
|
|
- clustercloudeventsources
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
{{- end -}}
|
|
{{- if .Values.permissions.operator.restrict.serviceAccountTokenCreationRoles }}
|
|
{{- range $r := .Values.permissions.operator.restrict.serviceAccountTokenCreationRoles }}
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
{{- with $.Values.additionalAnnotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels:
|
|
app.kubernetes.io/name: {{ $.Values.operator.name }}
|
|
{{- include "keda.labels" $ | indent 4 }}
|
|
name: {{ $.Values.operator.name }}-token-creator-{{ $r.name }}
|
|
namespace: {{ $r.namespace }}
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- serviceaccounts/token
|
|
verbs:
|
|
- create
|
|
resourceNames:
|
|
- {{ $r.name }}
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
{{- with $.Values.additionalAnnotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels:
|
|
app.kubernetes.io/name: {{ $.Values.operator.name }}
|
|
{{- include "keda.labels" $ | indent 4 }}
|
|
name: {{ $.Values.operator.name }}-token-creator-{{ $r.name }}
|
|
namespace: {{ $r.namespace }}
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: {{ $.Values.operator.name }}-token-creator-{{ $r.name }}
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: {{ $.Values.operator.name }}
|
|
namespace: {{ $.Release.Namespace }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end -}}
|