1 {{- if .Values.rbac.create -}}
4 apiVersion: rbac.authorization.k8s.io/v1
7 name: {{ template "metallb.fullname" . }}:controller
9 heritage: {{ .Release.Service | quote }}
10 release: {{ .Release.Name | quote }}
11 chart: {{ template "metallb.chart" . }}
12 app: {{ template "metallb.name" . }}
15 resources: ["services"]
16 verbs: ["get", "list", "watch", "update"]
18 resources: ["services/status"]
22 verbs: ["create", "patch"]
24 apiVersion: rbac.authorization.k8s.io/v1
27 name: {{ template "metallb.fullname" . }}:speaker
29 heritage: {{ .Release.Service | quote }}
30 release: {{ .Release.Name | quote }}
31 chart: {{ template "metallb.chart" . }}
32 app: {{ template "metallb.name" . }}
35 resources: ["services", "endpoints", "nodes"]
36 verbs: ["get", "list", "watch"]
39 verbs: ["create", "patch"]
40 {{- if .Values.psp.create }}
41 - apiGroups: ["extensions"]
42 resources: ["podsecuritypolicies"]
43 resourceNames: [{{ printf "%s-speaker" (include "metallb.fullname" .) | quote}}]
47 apiVersion: rbac.authorization.k8s.io/v1
50 name: {{ template "metallb.fullname" . }}-config-watcher
52 heritage: {{ .Release.Service | quote }}
53 release: {{ .Release.Name | quote }}
54 chart: {{ template "metallb.chart" . }}
55 app: {{ template "metallb.name" . }}
58 resources: ["configmaps"]
59 verbs: ["get", "list", "watch"]
63 apiVersion: rbac.authorization.k8s.io/v1
64 kind: ClusterRoleBinding
66 name: {{ template "metallb.fullname" . }}:controller
68 heritage: {{ .Release.Service | quote }}
69 release: {{ .Release.Name | quote }}
70 chart: {{ template "metallb.chart" . }}
71 app: {{ template "metallb.name" . }}
73 - kind: ServiceAccount
74 name: {{ template "metallb.controllerServiceAccountName" . }}
75 namespace: {{ .Release.Namespace }}
77 apiGroup: rbac.authorization.k8s.io
79 name: {{ template "metallb.fullname" . }}:controller
81 apiVersion: rbac.authorization.k8s.io/v1
82 kind: ClusterRoleBinding
84 name: {{ template "metallb.fullname" . }}:speaker
86 heritage: {{ .Release.Service | quote }}
87 release: {{ .Release.Name | quote }}
88 chart: {{ template "metallb.chart" . }}
89 app: {{ template "metallb.name" . }}
91 - kind: ServiceAccount
92 name: {{ template "metallb.speakerServiceAccountName" . }}
93 namespace: {{ .Release.Namespace }}
95 apiGroup: rbac.authorization.k8s.io
97 name: {{ template "metallb.fullname" . }}:speaker
99 apiVersion: rbac.authorization.k8s.io/v1
102 name: {{ template "metallb.fullname" . }}-config-watcher
104 heritage: {{ .Release.Service | quote }}
105 release: {{ .Release.Name | quote }}
106 chart: {{ template "metallb.chart" . }}
107 app: {{ template "metallb.name" . }}
109 - kind: ServiceAccount
110 name: {{ template "metallb.controllerServiceAccountName" . }}
111 - kind: ServiceAccount
112 name: {{ template "metallb.speakerServiceAccountName" . }}
114 apiGroup: rbac.authorization.k8s.io
116 name: {{ template "metallb.fullname" . }}-config-watcher