urbit.go 805 B

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