github.com/omnigres/cli@v0.1.4/cmd/path.go (about) 1 package cmd 2 3 import ( 4 "github.com/omnigres/cli/internal/fileutils" 5 "github.com/omnigres/cli/orb" 6 "os" 7 "path/filepath" 8 ) 9 10 func getOrbPath(createIfNotExists bool) (path string, err error) { 11 cwd, err := os.Getwd() 12 if err != nil { 13 return 14 } 15 path = workspace 16 if filepath.IsLocal(workspace) { 17 path, err = filepath.Abs(filepath.Join(cwd, workspace)) 18 if err != nil { 19 return 20 } 21 } 22 if createIfNotExists { 23 err = fileutils.CreateIfNotExists(path, true) 24 if err != nil { 25 return 26 } 27 } 28 return 29 } 30 31 func getOrbCluster() (cluster orb.OrbCluster, err error) { 32 var orbPath string 33 orbPath, err = getOrbPath(false) 34 if err != nil { 35 return 36 } 37 var cfg *orb.Config 38 cfg, err = orb.LoadConfig(orbPath) 39 if err != nil { 40 return 41 } 42 cluster, err = orb.NewDockerOrbCluster() 43 if err != nil { 44 return 45 } 46 err = cluster.Configure(orb.OrbOptions{Config: cfg, Path: orbPath}) 47 if err != nil { 48 return 49 } 50 return 51 }