func (o *DockerComposeOptions) Run() error { template, err := dockercompose.Generate(o.Filenames...) if err != nil { return err } template.ObjectLabels = map[string]string{ "compose": template.Name, } // all the types generated into the template should be known if errs := app.AsVersionedObjects(template.Objects, kapi.Scheme, kapi.Scheme, o.OutputVersions...); len(errs) > 0 { for _, err := range errs { fmt.Fprintf(o.Action.ErrOut, "error: %v\n", err) } } if o.Action.ShouldPrint() || (o.Action.Output == "name" && len(o.AsTemplate) > 0) { var out runtime.Object if len(o.AsTemplate) > 0 { template.Name = o.AsTemplate out = template } else { out = &kapi.List{Items: template.Objects} } return o.PrintObject(out) } result, err := appcmd.TransformTemplate(template, o.Client, o.Namespace, nil) if err != nil { return err } if o.Action.Verbose() { appcmd.DescribeGeneratedTemplate(o.Action.Out, "", result, o.Namespace) } if errs := o.Action.WithMessage("Importing compose file", "creating").Run(&kapi.List{Items: result.Objects}, o.Namespace); len(errs) > 0 { return cmdutil.ErrExit } return nil }
func (o *AppJSONOptions) Run() error { localPath, contents, err := contentsForPathOrURL(o.Filenames[0], o.In, "app.json") if err != nil { return err } g := &appjson.Generator{ LocalPath: localPath, BaseImage: o.BaseImage, } switch { case len(o.AsTemplate) > 0: g.Name = o.AsTemplate case len(localPath) > 0: g.Name = filepath.Base(localPath) default: g.Name = path.Base(path.Dir(o.Filenames[0])) } if len(g.Name) == 0 { g.Name = "app" } template, err := g.Generate(contents) if err != nil { return err } template.ObjectLabels = map[string]string{"app.json": template.Name} // all the types generated into the template should be known if errs := app.AsVersionedObjects(template.Objects, kapi.Scheme, kapi.Scheme, o.OutputVersions...); len(errs) > 0 { for _, err := range errs { fmt.Fprintf(o.Action.ErrOut, "error: %v\n", err) } } if o.Action.ShouldPrint() || (o.Action.Output == "name" && len(o.AsTemplate) > 0) { var out runtime.Object if len(o.AsTemplate) > 0 { template.Name = o.AsTemplate out = template } else { out = &kapi.List{Items: template.Objects} } return o.PrintObject(out) } result, err := appcmd.TransformTemplate(template, o.Client, o.Namespace, nil) if err != nil { return err } if o.Action.Verbose() { appcmd.DescribeGeneratedTemplate(o.Action.Out, "", result, o.Namespace) } if errs := o.Action.WithMessage("Importing app.json", "creating").Run(&kapi.List{Items: result.Objects}, o.Namespace); len(errs) > 0 { return cmdutil.ErrExit } return nil }