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  }