diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aa5d6bb5815..f6f40ff6336b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ - [BUGFIX] Operator: Create govern service per Grafana Agent (@shturman) +- [BUGFIX] Operator: Fix relabel_config directive for PodLogs resource (@hjet) + - [CHANGE] Self-scraped integrations will now use an SUO-specific value for the `instance` label. (@rfratto) # v0.20.0 (2021-10-28) diff --git a/pkg/operator/config/logs_templates_test.go b/pkg/operator/config/logs_templates_test.go index e0b98a0a9d3b..96870800d20e 100644 --- a/pkg/operator/config/logs_templates_test.go +++ b/pkg/operator/config/logs_templates_test.go @@ -474,6 +474,17 @@ func TestPodLogsConfig(t *testing.T) { Namespace: "operator", Name: "podlogs", }, + Spec: gragent.PodLogsSpec{ + RelabelConfigs: []*prom_v1.RelabelConfig{{ + SourceLabels: []string{"input_a", "input_b"}, + Separator: ";", + TargetLabel: "target_a", + Regex: "regex", + Modulus: 1234, + Replacement: "foobar", + Action: "replace", + }}, + }, }, "apiServer": prom_v1.APIServerConfig{}, "ignoreNamespaceSelectors": false, @@ -502,6 +513,13 @@ func TestPodLogsConfig(t *testing.T) { target_label: __path__ separator: / replacement: /var/log/pods/*$1/*.log + - source_labels: ["input_a", "input_b"] + separator: ";" + target_label: "target_a" + regex: regex + modulus: 1234 + replacement: foobar + action: replace `), }, } diff --git a/pkg/operator/config/templates/component/logs/relabel_config.libsonnet b/pkg/operator/config/templates/component/logs/relabel_config.libsonnet new file mode 100644 index 000000000000..ff82d9f870ff --- /dev/null +++ b/pkg/operator/config/templates/component/logs/relabel_config.libsonnet @@ -0,0 +1,12 @@ +local optionals = import 'ext/optionals.libsonnet'; + +// @param {RelabelConfig} cfg +function(cfg) { + source_labels: optionals.array(cfg.SourceLabels), + separator: optionals.string(cfg.Separator), + regex: optionals.string(cfg.Regex), + modulus: optionals.number(cfg.Modulus), + target_label: optionals.string(cfg.TargetLabel), + replacement: optionals.string(cfg.Replacement), + action: optionals.string(cfg.Action), +}