Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions charts/marklogic-operator-kubernetes/templates/manager-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,23 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
- events.k8s.io
resources:
- events
verbs:
- create
- patch
- update
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
Expand Down Expand Up @@ -216,6 +233,15 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
- events.k8s.io
resources:
- events
verbs:
- create
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
Expand All @@ -236,4 +262,40 @@ subjects:
name: '{{ include "marklogic-operator-kubernetes.serviceAccountName" $ }}'
namespace: '{{ $.Release.Namespace }}'
{{- end }}
{{- /*
storageclass is a cluster-scoped resource; a namespaced Role cannot grant access
to it. A dedicated ClusterRole + ClusterRoleBinding is required in namespace mode
so the operator can read allowVolumeExpansion and perform PVC resize operations.
*/}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
labels:
{{- include "marklogic-operator-kubernetes.labels" . | nindent 4 }}
rules:
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
labels:
{{- include "marklogic-operator-kubernetes.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
subjects:
- kind: ServiceAccount
name: '{{ include "marklogic-operator-kubernetes.serviceAccountName" . }}'
namespace: '{{ .Release.Namespace }}'
{{- end }}
94 changes: 94 additions & 0 deletions hack/helmify-post-process.sh
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,31 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims
verbs:
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims/status
verbs:
- get
- apiGroups:
- ""
- events.k8s.io
resources:
- events
verbs:
- create
- patch
- update
- apiGroups:
- apps
resources:
Expand Down Expand Up @@ -303,6 +328,14 @@ rules:
- patch
- update
- watch
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
Expand Down Expand Up @@ -371,6 +404,31 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims
verbs:
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- persistentvolumeclaims/status
verbs:
- get
- apiGroups:
- ""
- events.k8s.io
resources:
- events
verbs:
- create
- patch
- update
- apiGroups:
- apps
resources:
Expand Down Expand Up @@ -447,6 +505,42 @@ subjects:
name: '{{ include "marklogic-operator-kubernetes.serviceAccountName" $ }}'
namespace: '{{ $.Release.Namespace }}'
{{- end }}
{{- /*
storageclass is a cluster-scoped resource; a namespaced Role cannot grant access
to it. A dedicated ClusterRole + ClusterRoleBinding is required in namespace mode
so the operator can read allowVolumeExpansion and perform PVC resize operations.
*/}}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
labels:
{{- include "marklogic-operator-kubernetes.labels" . | nindent 4 }}
rules:
- apiGroups:
- storage.k8s.io
resources:
- storageclasses
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
labels:
{{- include "marklogic-operator-kubernetes.labels" . | nindent 4 }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ printf "%s-storageclass-reader" (include "marklogic-operator-kubernetes.fullname" .) | trunc 63 | trimSuffix "-" }}
subjects:
- kind: ServiceAccount
name: '{{ include "marklogic-operator-kubernetes.serviceAccountName" . }}'
namespace: '{{ .Release.Namespace }}'
{{- end }}
TMPL_EOF
echo " [manager-rbac.yaml] Done."
Expand Down
Loading