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: chainreg.biz/scratch-images/test-tmp/metallb-controller
168 tag: 0.16.1-r2@sha256:7b09bdd78b4d9c75108af4e5f47da1eb774c7f1f86f5bd509745ee7efe146130
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: ""
208 initialDelaySeconds: 10
216 initialDelaySeconds: 10
221# speaker contains configuration specific to the MetalLB speaker
226 # -- Speaker log level. Must be one of: `all`, `debug`, `info`, `warn`, `error` or `none`
230 # -- When enabled: false, the speaker pods must run on all nodes
233 mlBindAddrOverride: ""
234 mlSecretKeyPath: "/etc/ml_secret_key"
237 # ignore the exclude-from-external-loadbalancer label
238 ignoreExcludeLB: false
239 # -- 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
240 bgpDebounceTimeout: null
242 repository: chainreg.biz/scratch-images/test-tmp/metallb-speaker
243 tag: 0.16.1-r2@sha256:6c66ff82b87cb71bf778df4c86a663369ec0bfeb338088de05d28773440b1549
245 ## @param speaker.updateStrategy.type Speaker daemonset strategy type
246 ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
250 ## Can be set to RollingUpdate or OnDelete
254 # Specifies whether a ServiceAccount should be created
256 # The name of the ServiceAccount to use. If not set and create is
257 # true, a name is generated using the fullname template
261 ## Defines a secret name for the controller to generate a memberlist encryption secret
262 ## By default secretName: {{ "metallb.fullname" }}-memberlist
271 priorityClassName: ""
273 ## Selects which runtime class will be used by the pod.
281 initialDelaySeconds: 10
289 initialDelaySeconds: 10
297 # frr contains configuration specific to the MetalLB FRR container,
298 # for speaker running alongside FRR.
299 # DEPRECATED: The FRR mode is deprecated and will be removed in a future
300 # release. Use the frr-k8s mode (frrk8s.enabled) instead, which is now
301 # the default BGP backend.
305 repository: chainreg.biz/scratch-images/test-tmp/frr
306 tag: 10.5.4-r1@sha256:aa901c8de726d7c5b761d26237bac78f9ee544092cc2d7b19181da233bdbb2b9
324 validationFailurePolicy: Fail
325# frrk8s contains the configuration related to using an frrk8s instance
326# (github.com/metallb/frr-k8s) as the backend for the BGP implementation.
327# This allows configuring additional frr parameters in combination to those
330 # -- If set, enables frrk8s as a backend. This is mutually exclusive to frr mode.
332 # -- If true, uses an external frr-k8s installation instead of the bundled subchart.
334 # -- Namespace where external frr-k8s is installed (only used when external=true).
336# Values passed to the frr-k8s subchart (note the hyphen in "frr-k8s").
337# For all available options, see:
338# https://github.com/metallb/frr-k8s/blob/main/charts/frr-k8s/values.yaml
342 # -- Enable Prometheus ServiceMonitor for frr-k8s metrics.
344 # The FRR-K8s BGP/BFD metrics are exposed with the "frrk8s_" prefix
345 # (e.g. frrk8s_bgp_session_up, frrk8s_bfd_session_up).
346 # To rename them to the legacy "metallb_" prefix for backward compatibility
347 # with existing dashboards or alerts, enable and configure metric relabelings:
349 # - sourceLabels: [__name__]
350 # regex: "frrk8s_bgp_(.*)"
351 # targetLabel: "__name__"
352 # replacement: "metallb_bgp_$1"
353 # - sourceLabels: [__name__]
354 # regex: "frrk8s_bfd_(.*)"
355 # targetLabel: "__name__"
356 # replacement: "metallb_bfd_$1"
359 # if set, networkpolicies for metallb components will be installed in the metallb namespace
361 # if set, a default deny network policy will be installed in the metallb namespace
363 # to override internal k8s api targetPort