github.com/netdata/go.d.plugin@v0.58.1/agent/discovery/config.go (about)

     1  // SPDX-License-Identifier: GPL-3.0-or-later
     2  
     3  package discovery
     4  
     5  import (
     6  	"errors"
     7  
     8  	"github.com/netdata/go.d.plugin/agent/confgroup"
     9  	"github.com/netdata/go.d.plugin/agent/discovery/dummy"
    10  	"github.com/netdata/go.d.plugin/agent/discovery/file"
    11  )
    12  
    13  type Config struct {
    14  	Registry confgroup.Registry
    15  	File     file.Config
    16  	Dummy    dummy.Config
    17  }
    18  
    19  func validateConfig(cfg Config) error {
    20  	if len(cfg.Registry) == 0 {
    21  		return errors.New("empty config registry")
    22  	}
    23  	if len(cfg.File.Read)+len(cfg.File.Watch) == 0 && len(cfg.Dummy.Names) == 0 {
    24  		return errors.New("discoverers not set")
    25  	}
    26  	return nil
    27  }