|
|
@@ -1,14 +1,48 @@
|
|
|
package docker
|
|
|
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "goseg/config"
|
|
|
+ "os"
|
|
|
+ "path/filepath"
|
|
|
+)
|
|
|
+
|
|
|
func LoadMC() error {
|
|
|
- logger.Info("Loading MinIO Client")
|
|
|
- // apply latest version info
|
|
|
- // start container
|
|
|
+ logger.Info("Loading MC container")
|
|
|
+ confPath := filepath.Join(config.BasePath, "settings", "mc.json")
|
|
|
+ _, err := os.Open(confPath)
|
|
|
+ if err != nil {
|
|
|
+ // create a default if it doesn't exist
|
|
|
+ err = config.CreateDefaultMcConf()
|
|
|
+ if err != nil {
|
|
|
+ // error if we can't create it
|
|
|
+ errmsg := fmt.Sprintf("Unable to create MC config! %v", err)
|
|
|
+ logger.Error(errmsg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.Info("Running MC")
|
|
|
+ info, err := StartContainer("mc", "mc")
|
|
|
+ if err != nil {
|
|
|
+ logger.Error(fmt.Sprintf("Error starting MC: %v", err))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ config.UpdateContainerState("mc", info)
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
func LoadMinIOs() error {
|
|
|
logger.Info("Loading MinIO containers")
|
|
|
+ conf := config.Conf()
|
|
|
+ for _, pier := range conf.Piers {
|
|
|
+ // uConf := config.UrbitConf(pier)
|
|
|
+ label := "minio_" + pier
|
|
|
+ info, err := StartContainer(label, "minio")
|
|
|
+ if err != nil {
|
|
|
+ logger.Error(fmt.Sprintf("Error starting %s Minio: %v", pier, err))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ config.UpdateContainerState(label, info)
|
|
|
+ }
|
|
|
// load config from each pier
|
|
|
// apply latest version info (if automated updates)
|
|
|
// start containers
|