From 03a0dde56b0a09c6fcecb5b99a334eca1d3534a6 Mon Sep 17 00:00:00 2001 From: Ilya Mashchenko Date: Fri, 15 Mar 2024 13:05:46 +0200 Subject: go.d sd config add "disabled" (#17171) --- .../go.d.plugin/agent/discovery/sd/pipeline/config.go | 1 + src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go | 5 +++++ .../collectors/go.d.plugin/agent/discovery/sd/sd_test.go | 15 +++++++++++++++ src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf | 2 ++ .../go.d.plugin/config/go.d/sd/net_listeners.conf | 2 ++ 5 files changed, 25 insertions(+) diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go index 0123f8f6b4..4dac63f0f5 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/pipeline/config.go @@ -16,6 +16,7 @@ type Config struct { Source string `yaml:"-"` ConfigDefaults confgroup.Registry `yaml:"-"` + Disabled bool `yaml:"disabled"` Name string `yaml:"name"` Discover []DiscoveryConfig `yaml:"discover"` Classify []ClassifyRuleConfig `yaml:"classify"` diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go index 7210788abb..ab84c979e2 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd.go @@ -112,6 +112,11 @@ func (d *ServiceDiscovery) addPipeline(ctx context.Context, conf confFile, in ch return } + if cfg.Disabled { + d.Infof("pipeline config is disabled '%s' (%s)", cfg.Name, cfg.Source) + return + } + cfg.Source = fmt.Sprintf("file=%s", conf.source) cfg.ConfigDefaults = d.configDefaults diff --git a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go index 59cca83e10..376c9f7e74 100644 --- a/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go +++ b/src/go/collectors/go.d.plugin/agent/discovery/sd/sd_test.go @@ -20,6 +20,12 @@ func TestServiceDiscovery_Run(t *testing.T) { {name: "name", started: true, stopped: false}, }, }, + "add disabled pipeline": { + configs: []confFile{ + prepareDisabledConfigFile("source", "name"), + }, + wantPipelines: nil, + }, "remove pipeline": { configs: []confFile{ prepareConfigFile("source", "name"), @@ -89,3 +95,12 @@ func prepareEmptyConfigFile(source string) confFile { source: source, } } + +func prepareDisabledConfigFile(source, name string) confFile { + bs, _ := yaml.Marshal(pipeline.Config{Name: name, Disabled: true}) + + return confFile{ + source: source, + content: bs, + } +} diff --git a/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf index 9120eebd8e..c63cfa55a6 100644 --- a/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf +++ b/src/go/collectors/go.d.plugin/config/go.d/sd/docker.conf @@ -1,3 +1,5 @@ +disabled: no + name: 'docker' discover: diff --git a/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf b/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf index fdd54d72e0..dd11977ee9 100644 --- a/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf +++ b/src/go/collectors/go.d.plugin/config/go.d/sd/net_listeners.conf @@ -1,3 +1,5 @@ +disabled: no + name: 'network listeners' discover: -- cgit v1.2.3