72 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
| {{ if .Values.rbac.create }}
 | |
| apiVersion: rbac.authorization.k8s.io/v1
 | |
| kind: ClusterRole
 | |
| metadata:
 | |
|   name: {{ include "postgres-pod.serviceAccountName" . }}
 | |
|   labels:
 | |
|     app.kubernetes.io/name: {{ template "postgres-operator.name" . }}
 | |
|     helm.sh/chart: {{ template "postgres-operator.chart" . }}
 | |
|     app.kubernetes.io/managed-by: {{ .Release.Service }}
 | |
|     app.kubernetes.io/instance: {{ .Release.Name }}
 | |
| rules:
 | |
| # Patroni needs to watch and manage config maps or endpoints
 | |
| {{- if toString .Values.configGeneral.kubernetes_use_configmaps | eq "true" }}
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - configmaps
 | |
|   verbs:
 | |
|   - create
 | |
|   - delete
 | |
|   - deletecollection
 | |
|   - get
 | |
|   - list
 | |
|   - patch
 | |
|   - update
 | |
|   - watch
 | |
| {{- else }}
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - endpoints
 | |
|   verbs:
 | |
|   - create
 | |
|   - delete
 | |
|   - deletecollection
 | |
|   - get
 | |
|   - list
 | |
|   - patch
 | |
|   - update
 | |
|   - watch
 | |
| {{- end }}
 | |
| # Patroni needs to watch pods
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - pods
 | |
|   verbs:
 | |
|   - get
 | |
|   - list
 | |
|   - patch
 | |
|   - update
 | |
|   - watch
 | |
| # to let Patroni create a headless service
 | |
| - apiGroups:
 | |
|   - ""
 | |
|   resources:
 | |
|   - services
 | |
|   verbs:
 | |
|   - create
 | |
| {{- if toString .Values.configKubernetes.spilo_privileged | eq "true" }}
 | |
| # to run privileged pods
 | |
| - apiGroups:
 | |
|   - extensions
 | |
|   resources:
 | |
|   - podsecuritypolicies
 | |
|   resourceNames:
 | |
|   - privileged
 | |
|   verbs:
 | |
|   - use
 | |
| {{- end }}
 | |
| {{ end }}
 |