1# Default values for metallb.
2# This is a YAML-formatted file.
3# Declare variables to be passed into your templates.
9# To configure MetalLB, you must specify ONE of the following two
12 # create specifies whether to install and use RBAC rules.
15 # scrape annotations specifies whether to add Prometheus metric
16 # auto-collection annotations to pods. See
17 # https://github.com/prometheus/prometheus/blob/release-2.1/documentation/examples/prometheus-kubernetes.yml
18 # for a corresponding Prometheus configuration. Alternatively, you
19 # may want to use the Prometheus Operator
20 # (https://github.com/coreos/prometheus-operator) for more powerful
21 # monitoring configuration. If you use the Prometheus operator, this
22 # can be left at false.
23 scrapeAnnotations: false
24 # port both controller and speaker will listen on for metrics
26 # if set, enables rbac proxy on the controller and speaker to expose
27 # the metrics via tls.
28 # secureMetricsPort: 9120
30 # the name of the secret to be mounted in the speaker pod
31 # to expose the metrics securely. If not present, a self signed
32 # certificate to be used.
33 speakerMetricsTLSSecret: ""
34 # the name of the secret to be mounted in the controller pod
35 # to expose the metrics securely. If not present, a self signed
36 # certificate to be used.
37 controllerMetricsTLSSecret: ""
38 # prometheus doesn't have the permission to scrape all namespaces so we give it permission to scrape metallb's one
40 # the service account used by prometheus
41 # required when " .Values.prometheus.rbacPrometheus == true " and " .Values.prometheus.podMonitor.enabled=true or prometheus.serviceMonitor.enabled=true "
43 # the namespace where prometheus is deployed
44 # required when " .Values.prometheus.rbacPrometheus == true " and " .Values.prometheus.podMonitor.enabled=true or prometheus.serviceMonitor.enabled=true "
46 # the image to be used for the kuberbacproxy container
48 repository: cgr.dev/scratch-images/test-tmp/kube-rbac-proxy
49 tag: 0.22.0-r0@sha256:910f21d91afc35b914309c7e3caed27d7f85cfa437bf60142c6e8f22681cd9b9
51 # Prometheus Operator PodMonitors
53 # enable support for Prometheus Operator
55 # optional additional labels for podMonitors
57 # optional annotations for podMonitors
59 # Job label for scrape target
60 jobLabel: "app.kubernetes.io/name"
61 # Scrape interval. If not set, the Prometheus default scrape interval is used.
63 # metric relabel configs to apply to samples before ingestion.
66 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
67 # sourceLabels: [__name__]
69 # relabel configs to apply to samples before ingestion.
71 # - sourceLabels: [__meta_kubernetes_pod_node_name]
74 # target_label: nodename
77 # Prometheus Operator ServiceMonitors. To be used as an alternative
78 # to podMonitor, supports secure metrics.
80 # enable support for Prometheus Operator
83 # optional additional labels for the speaker serviceMonitor
85 # optional additional annotations for the speaker serviceMonitor
87 # optional tls configuration for the speaker serviceMonitor, in case
88 # secure metrics are enabled.
90 insecureSkipVerify: true
92 # optional additional labels for the controller serviceMonitor
94 # optional additional annotations for the controller serviceMonitor
96 # optional tls configuration for the controller serviceMonitor, in case
97 # secure metrics are enabled.
99 insecureSkipVerify: true
100 # Job label for scrape target
101 jobLabel: "app.kubernetes.io/name"
102 # Scrape interval. If not set, the Prometheus default scrape interval is used.
104 # metric relabel configs to apply to samples before ingestion.
105 metricRelabelings: []
107 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
108 # sourceLabels: [__name__]
110 # relabel configs to apply to samples before ingestion.
112 # - sourceLabels: [__meta_kubernetes_pod_node_name]
115 # target_label: nodename
118 # Prometheus Operator alertmanager alerts
120 # enable alertmanager alerts
122 # optional additional labels for prometheusRules
124 # optional annotations for prometheusRules
131 # MetalLBConfigNotLoaded
136 # MetalLBAddressPoolExhausted
137 addressPoolExhausted:
141 # Exclude the pools matching the regular expression from triggering the alert.
155 # Exclude the pools matching the regular expression from triggering the alert.
157 # MetalLBBGPSessionDown
163# controller contains configuration specific to the MetalLB cluster
167 # -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
169 # command: /controller
172 repository: cgr.dev/scratch-images/test-tmp/metallb-controller
173 tag: 0.15.3-r10@sha256:853f87dffb6c487c24b3e42cdec23173072d1a66402f94e0ae75807ffab55bd0
175 ## @param controller.updateStrategy.type Metallb controller deployment strategy type.
176 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
179 ## type: RollingUpdate
182 ## maxUnavailable: 25%
187 # Specifies whether a ServiceAccount should be created
189 # The name of the ServiceAccount to use. If not set and create is
190 # true, a name is generated using the fullname template
204 priorityClassName: ""
212 initialDelaySeconds: 10
219 initialDelaySeconds: 10
223 tlsMinVersion: "VersionTLS12"
226# speaker contains configuration specific to the MetalLB speaker
231 # -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
235 # -- When enabled: false, the speaker pods must run on all nodes
238 mlBindAddrOverride: ""
239 mlSecretKeyPath: "/etc/ml_secret_key"
242 # ignore the exclude-from-external-loadbalancer label
243 ignoreExcludeLB: false
245 repository: cgr.dev/scratch-images/test-tmp/metallb-speaker
246 tag: 0.15.3-r10@sha256:dc63c26da33e1949c9f6405e355d61e5f420d0316ac9936c06f71cbbb41903c2
248 ## @param speaker.updateStrategy.type Speaker daemonset strategy type
249 ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
253 ## Can be set to RollingUpdate or OnDelete
257 # Specifies whether a ServiceAccount should be created
259 # The name of the ServiceAccount to use. If not set and create is
260 # true, a name is generated using the fullname template
264 ## Defines a secret name for the controller to generate a memberlist encryption secret
265 ## By default secretName: {{ "metallb.fullname" }}-memberlist
274 priorityClassName: ""
276 ## Selects which runtime class will be used by the pod.
283 initialDelaySeconds: 10
290 initialDelaySeconds: 10
298 # frr contains configuration specific to the MetalLB FRR container,
299 # for speaker running alongside FRR.
303 repository: cgr.dev/scratch-images/test-tmp/frr
304 tag: 10.4.4-r0@sha256:b50a910f4c27c4f4a991310d1e942650628c9e3db2c955648175db6eb30d53f5
308 # if set, enables a rbac proxy sidecar container on the speaker to
309 # expose the frr metrics via tls.
310 # secureMetricsPort: 9121
325 validationFailurePolicy: Fail
326# frrk8s contains the configuration related to using an frrk8s instance
327# (github.com/metallb/frr-k8s) as the backend for the BGP implementation.
328# This allows configuring additional frr parameters in combination to those
331 # if set, enables frrk8s as a backend. This is mutually exclusive to frr
338 # if set, networkpolicies for metallb components will be installed in the metallb namespace
340 # if set, a default deny network policy will be installed in the metallb namespace
342 # to override internal k8s api targetPort