cscli.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package csconfig
  2. import (
  3. "runtime"
  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 ColorDefault() string {
  20. if runtime.GOOS == "windows" {
  21. return "no"
  22. }
  23. return "auto"
  24. }
  25. func (c *Config) LoadCSCLI() error {
  26. if c.Cscli == nil {
  27. c.Cscli = &CscliCfg{}
  28. }
  29. if err := c.LoadConfigurationPaths(); err != nil {
  30. return err
  31. }
  32. c.Cscli.ConfigDir = c.ConfigPaths.ConfigDir
  33. c.Cscli.DataDir = c.ConfigPaths.DataDir
  34. c.Cscli.HubDir = c.ConfigPaths.HubDir
  35. c.Cscli.HubIndexFile = c.ConfigPaths.HubIndexFile
  36. return nil
  37. }