118 lines
3.7 KiB
YAML
118 lines
3.7 KiB
YAML
{{- if .Values.serviceAccount.cstorOperator.create -}}
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: {{ .Values.serviceAccount.cstorOperator.name }}
|
|
labels:
|
|
{{- include "cstor.common.metaLabels" . | nindent 4 }}
|
|
{{- with .Values.serviceAccount.annotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.rbac.create }}
|
|
---
|
|
kind: ClusterRole
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: openebs-cstor-operator
|
|
{{- with .Values.serviceAccount.annotations }}
|
|
annotations: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "cstor.common.metaLabels" . | nindent 4 }}
|
|
rules:
|
|
- apiGroups: ["*"]
|
|
resources: ["nodes", "nodes/proxy"]
|
|
verbs: ["*"]
|
|
- apiGroups: ["*"]
|
|
resources: ["namespaces", "services", "pods", "deployments", "deployments/finalizers", "replicationcontrollers", "replicasets", "events", "endpoints", "configmaps", "secrets", "jobs", "cronjobs"]
|
|
verbs: ["*"]
|
|
- apiGroups: ["*"]
|
|
resources: ["statefulsets", "daemonsets"]
|
|
verbs: ["*"]
|
|
- apiGroups: ["*"]
|
|
resources: ["resourcequotas", "limitranges"]
|
|
verbs: ["list", "watch"]
|
|
- apiGroups: ["*"]
|
|
resources: ["certificatesigningrequests"]
|
|
verbs: ["list", "watch"]
|
|
- apiGroups: ["*"]
|
|
resources: ["storageclasses", "persistentvolumeclaims", "persistentvolumes"]
|
|
verbs: ["*"]
|
|
- apiGroups: ["apiextensions.k8s.io"]
|
|
resources: ["customresourcedefinitions"]
|
|
verbs: [ "get", "list", "create", "update", "delete", "patch"]
|
|
- apiGroups: ["openebs.io"]
|
|
resources: ["*"]
|
|
verbs: ["*" ]
|
|
- apiGroups: ["cstor.openebs.io"]
|
|
resources: ["*"]
|
|
verbs: ["*" ]
|
|
- apiGroups: ["coordination.k8s.io"]
|
|
resources: ["leases"]
|
|
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
|
- apiGroups: ["admissionregistration.k8s.io"]
|
|
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"]
|
|
verbs: ["get", "create", "list", "delete", "update", "patch"]
|
|
- nonResourceURLs: ["/metrics"]
|
|
verbs: ["get"]
|
|
- apiGroups: ["*"]
|
|
resources: ["upgradetasks","migrationtasks"]
|
|
verbs: ["*"]
|
|
- apiGroups: ["*"]
|
|
resources: ["poddisruptionbudgets"]
|
|
verbs: ["get", "list", "create", "delete", "watch"]
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: openebs-cstor-operator
|
|
{{- with .Values.serviceAccount.annotations }}
|
|
annotations: {{ toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "cstor.common.metaLabels" . | nindent 4 }}
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: openebs-cstor-operator
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: {{ .Values.serviceAccount.cstorOperator.name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
---
|
|
# Define Role that allows operations required for migration of snapshots
|
|
kind: ClusterRole
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: openebs-cstor-migration
|
|
labels:
|
|
{{- include "cstor.common.metaLabels" . | nindent 4 }}
|
|
rules:
|
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
|
resources: ["volumesnapshotclasses"]
|
|
verbs: ["get", "list"]
|
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
|
resources: ["volumesnapshotcontents"]
|
|
verbs: ["create", "get", "list"]
|
|
- apiGroups: ["snapshot.storage.k8s.io"]
|
|
resources: ["volumesnapshots"]
|
|
verbs: ["create", "get", "list"]
|
|
---
|
|
kind: ClusterRoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: openebs-cstor-migration
|
|
labels:
|
|
{{- include "cstor.common.metaLabels" . | nindent 4 }}
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: {{ .Values.serviceAccount.cstorOperator.name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: openebs-cstor-migration
|
|
apiGroup: rbac.authorization.k8s.io
|
|
{{- end }}
|