github.com/ijc/docker-app@v0.6.1-0.20181012090447-c7ca8bc483fb/cmd/docker-app/inspect.go (about) 1 package main 2 3 import ( 4 "github.com/docker/app/internal/inspect" 5 "github.com/docker/app/internal/packager" 6 "github.com/docker/app/types" 7 "github.com/docker/cli/cli" 8 "github.com/docker/cli/cli/command" 9 cliopts "github.com/docker/cli/opts" 10 "github.com/spf13/cobra" 11 ) 12 13 var ( 14 inspectSettingsFile []string 15 inspectEnv []string 16 ) 17 18 // inspectCmd represents the inspect command 19 func inspectCmd(dockerCli command.Cli) *cobra.Command { 20 cmd := &cobra.Command{ 21 Use: "inspect [<app-name>] [-s key=value...] [-f settings-file...]", 22 Short: "Shows metadata, settings and a summary of the compose file for a given application", 23 Args: cli.RequiresMaxArgs(1), 24 RunE: func(cmd *cobra.Command, args []string) error { 25 app, err := packager.Extract(firstOrEmpty(args), 26 types.WithSettingsFiles(inspectSettingsFile...), 27 ) 28 if err != nil { 29 return err 30 } 31 defer app.Cleanup() 32 argSettings := cliopts.ConvertKVStringsToMap(inspectEnv) 33 return inspect.Inspect(dockerCli.Out(), app, argSettings) 34 }, 35 } 36 cmd.Flags().StringArrayVarP(&inspectSettingsFile, "settings-files", "f", []string{}, "Override settings files") 37 cmd.Flags().StringArrayVarP(&inspectEnv, "set", "s", []string{}, "Override settings values") 38 return cmd 39 }