github.com/crowdsecurity/crowdsec@v1.6.1/pkg/csconfig/cscli.go (about)

     1  package csconfig
     2  
     3  import (
     4  	"fmt"
     5  )
     6  
     7  /*cscli specific config, such as hub directory*/
     8  type CscliCfg struct {
     9  	Output             string            `yaml:"output,omitempty"`
    10  	Color              string            `yaml:"color,omitempty"`
    11  	HubBranch          string            `yaml:"hub_branch"`
    12  	HubURLTemplate     string            `yaml:"__hub_url_template__,omitempty"`
    13  	SimulationConfig   *SimulationConfig `yaml:"-"`
    14  	DbConfig           *DatabaseCfg      `yaml:"-"`
    15  
    16  	SimulationFilePath string            `yaml:"-"`
    17  	PrometheusUrl      string            `yaml:"prometheus_uri"`
    18  }
    19  
    20  const defaultHubURLTemplate = "https://hub-cdn.crowdsec.net/%s/%s"
    21  
    22  func (c *Config) loadCSCLI() error {
    23  	if c.Cscli == nil {
    24  		c.Cscli = &CscliCfg{}
    25  	}
    26  
    27  	if c.Prometheus.ListenAddr != "" && c.Prometheus.ListenPort != 0 {
    28  		c.Cscli.PrometheusUrl = fmt.Sprintf("http://%s:%d/metrics", c.Prometheus.ListenAddr, c.Prometheus.ListenPort)
    29  	}
    30  
    31  	if c.Cscli.HubURLTemplate == "" {
    32  		c.Cscli.HubURLTemplate = defaultHubURLTemplate
    33  	}
    34  
    35  	return nil
    36  }