diff --git a/traefik/Changelog.md b/traefik/Changelog.md index 201ce99ee..2d7c798aa 100644 --- a/traefik/Changelog.md +++ b/traefik/Changelog.md @@ -1,20 +1,156 @@ # Change Log +## 20.5.0 ![AppVersion: v2.9.4](https://img.shields.io/static/v1?label=AppVersion&message=v2.9.4&color=success&logo=) ![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Release date:** 2022-11-22 + +* 🚀 Add complete support on metrics options +* 🐛 make tests use fixed version + +### Default value changes + +```diff +diff --git a/traefik/values.yaml b/traefik/values.yaml +index e49d02d..15f1682 100644 +--- a/traefik/values.yaml ++++ b/traefik/values.yaml +@@ -12,7 +12,7 @@ hub: + ## Enabling Hub will: + # * enable Traefik Hub integration on Traefik + # * add `traefikhub-tunl` endpoint +- # * enable addRoutersLabels on prometheus metrics ++ # * enable Prometheus metrics with addRoutersLabels + # * enable allowExternalNameServices on KubernetesIngress provider + # * enable allowCrossNamespace on KubernetesCRD provider + # * add an internal (ClusterIP) Service, dedicated for Traefik Hub +@@ -254,16 +254,96 @@ logs: + # Content-Type: keep + + metrics: +- # datadog: +- # address: 127.0.0.1:8125 +- # influxdb: +- # address: localhost:8089 +- # protocol: udp ++ ## Prometheus is enabled by default. ++ ## It can be disabled by setting "prometheus: null" + prometheus: ++ ## Entry point used to expose metrics. + entryPoint: metrics +- # addRoutersLabels: true +- # statsd: +- # address: localhost:8125 ++ ## Enable metrics on entry points. Default=true ++ # addEntryPointsLabels: false ++ ## Enable metrics on routers. Default=false ++ # addRoutersLabels: true ++ ## Enable metrics on services. Default=true ++ # addServicesLabels: false ++ ## Buckets for latency metrics. Default="0.1,0.3,1.2,5.0" ++ # buckets: "0.5,1.0,2.5" ++ ## When manualRouting is true, it disables the default internal router in ++ ## order to allow creating a custom router for prometheus@internal service. ++ # manualRouting: true ++# datadog: ++# ## Address instructs exporter to send metrics to datadog-agent at this address. ++# address: "127.0.0.1:8125" ++# ## The interval used by the exporter to push metrics to datadog-agent. Default=10s ++# # pushInterval: 30s ++# ## The prefix to use for metrics collection. Default="traefik" ++# # prefix: traefik ++# ## Enable metrics on entry points. Default=true ++# # addEntryPointsLabels: false ++# ## Enable metrics on routers. Default=false ++# # addRoutersLabels: true ++# ## Enable metrics on services. Default=true ++# # addServicesLabels: false ++# influxdb: ++# ## Address instructs exporter to send metrics to influxdb at this address. ++# address: localhost:8089 ++# ## InfluxDB's address protocol (udp or http). Default="udp" ++# protocol: udp ++# ## InfluxDB database used when protocol is http. Default="" ++# # database: "" ++# ## InfluxDB retention policy used when protocol is http. Default="" ++# # retentionPolicy: "" ++# ## InfluxDB username (only with http). Default="" ++# # username: "" ++# ## InfluxDB password (only with http). Default="" ++# # password: "" ++# ## The interval used by the exporter to push metrics to influxdb. Default=10s ++# # pushInterval: 30s ++# ## Additional labels (influxdb tags) on all metrics. ++# # additionalLabels: ++# # env: production ++# # foo: bar ++# ## Enable metrics on entry points. Default=true ++# # addEntryPointsLabels: false ++# ## Enable metrics on routers. Default=false ++# # addRoutersLabels: true ++# ## Enable metrics on services. Default=true ++# # addServicesLabels: false ++# influxdb2: ++# ## Address instructs exporter to send metrics to influxdb v2 at this address. ++# address: localhost:8086 ++# ## Token with which to connect to InfluxDB v2. ++# token: xxx ++# ## Organisation where metrics will be stored. ++# org: "" ++# ## Bucket where metrics will be stored. ++# bucket: "" ++# ## The interval used by the exporter to push metrics to influxdb. Default=10s ++# # pushInterval: 30s ++# ## Additional labels (influxdb tags) on all metrics. ++# # additionalLabels: ++# # env: production ++# # foo: bar ++# ## Enable metrics on entry points. Default=true ++# # addEntryPointsLabels: false ++# ## Enable metrics on routers. Default=false ++# # addRoutersLabels: true ++# ## Enable metrics on services. Default=true ++# # addServicesLabels: false ++# statsd: ++# ## Address instructs exporter to send metrics to statsd at this address. ++# address: localhost:8125 ++# ## The interval used by the exporter to push metrics to influxdb. Default=10s ++# # pushInterval: 30s ++# ## The prefix to use for metrics collection. Default="traefik" ++# # prefix: traefik ++# ## Enable metrics on entry points. Default=true ++# # addEntryPointsLabels: false ++# ## Enable metrics on routers. Default=false ++# # addRoutersLabels: true ++# ## Enable metrics on services. Default=true ++# # addServicesLabels: false ++ ++ + ## + ## enable optional CRDs for Prometheus Operator + ## +``` + +## 20.4.1 ![AppVersion: v2.9.4](https://img.shields.io/static/v1?label=AppVersion&message=v2.9.4&color=success&logo=) ![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) + +**Release date:** 2022-11-21 + +* 🐛 fix namespace references to support namespaceOverride + + ## 20.4.0 ![AppVersion: v2.9.4](https://img.shields.io/static/v1?label=AppVersion&message=v2.9.4&color=success&logo=) ![Helm: v3](https://img.shields.io/static/v1?label=Helm&message=v3&color=informational&logo=helm) -**Release date:** 2022-11-18 +**Release date:** 2022-11-21 -* Add (optional) dedicated metrics service +* Add (optional) dedicated metrics service (#727) ### Default value changes ```diff diff --git a/traefik/values.yaml b/traefik/values.yaml -index ca15f6a..46690aa 100644 +index ca15f6a..e49d02d 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml -@@ -266,7 +266,13 @@ metrics: - # address: localhost:8125 +@@ -267,6 +267,12 @@ metrics: ## ## enable optional CRDs for Prometheus Operator ## diff --git a/traefik/Chart.yaml b/traefik/Chart.yaml index b70280cd5..45b4864a1 100644 --- a/traefik/Chart.yaml +++ b/traefik/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: traefik description: A Traefik based Kubernetes ingress controller type: application -version: 20.4.1 +version: 20.5.0 appVersion: v2.9.4 keywords: - traefik @@ -25,4 +25,5 @@ maintainers: icon: https://raw.githubusercontent.com/traefik/traefik/v2.3/docs/content/assets/img/traefik.logo.png annotations: artifacthub.io/changes: | - - Add (optional) dedicated metrics service + - 🚀 Add complete support on metrics options + - 🐛 make tests use fixed version diff --git a/traefik/templates/_podtemplate.tpl b/traefik/templates/_podtemplate.tpl index 9aa0a14a0..19368d2ab 100644 --- a/traefik/templates/_podtemplate.tpl +++ b/traefik/templates/_podtemplate.tpl @@ -122,28 +122,120 @@ - "--api.dashboard=true" - "--ping=true" {{- if .Values.metrics }} - {{- if .Values.metrics.datadog }} + {{- with .Values.metrics.datadog }} - "--metrics.datadog=true" - {{- if .Values.metrics.datadog.address }} - - "--metrics.datadog.address={{ .Values.metrics.datadog.address }}" + {{- with .address }} + - "--metrics.datadog.address={{ . }}" {{- end }} + {{- with .pushInterval }} + - "--metrics.datadog.pushInterval={{ . }}" {{- end }} - {{- if .Values.metrics.influxdb }} + {{- with .prefix }} + - "--metrics.datadog.prefix={{ . }}" + {{- end }} + {{- if .addRoutersLabels}} + - "--metrics.datadog.addRoutersLabels=true" + {{- end }} + {{- if eq .addEntryPointsLabels false }} + - "--metrics.datadog.addEntryPointsLabels=false" + {{- end }} + {{- if eq .addServicesLabels false }} + - "--metrics.datadog.addServicesLabels=false" + {{- end }} + {{- end }} + {{- with .Values.metrics.influxdb }} - "--metrics.influxdb=true" - - "--metrics.influxdb.address={{ .Values.metrics.influxdb.address }}" - - "--metrics.influxdb.protocol={{ .Values.metrics.influxdb.protocol }}" + - "--metrics.influxdb.address={{ .address }}" + - "--metrics.influxdb.protocol={{ .protocol }}" + {{- with .database }} + - "--metrics.influxdb.database={{ . }}" + {{- end }} + {{- with .retentionPolicy }} + - "--metrics.influxdb.retentionPolicy={{ . }}" + {{- end }} + {{- with .username }} + - "--metrics.influxdb.username={{ . }}" + {{- end }} + {{- with .password }} + - "--metrics.influxdb.password={{ . }}" + {{- end }} + {{- with .pushInterval }} + - "--metrics.influxdb.pushInterval={{ . }}" + {{- end }} + {{- range $name, $value := .additionalLabels }} + - "--metrics.influxdb.additionalLabels.{{ $name }}={{ $value }}" + {{- end }} + {{- if .addRoutersLabels}} + - "--metrics.influxdb.addRoutersLabels=true" + {{- end }} + {{- if eq .addEntryPointsLabels false }} + - "--metrics.influxdb.addEntryPointsLabels=false" + {{- end }} + {{- if eq .addServicesLabels false }} + - "--metrics.influxdb.addServicesLabels=false" + {{- end }} + {{- end }} + {{- with .Values.metrics.influxdb2 }} + - "--metrics.influxdb2=true" + - "--metrics.influxdb2.address={{ .address }}" + - "--metrics.influxdb2.token={{ .token }}" + - "--metrics.influxdb2.org={{ .org }}" + - "--metrics.influxdb2.bucket={{ .bucket }}" + {{- with .pushInterval }} + - "--metrics.influxdb2.pushInterval={{ . }}" {{- end }} - {{- if .Values.metrics.prometheus }} + {{- range $name, $value := .additionalLabels }} + - "--metrics.influxdb2.additionalLabels.{{ $name }}={{ $value }}" + {{- end }} + {{- if .addRoutersLabels}} + - "--metrics.influxdb2.addRoutersLabels=true" + {{- end }} + {{- if eq .addEntryPointsLabels false }} + - "--metrics.influxdb2.addEntryPointsLabels=false" + {{- end }} + {{- if eq .addServicesLabels false }} + - "--metrics.influxdb2.addServicesLabels=false" + {{- end }} + {{- end }} + {{- if (or .Values.metrics.prometheus .Values.hub.enabled) }} - "--metrics.prometheus=true" - "--metrics.prometheus.entrypoint={{ .Values.metrics.prometheus.entryPoint }}" {{- if (or .Values.metrics.prometheus.addRoutersLabels .Values.hub.enabled) }} - "--metrics.prometheus.addRoutersLabels=true" {{- end }} + {{- if eq .Values.metrics.prometheus.addEntryPointsLabels false }} + - "--metrics.prometheus.addEntryPointsLabels=false" + {{- end }} + {{- if eq .Values.metrics.prometheus.addServicesLabels false }} + - "--metrics.prometheus.addServicesLabels=false" + {{- end }} + {{- if .Values.metrics.prometheus.buckets }} + - "--metrics.prometheus.buckets={{ .Values.metrics.prometheus.buckets }}" {{- end }} - {{- if .Values.metrics.statsd }} + {{- if .Values.metrics.prometheus.manualRouting }} + - "--metrics.prometheus.manualrouting=true" + {{- end }} + {{- end }} + {{- with .Values.metrics.statsd }} - "--metrics.statsd=true" - - "--metrics.statsd.address={{ .Values.metrics.statsd.address }}" + - "--metrics.statsd.address={{ .address }}" + {{- with .pushInterval }} + - "--metrics.statsd.pushInterval={{ . }}" + {{- end }} + {{- with .prefix }} + - "--metrics.statsd.prefix={{ . }}" + {{- end }} + {{- if .addRoutersLabels}} + - "--metrics.statsd.addRoutersLabels=true" + {{- end }} + {{- if eq .addEntryPointsLabels false }} + - "--metrics.statsd.addEntryPointsLabels=false" + {{- end }} + {{- if eq .addServicesLabels false }} + - "--metrics.statsd.addServicesLabels=false" + {{- end }} {{- end }} + {{- end }} {{- if .Values.tracing }} {{- if .Values.tracing.instana }} diff --git a/traefik/tests/metrics-config_test.yaml b/traefik/tests/metrics-config_test.yaml new file mode 100644 index 000000000..e5935bd51 --- /dev/null +++ b/traefik/tests/metrics-config_test.yaml @@ -0,0 +1,264 @@ +suite: Traefik Metrics configuration +templates: + - deployment.yaml +tests: + - it: should have prometheus enabled by default on metrics entrypoint + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.entrypoint=metrics" + - it: should enable/disable labels on prometheus if set + set: + metrics: + prometheus: + addEntryPointsLabels: false + addServicesLabels: false + addRoutersLabels: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.addEntryPointsLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.addServicesLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.addRoutersLabels=true" + - it: should be possible to change prometheus buckets + set: + metrics: + prometheus: + buckets: "0.5,1.0,2.5" + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.buckets=0.5,1.0,2.5" + - it: should be possible to enable manualRouting on prometheus + set: + metrics: + prometheus: + manualRouting: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.manualrouting=true" + - it: should be possible to enable datadog and disable prometheus + set: + metrics: + prometheus: null + datadog: + address: "localhost:8125" + asserts: + - notContains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus=true" + - notContains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.entrypoint=metrics" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.address=localhost:8125" + - it: should enable/disable labels on datadog if set + set: + metrics: + datadog: + addEntryPointsLabels: false + addServicesLabels: false + addRoutersLabels: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.addEntryPointsLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.addServicesLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.addRoutersLabels=true" + - it: should be possible to set pushInterval and prefix on datadog + set: + metrics: + datadog: + pushInterval: 30s + prefix: foo + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.pushInterval=30s" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.datadog.prefix=foo" + - it: should be possible to enable influxdb without disabling prometheus + set: + metrics: + influxdb: + address: "localhost:8089" + protocol: udp + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.prometheus.entrypoint=metrics" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb=true" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.address=localhost:8089" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.protocol=udp" + - it: should be possible to set specific parameters on influxdb + set: + metrics: + influxdb: + address: "localhost:8089" + protocol: udp + database: db + retentionPolicy: two_hours + username: john + password: doe + pushInterval: 30s + additionalLabels: + foo: bar + env: prod + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.database=db" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.retentionPolicy=two_hours" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.username=john" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.password=doe" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.pushInterval=30s" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.additionalLabels.foo=bar" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.additionalLabels.env=prod" + - it: should enable/disable labels on influxdb if set + set: + metrics: + influxdb: + address: "localhost:8089" + protocol: udp + addEntryPointsLabels: false + addServicesLabels: false + addRoutersLabels: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.addEntryPointsLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.addServicesLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb.addRoutersLabels=true" + - it: should be possible to set specific parameters on influxdb v2 + set: + metrics: + influxdb2: + address: "localhost:8089" + token: xxx-yyy-zzz + org: traefik + bucket: metrics + pushInterval: 30s + additionalLabels: + foo: bar + env: prod + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.address=localhost:8089" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.token=xxx-yyy-zzz" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.org=traefik" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.bucket=metrics" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.pushInterval=30s" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.additionalLabels.foo=bar" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.additionalLabels.env=prod" + - it: should enable/disable labels on influxdb v2 if set + set: + metrics: + influxdb2: + address: "localhost:8089" + token: xxx-yyy-zzz + org: traefik + bucket: metrics + addEntryPointsLabels: false + addServicesLabels: false + addRoutersLabels: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.addEntryPointsLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.addServicesLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.influxdb2.addRoutersLabels=true" + - it: should be possible to set specific parameters on statsd + set: + metrics: + statsd: + address: "localhost:8125" + prefix: metrics + pushInterval: 30s + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.address=localhost:8125" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.prefix=metrics" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.pushInterval=30s" + - it: should enable/disable labels on statsd if set + set: + metrics: + statsd: + address: "localhost:8125" + addEntryPointsLabels: false + addServicesLabels: false + addRoutersLabels: true + asserts: + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.addEntryPointsLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.addServicesLabels=false" + - contains: + path: spec.template.spec.containers[0].args + content: "--metrics.statsd.addRoutersLabels=true" + diff --git a/traefik/values.yaml b/traefik/values.yaml index e49d02db6..15f1682c7 100644 --- a/traefik/values.yaml +++ b/traefik/values.yaml @@ -12,7 +12,7 @@ hub: ## Enabling Hub will: # * enable Traefik Hub integration on Traefik # * add `traefikhub-tunl` endpoint - # * enable addRoutersLabels on prometheus metrics + # * enable Prometheus metrics with addRoutersLabels # * enable allowExternalNameServices on KubernetesIngress provider # * enable allowCrossNamespace on KubernetesCRD provider # * add an internal (ClusterIP) Service, dedicated for Traefik Hub @@ -254,16 +254,96 @@ logs: # Content-Type: keep metrics: - # datadog: - # address: 127.0.0.1:8125 - # influxdb: - # address: localhost:8089 - # protocol: udp + ## Prometheus is enabled by default. + ## It can be disabled by setting "prometheus: null" prometheus: + ## Entry point used to expose metrics. entryPoint: metrics - # addRoutersLabels: true - # statsd: - # address: localhost:8125 + ## Enable metrics on entry points. Default=true + # addEntryPointsLabels: false + ## Enable metrics on routers. Default=false + # addRoutersLabels: true + ## Enable metrics on services. Default=true + # addServicesLabels: false + ## Buckets for latency metrics. Default="0.1,0.3,1.2,5.0" + # buckets: "0.5,1.0,2.5" + ## When manualRouting is true, it disables the default internal router in + ## order to allow creating a custom router for prometheus@internal service. + # manualRouting: true +# datadog: +# ## Address instructs exporter to send metrics to datadog-agent at this address. +# address: "127.0.0.1:8125" +# ## The interval used by the exporter to push metrics to datadog-agent. Default=10s +# # pushInterval: 30s +# ## The prefix to use for metrics collection. Default="traefik" +# # prefix: traefik +# ## Enable metrics on entry points. Default=true +# # addEntryPointsLabels: false +# ## Enable metrics on routers. Default=false +# # addRoutersLabels: true +# ## Enable metrics on services. Default=true +# # addServicesLabels: false +# influxdb: +# ## Address instructs exporter to send metrics to influxdb at this address. +# address: localhost:8089 +# ## InfluxDB's address protocol (udp or http). Default="udp" +# protocol: udp +# ## InfluxDB database used when protocol is http. Default="" +# # database: "" +# ## InfluxDB retention policy used when protocol is http. Default="" +# # retentionPolicy: "" +# ## InfluxDB username (only with http). Default="" +# # username: "" +# ## InfluxDB password (only with http). Default="" +# # password: "" +# ## The interval used by the exporter to push metrics to influxdb. Default=10s +# # pushInterval: 30s +# ## Additional labels (influxdb tags) on all metrics. +# # additionalLabels: +# # env: production +# # foo: bar +# ## Enable metrics on entry points. Default=true +# # addEntryPointsLabels: false +# ## Enable metrics on routers. Default=false +# # addRoutersLabels: true +# ## Enable metrics on services. Default=true +# # addServicesLabels: false +# influxdb2: +# ## Address instructs exporter to send metrics to influxdb v2 at this address. +# address: localhost:8086 +# ## Token with which to connect to InfluxDB v2. +# token: xxx +# ## Organisation where metrics will be stored. +# org: "" +# ## Bucket where metrics will be stored. +# bucket: "" +# ## The interval used by the exporter to push metrics to influxdb. Default=10s +# # pushInterval: 30s +# ## Additional labels (influxdb tags) on all metrics. +# # additionalLabels: +# # env: production +# # foo: bar +# ## Enable metrics on entry points. Default=true +# # addEntryPointsLabels: false +# ## Enable metrics on routers. Default=false +# # addRoutersLabels: true +# ## Enable metrics on services. Default=true +# # addServicesLabels: false +# statsd: +# ## Address instructs exporter to send metrics to statsd at this address. +# address: localhost:8125 +# ## The interval used by the exporter to push metrics to influxdb. Default=10s +# # pushInterval: 30s +# ## The prefix to use for metrics collection. Default="traefik" +# # prefix: traefik +# ## Enable metrics on entry points. Default=true +# # addEntryPointsLabels: false +# ## Enable metrics on routers. Default=false +# # addRoutersLabels: true +# ## Enable metrics on services. Default=true +# # addServicesLabels: false + + ## ## enable optional CRDs for Prometheus Operator ##