blob: be8cf112e440a34636aef421f27f38f5af562dea [file] [log] [blame]
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +04001# Default values for metallb.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
4
5imagePullSecrets: []
6nameOverride: ""
7fullnameOverride: ""
8loadBalancerClass: ""
9
10# To configure MetalLB, you must specify ONE of the following two
11# options.
12
13rbac:
14 # create specifies whether to install and use RBAC rules.
15 create: true
16
17prometheus:
18 # scrape annotations specifies whether to add Prometheus metric
19 # auto-collection annotations to pods. See
20 # https://github.com/prometheus/prometheus/blob/release-2.1/documentation/examples/prometheus-kubernetes.yml
21 # for a corresponding Prometheus configuration. Alternatively, you
22 # may want to use the Prometheus Operator
23 # (https://github.com/coreos/prometheus-operator) for more powerful
24 # monitoring configuration. If you use the Prometheus operator, this
25 # can be left at false.
26 scrapeAnnotations: false
27
28 # port both controller and speaker will listen on for metrics
29 metricsPort: 7472
30
31 # if set, enables rbac proxy on the controller and speaker to expose
32 # the metrics via tls.
33 # secureMetricsPort: 9120
34
35 # the name of the secret to be mounted in the speaker pod
36 # to expose the metrics securely. If not present, a self signed
37 # certificate to be used.
38 speakerMetricsTLSSecret: ""
39
40 # the name of the secret to be mounted in the controller pod
41 # to expose the metrics securely. If not present, a self signed
42 # certificate to be used.
43 controllerMetricsTLSSecret: ""
44
45 # prometheus doens't have the permission to scrape all namespaces so we give it permission to scrape metallb's one
46 rbacPrometheus: true
47
48 # the service account used by prometheus
49 # required when " .Values.prometheus.rbacPrometheus == true " and " .Values.prometheus.podMonitor.enabled=true or prometheus.serviceMonitor.enabled=true "
50 serviceAccount: ""
51
52 # the namespace where prometheus is deployed
53 # required when " .Values.prometheus.rbacPrometheus == true " and " .Values.prometheus.podMonitor.enabled=true or prometheus.serviceMonitor.enabled=true "
54 namespace: ""
55
56 # the image to be used for the kuberbacproxy container
57 rbacProxy:
58 repository: gcr.io/kubebuilder/kube-rbac-proxy
59 tag: v0.12.0
60 pullPolicy:
61
62 # Prometheus Operator PodMonitors
63 podMonitor:
64 # enable support for Prometheus Operator
65 enabled: false
66
67 # optional additionnal labels for podMonitors
68 additionalLabels: {}
69
70 # optional annotations for podMonitors
71 annotations: {}
72
73 # Job label for scrape target
74 jobLabel: "app.kubernetes.io/name"
75
76 # Scrape interval. If not set, the Prometheus default scrape interval is used.
77 interval:
78
79 # metric relabel configs to apply to samples before ingestion.
80 metricRelabelings: []
81 # - action: keep
82 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
83 # sourceLabels: [__name__]
84
85 # relabel configs to apply to samples before ingestion.
86 relabelings: []
87 # - sourceLabels: [__meta_kubernetes_pod_node_name]
88 # separator: ;
89 # regex: ^(.*)$
90 # target_label: nodename
91 # replacement: $1
92 # action: replace
93
94 # Prometheus Operator ServiceMonitors. To be used as an alternative
95 # to podMonitor, supports secure metrics.
96 serviceMonitor:
97 # enable support for Prometheus Operator
98 enabled: false
99
100 speaker:
101 # optional additional labels for the speaker serviceMonitor
102 additionalLabels: {}
103 # optional additional annotations for the speaker serviceMonitor
104 annotations: {}
105 # optional tls configuration for the speaker serviceMonitor, in case
106 # secure metrics are enabled.
107 tlsConfig:
108 insecureSkipVerify: true
109
110 controller:
111 # optional additional labels for the controller serviceMonitor
112 additionalLabels: {}
113 # optional additional annotations for the controller serviceMonitor
114 annotations: {}
115 # optional tls configuration for the controller serviceMonitor, in case
116 # secure metrics are enabled.
117 tlsConfig:
118 insecureSkipVerify: true
119
120 # Job label for scrape target
121 jobLabel: "app.kubernetes.io/name"
122
123 # Scrape interval. If not set, the Prometheus default scrape interval is used.
124 interval:
125
126 # metric relabel configs to apply to samples before ingestion.
127 metricRelabelings: []
128 # - action: keep
129 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
130 # sourceLabels: [__name__]
131
132 # relabel configs to apply to samples before ingestion.
133 relabelings: []
134 # - sourceLabels: [__meta_kubernetes_pod_node_name]
135 # separator: ;
136 # regex: ^(.*)$
137 # target_label: nodename
138 # replacement: $1
139 # action: replace
140
141 # Prometheus Operator alertmanager alerts
142 prometheusRule:
143 # enable alertmanager alerts
144 enabled: false
145
146 # optional additionnal labels for prometheusRules
147 additionalLabels: {}
148
149 # optional annotations for prometheusRules
150 annotations: {}
151
152 # MetalLBStaleConfig
153 staleConfig:
154 enabled: true
155 labels:
156 severity: warning
157
158 # MetalLBConfigNotLoaded
159 configNotLoaded:
160 enabled: true
161 labels:
162 severity: warning
163
164 # MetalLBAddressPoolExhausted
165 addressPoolExhausted:
166 enabled: true
167 labels:
168 severity: alert
169
170 addressPoolUsage:
171 enabled: true
172 thresholds:
173 - percent: 75
174 labels:
175 severity: warning
176 - percent: 85
177 labels:
178 severity: warning
179 - percent: 95
180 labels:
181 severity: alert
182
183 # MetalLBBGPSessionDown
184 bgpSessionDown:
185 enabled: true
186 labels:
187 severity: alert
188
189 extraAlerts: []
190
191# controller contains configuration specific to the MetalLB cluster
192# controller.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400193controller:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +0400194 enabled: true
195 # -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
196 logLevel: info
197 # command: /controller
198 # webhookMode: enabled
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400199 image:
200 repository: quay.io/metallb/controller
201 tag:
202 pullPolicy:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +0400203 ## @param controller.updateStrategy.type Metallb controller deployment strategy type.
204 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
205 ## e.g:
206 ## strategy:
207 ## type: RollingUpdate
208 ## rollingUpdate:
209 ## maxSurge: 25%
210 ## maxUnavailable: 25%
211 ##
212 strategy:
213 type: RollingUpdate
214 serviceAccount:
215 # Specifies whether a ServiceAccount should be created
216 create: true
217 # The name of the ServiceAccount to use. If not set and create is
218 # true, a name is generated using the fullname template
219 name: ""
220 annotations: {}
221 securityContext:
222 runAsNonRoot: true
223 # nobody
224 runAsUser: 65534
225 fsGroup: 65534
226 resources: {}
227 # limits:
228 # cpu: 100m
229 # memory: 100Mi
230 nodeSelector: {}
231 tolerations: []
232 priorityClassName: ""
233 runtimeClassName: ""
234 affinity: {}
235 podAnnotations: {}
236 labels: {}
237 livenessProbe:
238 enabled: true
239 failureThreshold: 3
240 initialDelaySeconds: 10
241 periodSeconds: 10
242 successThreshold: 1
243 timeoutSeconds: 1
244 readinessProbe:
245 enabled: true
246 failureThreshold: 3
247 initialDelaySeconds: 10
248 periodSeconds: 10
249 successThreshold: 1
250 timeoutSeconds: 1
251
252# speaker contains configuration specific to the MetalLB speaker
253# daemonset.
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400254speaker:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +0400255 enabled: true
256 # command: /speaker
257 # -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
258 logLevel: info
259 tolerateMaster: true
260 memberlist:
261 enabled: true
262 mlBindPort: 7946
263 mlSecretKeyPath: "/etc/ml_secret_key"
264 excludeInterfaces:
265 enabled: true
Giorgi Lekveishvili725bb392023-05-05 18:24:27 +0400266 image:
267 repository: quay.io/metallb/speaker
268 tag:
269 pullPolicy:
Giorgi Lekveishvili285ab622023-11-22 13:50:45 +0400270 ## @param speaker.updateStrategy.type Speaker daemonset strategy type
271 ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
272 ##
273 updateStrategy:
274 ## StrategyType
275 ## Can be set to RollingUpdate or OnDelete
276 ##
277 type: RollingUpdate
278 serviceAccount:
279 # Specifies whether a ServiceAccount should be created
280 create: true
281 # The name of the ServiceAccount to use. If not set and create is
282 # true, a name is generated using the fullname template
283 name: ""
284 annotations: {}
285 ## Defines a secret name for the controller to generate a memberlist encryption secret
286 ## By default secretName: {{ "metallb.fullname" }}-memberlist
287 ##
288 # secretName:
289 resources: {}
290 # limits:
291 # cpu: 100m
292 # memory: 100Mi
293 nodeSelector: {}
294 tolerations: []
295 priorityClassName: ""
296 affinity: {}
297 ## Selects which runtime class will be used by the pod.
298 runtimeClassName: ""
299 podAnnotations: {}
300 labels: {}
301 livenessProbe:
302 enabled: true
303 failureThreshold: 3
304 initialDelaySeconds: 10
305 periodSeconds: 10
306 successThreshold: 1
307 timeoutSeconds: 1
308 readinessProbe:
309 enabled: true
310 failureThreshold: 3
311 initialDelaySeconds: 10
312 periodSeconds: 10
313 successThreshold: 1
314 timeoutSeconds: 1
315 startupProbe:
316 enabled: true
317 failureThreshold: 30
318 periodSeconds: 5
319 # frr contains configuration specific to the MetalLB FRR container,
320 # for speaker running alongside FRR.
321 frr:
322 enabled: true
323 image:
324 repository: quay.io/frrouting/frr
325 tag: 8.5.2
326 pullPolicy:
327 metricsPort: 7473
328 resources: {}
329
330 # if set, enables a rbac proxy sidecar container on the speaker to
331 # expose the frr metrics via tls.
332 # secureMetricsPort: 9121
333
334 reloader:
335 resources: {}
336
337 frrMetrics:
338 resources: {}
339
340crds:
341 enabled: true
342 validationFailurePolicy: Fail