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 # -- Comma-separated list of TLS cipher suites. If empty, uses Go defaults. Only applies to TLS 1.2.
17 # -- Comma-separated list of numeric CurveID values (e.g. 29,4588). See https://pkg.go.dev/crypto/tls#CurveID. If empty, uses Go defaults.
19 # -- Minimum TLS version (VersionTLS12 or VersionTLS13). Defaults to VersionTLS13.
21 # -- The name of the secret to be mounted in the controller pod to provide TLS certificates for metrics endpoints. If not present, a self-signed certificate is auto-generated.
22 controllerMetricsTLSSecret: ""
23 # -- The name of the secret to be mounted in the speaker pod to provide TLS certificates for metrics endpoints. If not present, a self-signed certificate is auto-generated.
24 speakerMetricsTLSSecret: ""
26 # scrape annotations specifies whether to add Prometheus metric
27 # auto-collection annotations to pods. See
28 # https://github.com/prometheus/prometheus/blob/release-2.1/documentation/examples/prometheus-kubernetes.yml
29 # for a corresponding Prometheus configuration. Alternatively, you
30 # may want to use the Prometheus Operator
31 # (https://github.com/coreos/prometheus-operator) for more powerful
32 # monitoring configuration. If you use the Prometheus operator, this
33 # can be left at false.
34 scrapeAnnotations: false
35 # port both controller and speaker will listen on for metrics (always HTTPS).
36 # Matches the port kube-rbac-proxy previously served on.
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 # Prometheus Operator PodMonitors
48 # enable support for Prometheus Operator
50 # optional additional labels for podMonitors
52 # optional annotations for podMonitors
54 # Job label for scrape target
55 jobLabel: "app.kubernetes.io/name"
56 # Scrape interval. If not set, the Prometheus default scrape interval is used.
58 # metric relabel configs to apply to samples before ingestion.
61 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
62 # sourceLabels: [__name__]
64 # relabel configs to apply to samples before ingestion.
66 # - sourceLabels: [__meta_kubernetes_pod_node_name]
69 # target_label: nodename
72 # Prometheus Operator ServiceMonitors. To be used as an alternative
73 # to podMonitor, supports secure metrics.
75 # enable support for Prometheus Operator
78 # optional additional labels for the speaker serviceMonitor
80 # optional additional annotations for the speaker serviceMonitor
82 # optional tls configuration for the speaker serviceMonitor, in case
83 # secure metrics are enabled.
85 insecureSkipVerify: true
87 # optional additional labels for the controller serviceMonitor
89 # optional additional annotations for the controller serviceMonitor
91 # optional tls configuration for the controller serviceMonitor, in case
92 # secure metrics are enabled.
94 insecureSkipVerify: true
95 # Job label for scrape target
96 jobLabel: "app.kubernetes.io/name"
97 # Scrape interval. If not set, the Prometheus default scrape interval is used.
99 # metric relabel configs to apply to samples before ingestion.
100 metricRelabelings: []
102 # regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+'
103 # sourceLabels: [__name__]
105 # relabel configs to apply to samples before ingestion.
107 # - sourceLabels: [__meta_kubernetes_pod_node_name]
110 # target_label: nodename
113 # Prometheus Operator alertmanager alerts
115 # enable alertmanager alerts
117 # optional additional labels for prometheusRules
119 # optional annotations for prometheusRules
126 # MetalLBConfigNotLoaded
131 # MetalLBAddressPoolExhausted
132 addressPoolExhausted:
136 # Exclude the pools matching the regular expression from triggering the alert.
150 # Exclude the pools matching the regular expression from triggering the alert.
152 # MetalLBBGPSessionDown
158# controller contains configuration specific to the MetalLB cluster
162 # -- Controller log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
164 # command: /controller
167 repository: cgr.dev/scratch-images/test-tmp/metallb-controller
168 tag: 0.16.0-r3@sha256:20cf6665edbd28f87324e21d9c3bb1b49e708e93c0da07e678f0e5dde6351393
170 ## @param controller.updateStrategy.type Metallb controller deployment strategy type.
171 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
174 ## type: RollingUpdate
177 ## maxUnavailable: 25%
182 # Specifies whether a ServiceAccount should be created
184 # The name of the ServiceAccount to use. If not set and create is
185 # true, a name is generated using the fullname template
199 priorityClassName: ""
207 initialDelaySeconds: 10
214 initialDelaySeconds: 10
219# speaker contains configuration specific to the MetalLB speaker
224 # -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
228 # -- When enabled: false, the speaker pods must run on all nodes
231 mlBindAddrOverride: ""
232 mlSecretKeyPath: "/etc/ml_secret_key"
235 # ignore the exclude-from-external-loadbalancer label
236 ignoreExcludeLB: false
237 # -- BGP debounce timeout for FRR configuration reloads, in milliseconds. Only applies when BGP type is frr. Default (when unset) is 3000 ms. This feature is experimental
238 bgpDebounceTimeout: null
240 repository: cgr.dev/scratch-images/test-tmp/metallb-speaker
241 tag: 0.16.0-r3@sha256:1c8b2625e7ea584c4507e28a517d796cb695b6bb917f2a5d6b82a0f9d591a875
243 ## @param speaker.updateStrategy.type Speaker daemonset strategy type
244 ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
248 ## Can be set to RollingUpdate or OnDelete
252 # Specifies whether a ServiceAccount should be created
254 # The name of the ServiceAccount to use. If not set and create is
255 # true, a name is generated using the fullname template
259 ## Defines a secret name for the controller to generate a memberlist encryption secret
260 ## By default secretName: {{ "metallb.fullname" }}-memberlist
269 priorityClassName: ""
271 ## Selects which runtime class will be used by the pod.
278 initialDelaySeconds: 10
285 initialDelaySeconds: 10
293 # frr contains configuration specific to the MetalLB FRR container,
294 # for speaker running alongside FRR.
295 # DEPRECATED: The FRR mode is deprecated and will be removed in a future
296 # release. Use the frr-k8s mode (frrk8s.enabled) instead, which is now
297 # the default BGP backend.
301 repository: cgr.dev/scratch-images/test-tmp/frr
302 tag: 10.4.4-r0@sha256:3cc28342b8cf2fa969643e6244188e35a114e368c483f25647650719386f757e
320 validationFailurePolicy: Fail
321# frrk8s contains the configuration related to using an frrk8s instance
322# (github.com/metallb/frr-k8s) as the backend for the BGP implementation.
323# This allows configuring additional frr parameters in combination to those
326 # if set, enables frrk8s as a backend. This is mutually exclusive to frr
333 # The FRR-K8s BGP/BFD metrics are exposed with the "frrk8s_" prefix
334 # (e.g. frrk8s_bgp_session_up, frrk8s_bfd_session_up).
335 # To rename them to the legacy "metallb_" prefix for backward compatibility
336 # with existing dashboards or alerts, uncomment section below.
340 # - sourceLabels: [__name__]
341 # regex: "frrk8s_bgp_(.*)"
342 # targetLabel: "__name__"
343 # replacement: "metallb_bgp_$1"
344 # - sourceLabels: [__name__]
345 # regex: "frrk8s_bfd_(.*)"
346 # targetLabel: "__name__"
347 # replacement: "metallb_bfd_$1"
350 # if set, networkpolicies for metallb components will be installed in the metallb namespace
352 # if set, a default deny network policy will be installed in the metallb namespace
354 # to override internal k8s api targetPort