cscli.go 1.1 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. SimulationConfig *SimulationConfig `yaml:"-"`
  11. DbConfig *DatabaseCfg `yaml:"-"`
  12. HubDir string `yaml:"-"`
  13. DataDir string `yaml:"-"`
  14. ConfigDir string `yaml:"-"`
  15. HubIndexFile string `yaml:"-"`
  16. SimulationFilePath string `yaml:"-"`
  17. PrometheusUrl string `yaml:"prometheus_uri"`
  18. }
  19. func (c *Config) loadCSCLI() error {
  20. if c.Cscli == nil {
  21. c.Cscli = &CscliCfg{}
  22. }
  23. c.Cscli.ConfigDir = c.ConfigPaths.ConfigDir
  24. c.Cscli.DataDir = c.ConfigPaths.DataDir
  25. c.Cscli.HubDir = c.ConfigPaths.HubDir
  26. c.Cscli.HubIndexFile = c.ConfigPaths.HubIndexFile
  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. return nil
  31. }