feat: ability to disable Prometheus scraping while keeping the metrics endpoint enabled #1367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds a
metrics.prometheus.scrape
value to be able to configure the value of theprometheus.io/scrape
annotation, set it as true by default to keep existing behaviorMotivation
Sometimes it may be useful to be able to enable the metrics endpoint without actually enabling metrics collection.
However, currently, the chart enables both the endpoint and the metrics collection by default, and the only option offered is to disable both at once by setting
metrics.prometheus
tonull
.In my specific use case, Traefik is deployed on an infrastructure where a monitoring tool is configured to automatically collect all metrics from pods with the
prometheus.io/scrape
annotation set totrue
(which is pretty standard so far). But I need to be able to set the annotation value tofalse
to disable this generic collection and use another specific collector that will route the metrics differently.More
make test
and all the tests passed