func enable(he vmextension.HandlerEnvironment, d driver.DistroDriver) error { settings, err := parseSettings(he.HandlerEnvironment.ConfigFolder) if err != nil { return err } // Install docker remote access certs log.Printf("++ setup docker certs") if err := installDockerCerts(*settings, dockerCfgDir); err != nil { return fmt.Errorf("error installing docker certs: %v", err) } log.Printf("-- setup docker certs") // Update dockeropts log.Printf("++ update dockeropts") if err := updateDockerOpts(d, getArgs(*settings, d)); err != nil { return fmt.Errorf("failed to update dockeropts: %v", err) } log.Printf("-- update dockeropts") // Restart docker log.Printf("++ restart docker") if err := d.RestartDocker(); err != nil { return err } time.Sleep(3 * time.Second) // wait for instance to come up log.Printf("-- restart docker") // Login Docker registry server log.Printf("++ login docker registry") if err := loginRegistry(settings.Login); err != nil { return err } log.Printf("-- login docker registry") // Compose Up log.Printf("++ compose up") if err := composeUp(d, settings.ComposeJson); err != nil { return fmt.Errorf("'compose up' failed: %v", err) } log.Printf("-- compose up") return nil }