cscli.go 1.0 KB

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