urbit.go 744 B

1234567891011121314151617181920212223242526272829303132
  1. package docker
  2. import (
  3. "fmt"
  4. "goseg/config"
  5. )
  6. func LoadUrbits() error {
  7. logger.Info("Loading Urbit ships")
  8. // Loop through pier list
  9. conf := config.Conf()
  10. for _, pier := range conf.Piers {
  11. logger.Info(fmt.Sprintf("Loading pier %s", pier))
  12. // load json into struct
  13. err := config.LoadUrbitConfig(pier)
  14. if err != nil {
  15. logger.Error(fmt.Sprintf("Error loading %s config: %v", pier, err))
  16. continue
  17. }
  18. shipConf := config.UrbitConf(pier)
  19. // don't bootstrap if it's busted
  20. if shipConf.BootStatus != "noboot" {
  21. info, err := StartContainer(pier, "vere")
  22. if err != nil {
  23. logger.Error(fmt.Sprintf("Error starting %s: %v", pier, err))
  24. continue
  25. }
  26. config.UpdateContainerState(pier, info)
  27. }
  28. }
  29. return nil
  30. }