github.com/docker/app@v0.9.1-beta3.0.20210611140623-a48f773ab002/cmd/cnab-run/render.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/docker/app/internal" 8 9 "github.com/docker/app/internal/formatter" 10 "github.com/docker/app/internal/packager" 11 "github.com/docker/app/render" 12 ) 13 14 func renderAction(instanceName string) error { 15 app, err := packager.Extract("") 16 // todo: merge additional compose file 17 if err != nil { 18 return err 19 } 20 defer app.Cleanup() 21 22 bndl, err := getRelocatedBundle() 23 if err != nil { 24 return err 25 } 26 27 formatDriver, ok := os.LookupEnv(internal.DockerRenderFormatEnvVar) 28 if !ok { 29 return fmt.Errorf("%q is undefined", internal.DockerRenderFormatEnvVar) 30 } 31 32 parameters := packager.ExtractCNABParametersValues(packager.ExtractCNABParameterMapping(app.Parameters()), os.Environ()) 33 34 rendered, err := render.Render(app, parameters, bndl.RelocatedImages()) 35 if err != nil { 36 return err 37 } 38 res, err := formatter.Format(rendered, formatDriver) 39 if err != nil { 40 return err 41 } 42 fmt.Print(res) 43 44 return nil 45 }