prometheus/config/testdata/kubernetes_selectors_pod.good.yml
Alexey Shumkin 73ddf603af
discovery/kubernetes: Fix valid label selector causing config error
Label selector can be
"set-based"(https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#set-based-requirement)
but such a selector causes Prometheus start failure with the "unexpected
error: parsing YAML file ...: invalid selector: 'foo in (bar,baz)';
can't understand 'baz)'"-like error.

This is caused by the `fields.ParseSelector(string)` function that
simply splits an expression as a CSV-list, so a comma confuses such a
parsing method and lead to the error.

Use `labels.Parse(string)` to use a valid lexer to parse a selector
expression.

Closes #8284.

Signed-off-by: Alexey Shumkin <Alex.Crezoff@gmail.com>
2020-12-16 10:56:01 +03:00

14 lines
349 B
YAML

scrape_configs:
- job_name: prometheus
kubernetes_sd_configs:
- role: pod
selectors:
- role: "pod"
label: "foo=bar"
field: "metadata.status=Running"
- role: pod
selectors:
- role: "pod"
label: "foo in (bar,baz)"
field: "metadata.status=Running"