summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/podman/attach.go1
-rw-r--r--cmd/podman/build.go4
-rw-r--r--cmd/podman/checkpoint.go1
-rw-r--r--cmd/podman/cleanup.go1
-rw-r--r--cmd/podman/commit.go6
-rw-r--r--cmd/podman/common.go28
-rw-r--r--cmd/podman/container.go1
-rw-r--r--cmd/podman/containers_prune.go1
-rw-r--r--cmd/podman/cp.go9
-rw-r--r--cmd/podman/create.go22
-rw-r--r--cmd/podman/diff.go4
-rw-r--r--cmd/podman/exec.go35
-rw-r--r--cmd/podman/exists.go18
-rw-r--r--cmd/podman/export.go1
-rw-r--r--cmd/podman/generate.go1
-rw-r--r--cmd/podman/generate_kube.go9
-rw-r--r--cmd/podman/healthcheck.go1
-rw-r--r--cmd/podman/healthcheck_run.go2
-rw-r--r--cmd/podman/history.go6
-rw-r--r--cmd/podman/image.go1
-rw-r--r--cmd/podman/images.go3
-rw-r--r--cmd/podman/images_prune.go7
-rw-r--r--cmd/podman/import.go7
-rw-r--r--cmd/podman/info.go10
-rw-r--r--cmd/podman/inspect.go7
-rw-r--r--cmd/podman/kill.go1
-rw-r--r--cmd/podman/load.go1
-rw-r--r--cmd/podman/login.go1
-rw-r--r--cmd/podman/logout.go1
-rw-r--r--cmd/podman/logs.go7
-rw-r--r--cmd/podman/main.go4
-rw-r--r--cmd/podman/mount.go10
-rw-r--r--cmd/podman/pause.go9
-rw-r--r--cmd/podman/play.go2
-rw-r--r--cmd/podman/play_kube.go7
-rw-r--r--cmd/podman/pod.go6
-rw-r--r--cmd/podman/pod_create.go8
-rw-r--r--cmd/podman/pod_inspect.go8
-rw-r--r--cmd/podman/pod_kill.go7
-rw-r--r--cmd/podman/pod_pause.go7
-rw-r--r--cmd/podman/pod_ps.go1
-rw-r--r--cmd/podman/pod_restart.go7
-rw-r--r--cmd/podman/pod_rm.go9
-rw-r--r--cmd/podman/pod_start.go7
-rw-r--r--cmd/podman/pod_stats.go8
-rw-r--r--cmd/podman/pod_stop.go7
-rw-r--r--cmd/podman/pod_top.go11
-rw-r--r--cmd/podman/pod_unpause.go7
-rw-r--r--cmd/podman/port.go6
-rw-r--r--cmd/podman/ps.go5
-rw-r--r--cmd/podman/pull.go9
-rw-r--r--cmd/podman/push.go8
-rw-r--r--cmd/podman/refresh.go8
-rw-r--r--cmd/podman/restart.go7
-rw-r--r--cmd/podman/restore.go1
-rw-r--r--cmd/podman/rm.go9
-rw-r--r--cmd/podman/rmi.go3
-rw-r--r--cmd/podman/run.go1
-rw-r--r--cmd/podman/runlabel.go1
-rw-r--r--cmd/podman/save.go5
-rw-r--r--cmd/podman/search.go7
-rw-r--r--cmd/podman/sign.go3
-rw-r--r--cmd/podman/start.go6
-rw-r--r--cmd/podman/stats.go5
-rw-r--r--cmd/podman/stop.go9
-rw-r--r--cmd/podman/system.go1
-rw-r--r--cmd/podman/system_prune.go1
-rw-r--r--cmd/podman/system_renumber.go1
-rw-r--r--cmd/podman/tag.go3
-rw-r--r--cmd/podman/top.go17
-rw-r--r--cmd/podman/trust.go7
-rw-r--r--cmd/podman/trust_set_show.go2
-rw-r--r--cmd/podman/umount.go12
-rw-r--r--cmd/podman/unpause.go9
-rw-r--r--cmd/podman/varlink.go6
-rw-r--r--cmd/podman/volume.go5
-rw-r--r--cmd/podman/volume_create.go7
-rw-r--r--cmd/podman/volume_inspect.go8
-rw-r--r--cmd/podman/volume_ls.go4
-rw-r--r--cmd/podman/volume_prune.go9
-rw-r--r--cmd/podman/volume_rm.go9
-rw-r--r--cmd/podman/wait.go6
82 files changed, 302 insertions, 220 deletions
diff --git a/cmd/podman/attach.go b/cmd/podman/attach.go
index a22aa92a1..08976cdaa 100644
--- a/cmd/podman/attach.go
+++ b/cmd/podman/attach.go
@@ -30,6 +30,7 @@ var (
func init() {
attachCommand.Command = _attachCommand
+ attachCommand.SetHelpTemplate(HelpTemplate())
attachCommand.SetUsageTemplate(UsageTemplate())
flags := attachCommand.Flags()
flags.StringVar(&attachCommand.DetachKeys, "detach-keys", "", "Override the key sequence for detaching a container. Format is a single character [a-Z] or ctrl-<value> where <value> is one of: a-z, @, ^, [, , or _")
diff --git a/cmd/podman/build.go b/cmd/podman/build.go
index cfeabfb4e..5fcf03b93 100644
--- a/cmd/podman/build.go
+++ b/cmd/podman/build.go
@@ -18,8 +18,7 @@ import (
var (
buildCommand cliconfig.BuildValues
- buildDescription = "Builds an OCI or Docker image using instructions from one\n" +
- "or more Dockerfiles and a specified build context directory."
+ buildDescription = "Builds an OCI or Docker image using instructions from one or more Dockerfiles and a specified build context directory."
layerValues buildahcli.LayerResults
budFlagsValues buildahcli.BudResults
fromAndBudValues buildahcli.FromAndBudResults
@@ -48,6 +47,7 @@ var (
func init() {
buildCommand.Command = _buildCommand
+ buildCommand.SetHelpTemplate(HelpTemplate())
buildCommand.SetUsageTemplate(UsageTemplate())
flags := buildCommand.Flags()
flags.SetInterspersed(false)
diff --git a/cmd/podman/checkpoint.go b/cmd/podman/checkpoint.go
index 367065766..dbf72c2cd 100644
--- a/cmd/podman/checkpoint.go
+++ b/cmd/podman/checkpoint.go
@@ -40,6 +40,7 @@ var (
func init() {
checkpointCommand.Command = _checkpointCommand
+ checkpointCommand.SetHelpTemplate(HelpTemplate())
checkpointCommand.SetUsageTemplate(UsageTemplate())
flags := checkpointCommand.Flags()
diff --git a/cmd/podman/cleanup.go b/cmd/podman/cleanup.go
index fbbd337a7..17e637da1 100644
--- a/cmd/podman/cleanup.go
+++ b/cmd/podman/cleanup.go
@@ -37,6 +37,7 @@ var (
func init() {
cleanupCommand.Command = _cleanupCommand
+ cleanupCommand.SetHelpTemplate(HelpTemplate())
cleanupCommand.SetUsageTemplate(UsageTemplate())
flags := cleanupCommand.Flags()
diff --git a/cmd/podman/commit.go b/cmd/podman/commit.go
index 43c54c320..584ab6880 100644
--- a/cmd/podman/commit.go
+++ b/cmd/podman/commit.go
@@ -19,10 +19,7 @@ import (
var (
commitCommand cliconfig.CommitValues
- commitDescription = `Create an image from a container's changes.
- Optionally tag the image created, set the author with the --author flag,
- set the commit message with the --message flag,
- and make changes to the instructions with the --change flag.`
+ commitDescription = `Create an image from a container's changes. Optionally tag the image created, set the author with the --author flag, set the commit message with the --message flag, and make changes to the instructions with the --change flag.`
_commitCommand = &cobra.Command{
Use: "commit [flags] CONTAINER IMAGE",
@@ -41,6 +38,7 @@ var (
func init() {
commitCommand.Command = _commitCommand
+ commitCommand.SetHelpTemplate(HelpTemplate())
commitCommand.SetUsageTemplate(UsageTemplate())
flags := commitCommand.Flags()
flags.StringSliceVarP(&commitCommand.Change, "change", "c", []string{}, fmt.Sprintf("Apply the following possible instructions to the created image (default []): %s", strings.Join(libpod.ChangeCmds, " | ")))
diff --git a/cmd/podman/common.go b/cmd/podman/common.go
index c9e937825..30eaa95d8 100644
--- a/cmd/podman/common.go
+++ b/cmd/podman/common.go
@@ -3,7 +3,6 @@ package main
import (
"context"
"fmt"
- "github.com/spf13/cobra"
"os"
"strings"
@@ -14,6 +13,7 @@ import (
"github.com/containers/storage"
"github.com/fatih/camelcase"
"github.com/pkg/errors"
+ "github.com/spf13/cobra"
)
var (
@@ -67,6 +67,16 @@ func noSubArgs(c *cobra.Command, args []string) error {
return nil
}
+func commandRunE() func(*cobra.Command, []string) error {
+ return func(cmd *cobra.Command, args []string) error {
+ if len(args) > 0 {
+ return errors.Errorf("unrecognized command `%s %s`\nTry '%s --help' for more information.", cmd.CommandPath(), args[0], cmd.CommandPath())
+ } else {
+ return errors.Errorf("missing command '%s COMMAND'\nTry '%s --help' for more information.", cmd.CommandPath(), cmd.CommandPath())
+ }
+ }
+}
+
// getAllOrLatestContainers tries to return the correct list of containers
// depending if --all, --latest or <container-id> is used.
// It requires the Context (c) and the Runtime (runtime). As different
@@ -311,7 +321,7 @@ func getCreateFlags(c *cliconfig.PodmanCommand) {
"kernel-memory", "",
"Kernel memory limit (format: `<number>[<unit>]`, where unit = b, k, m or g)",
)
- createFlags.StringSliceP(
+ createFlags.StringArrayP(
"label", "l", []string{},
"Set metadata on container (default [])",
)
@@ -521,11 +531,23 @@ func scrubServer(server string) string {
return strings.TrimPrefix(server, "http://")
}
+// HelpTemplate returns the help template for podman commands
+// This uses the short and long options.
+// command should not use this.
+func HelpTemplate() string {
+ return `{{.Short}}
+
+Description:
+ {{.Long}}
+
+{{if or .Runnable .HasSubCommands}}{{.UsageString}}{{end}}`
+}
+
// UsageTemplate returns the usage template for podman commands
// This blocks the desplaying of the global options. The main podman
// command should not use this.
func UsageTemplate() string {
- return `Usage:{{if .Runnable}}
+ return `Usage:{{if (and .Runnable (not .HasAvailableSubCommands))}}
{{.UseLine}}{{end}}{{if .HasAvailableSubCommands}}
{{.CommandPath}} [command]{{end}}{{if gt (len .Aliases) 0}}
diff --git a/cmd/podman/container.go b/cmd/podman/container.go
index 0bcdf533a..8ad8d7a44 100644
--- a/cmd/podman/container.go
+++ b/cmd/podman/container.go
@@ -15,6 +15,7 @@ var (
Short: "Manage Containers",
Long: containerDescription,
TraverseChildren: true,
+ RunE: commandRunE(),
},
}
diff --git a/cmd/podman/containers_prune.go b/cmd/podman/containers_prune.go
index 0d0e75332..39be70c5b 100644
--- a/cmd/podman/containers_prune.go
+++ b/cmd/podman/containers_prune.go
@@ -34,6 +34,7 @@ var (
func init() {
pruneContainersCommand.Command = _pruneContainersCommand
+ pruneContainersCommand.SetHelpTemplate(HelpTemplate())
pruneContainersCommand.SetUsageTemplate(UsageTemplate())
flags := pruneContainersCommand.Flags()
flags.BoolVarP(&pruneContainersCommand.Force, "force", "f", false, "Force removal of a running container. The default is false")
diff --git a/cmd/podman/cp.go b/cmd/podman/cp.go
index a3411b158..6223676ac 100644
--- a/cmd/podman/cp.go
+++ b/cmd/podman/cp.go
@@ -27,8 +27,11 @@ import (
var (
cpCommand cliconfig.CpValues
- cpDescription = "Copy files/folders between a container and the local filesystem"
- _cpCommand = &cobra.Command{
+ cpDescription = `Command copies the contents of SRC_PATH to the DEST_PATH.
+
+ You can copy from the container's file system to the local machine or the reverse, from the local filesystem to the container. If "-" is specified for either the SRC_PATH or DEST_PATH, you can also stream a tar archive from STDIN or to STDOUT. The CONTAINER can be a running or stopped container. The SRC_PATH or DEST_PATH can be a file or directory.
+`
+ _cpCommand = &cobra.Command{
Use: "cp [flags] SRC_PATH DEST_PATH",
Short: "Copy files/folders between a container and the local filesystem",
Long: cpDescription,
@@ -45,6 +48,8 @@ func init() {
cpCommand.Command = _cpCommand
flags := cpCommand.Flags()
flags.BoolVar(&cpCommand.Extract, "extract", false, "Extract the tar file into the destination directory.")
+ cpCommand.SetHelpTemplate(HelpTemplate())
+ cpCommand.SetUsageTemplate(UsageTemplate())
rootCmd.AddCommand(cpCommand.Command)
}
diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index a7b9bbf31..8a5d0cf73 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -37,11 +37,9 @@ import (
var (
createCommand cliconfig.CreateValues
- createDescription = "Creates a new container from the given image or" +
- " storage and prepares it for running the specified command. The" +
- " container ID is then printed to stdout. You can then start it at" +
- " any time with the podman start <container_id> command. The container" +
- " will be created with the initial state 'created'."
+ createDescription = `Creates a new container from the given image or storage and prepares it for running the specified command.
+
+ The container ID is then printed to stdout. You can then start it at any time with the podman start <container_id> command. The container will be created with the initial state 'created'.`
_createCommand = &cobra.Command{
Use: "create [flags] IMAGE [COMMAND [ARG...]]",
Short: "Create but do not start a container",
@@ -64,6 +62,7 @@ var (
func init() {
createCommand.PodmanCommand.Command = _createCommand
+ createCommand.SetHelpTemplate(HelpTemplate())
createCommand.SetUsageTemplate(UsageTemplate())
getCreateFlags(&createCommand.PodmanCommand)
@@ -593,7 +592,7 @@ func parseCreateOpts(ctx context.Context, c *cliconfig.PodmanCommand, runtime *l
}
// LABEL VARIABLES
- labels, err := getAllLabels(c.StringSlice("label-file"), c.StringSlice("label"))
+ labels, err := getAllLabels(c.StringSlice("label-file"), c.StringArray("label"))
if err != nil {
return nil, errors.Wrapf(err, "unable to process labels")
}
@@ -894,7 +893,16 @@ func joinOrCreateRootlessUserNamespace(createConfig *cc.CreateConfig, runtime *l
}
return false, -1, errors.Errorf("dependency container %s is not running", ctr.ID())
}
- return rootless.JoinNS(uint(pid), 0)
+
+ data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile)
+ if err != nil {
+ return false, -1, errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile)
+ }
+ conmonPid, err := strconv.Atoi(string(data))
+ if err != nil {
+ return false, -1, errors.Wrapf(err, "cannot parse PID %q", data)
+ }
+ return rootless.JoinDirectUserAndMountNS(uint(conmonPid))
}
}
return rootless.BecomeRootInUserNS()
diff --git a/cmd/podman/diff.go b/cmd/podman/diff.go
index e232d7e66..bd3a985b7 100644
--- a/cmd/podman/diff.go
+++ b/cmd/podman/diff.go
@@ -34,8 +34,7 @@ func (so stdoutStruct) Out() error {
var (
diffCommand cliconfig.DiffValues
- diffDescription = fmt.Sprint(`Displays changes on a container or image's filesystem. The
- container or image will be compared to its parent layer`)
+ diffDescription = fmt.Sprint(`Displays changes on a container or image's filesystem. The container or image will be compared to its parent layer.`)
_diffCommand = &cobra.Command{
Use: "diff [flags] CONTAINER | IMAGE",
@@ -54,6 +53,7 @@ var (
func init() {
diffCommand.Command = _diffCommand
+ diffCommand.SetHelpTemplate(HelpTemplate())
diffCommand.SetUsageTemplate(UsageTemplate())
flags := diffCommand.Flags()
diff --git a/cmd/podman/exec.go b/cmd/podman/exec.go
index 32a6e4bb5..e4cea1f5e 100644
--- a/cmd/podman/exec.go
+++ b/cmd/podman/exec.go
@@ -17,10 +17,7 @@ import (
var (
execCommand cliconfig.ExecValues
- execDescription = `
- podman exec
-
- Run a command in a running container
+ execDescription = `Execute the specified command inside a running container.
`
_execCommand = &cobra.Command{
Use: "exec [flags] CONTAINER [COMMAND [ARG...]]",
@@ -39,6 +36,7 @@ var (
func init() {
execCommand.Command = _execCommand
+ execCommand.SetHelpTemplate(HelpTemplate())
execCommand.SetUsageTemplate(UsageTemplate())
flags := execCommand.Flags()
flags.SetInterspersed(false)
@@ -108,16 +106,25 @@ func execCmd(c *cliconfig.ExecValues) error {
}
- pid, err := ctr.PID()
- if err != nil {
- return err
- }
- became, ret, err := rootless.JoinNS(uint(pid), c.PreserveFDs)
- if err != nil {
- return err
- }
- if became {
- os.Exit(ret)
+ if os.Geteuid() != 0 {
+ var became bool
+ var ret int
+
+ data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile)
+ if err != nil {
+ return errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile)
+ }
+ conmonPid, err := strconv.Atoi(string(data))
+ if err != nil {
+ return errors.Wrapf(err, "cannot parse PID %q", data)
+ }
+ became, ret, err = rootless.JoinDirectUserAndMountNS(uint(conmonPid))
+ if err != nil {
+ return err
+ }
+ if became {
+ os.Exit(ret)
+ }
}
// ENVIRONMENT VARIABLES
diff --git a/cmd/podman/exists.go b/cmd/podman/exists.go
index 109831e74..8a2f78c88 100644
--- a/cmd/podman/exists.go
+++ b/cmd/podman/exists.go
@@ -16,21 +16,12 @@ var (
containerExistsCommand cliconfig.ContainerExistsValues
podExistsCommand cliconfig.PodExistsValues
- imageExistsDescription = `
- podman image exists
+ imageExistsDescription = `If the named image exists in local storage, podman image exists exits with 0, otherwise the exit code will be 1.`
- Check if an image exists in local storage
-`
- containerExistsDescription = `
- podman container exists
+ containerExistsDescription = `If the named container exists in local storage, podman container exists exits with 0, otherwise the exit code will be 1.`
- Check if a container exists in local storage
-`
- podExistsDescription = `
- podman pod exists
+ podExistsDescription = `If the named pod exists in local storage, podman pod exists exits with 0, otherwise the exit code will be 1.`
- Check if a pod exists in local storage
-`
_imageExistsCommand = &cobra.Command{
Use: "exists IMAGE",
Short: "Check if an image exists in local storage",
@@ -75,12 +66,15 @@ var (
func init() {
imageExistsCommand.Command = _imageExistsCommand
imageExistsCommand.DisableFlagsInUseLine = true
+ imageExistsCommand.SetHelpTemplate(HelpTemplate())
imageExistsCommand.SetUsageTemplate(UsageTemplate())
containerExistsCommand.Command = _containerExistsCommand
containerExistsCommand.DisableFlagsInUseLine = true
+ containerExistsCommand.SetHelpTemplate(HelpTemplate())
containerExistsCommand.SetUsageTemplate(UsageTemplate())
podExistsCommand.Command = _podExistsCommand
podExistsCommand.DisableFlagsInUseLine = true
+ podExistsCommand.SetHelpTemplate(HelpTemplate())
podExistsCommand.SetUsageTemplate(UsageTemplate())
}
diff --git a/cmd/podman/export.go b/cmd/podman/export.go
index d40c05019..4be2a3c86 100644
--- a/cmd/podman/export.go
+++ b/cmd/podman/export.go
@@ -32,6 +32,7 @@ var (
func init() {
exportCommand.Command = _exportCommand
+ exportCommand.SetHelpTemplate(HelpTemplate())
exportCommand.SetUsageTemplate(UsageTemplate())
flags := exportCommand.Flags()
flags.StringVarP(&exportCommand.Output, "output", "o", "/dev/stdout", "Write to a file, default is STDOUT")
diff --git a/cmd/podman/generate.go b/cmd/podman/generate.go
index 773d625ee..197fd26a6 100644
--- a/cmd/podman/generate.go
+++ b/cmd/podman/generate.go
@@ -12,6 +12,7 @@ var (
Use: "generate",
Short: "Generated structured data",
Long: generateDescription,
+ RunE: commandRunE(),
}
)
diff --git a/cmd/podman/generate_kube.go b/cmd/podman/generate_kube.go
index fa2872b77..e3db14af3 100644
--- a/cmd/podman/generate_kube.go
+++ b/cmd/podman/generate_kube.go
@@ -15,10 +15,12 @@ import (
var (
containerKubeCommand cliconfig.GenerateKubeValues
- containerKubeDescription = "Generate Kubernetes Pod YAML"
- _containerKubeCommand = &cobra.Command{
+ containerKubeDescription = `Command generates Kubernetes Pod YAML (v1 specification) from a podman container or pod.
+
+ Whether the input is for a container or pod, Podman will always generate the specification as a Pod. The input may be in the form of a pod or container name or ID.`
+ _containerKubeCommand = &cobra.Command{
Use: "kube [flags] CONTAINER | POD",
- Short: "Generate Kubernetes pod YAML for a container or pod",
+ Short: "Generate Kubernetes pod YAML from a container or pod",
Long: containerKubeDescription,
RunE: func(cmd *cobra.Command, args []string) error {
containerKubeCommand.InputArgs = args
@@ -33,6 +35,7 @@ var (
func init() {
containerKubeCommand.Command = _containerKubeCommand
+ containerKubeCommand.SetHelpTemplate(HelpTemplate())
containerKubeCommand.SetUsageTemplate(UsageTemplate())
flags := containerKubeCommand.Flags()
flags.BoolVarP(&containerKubeCommand.Service, "service", "s", false, "Generate YAML for kubernetes service object")
diff --git a/cmd/podman/healthcheck.go b/cmd/podman/healthcheck.go
index e7cc125cc..48d6b6bbf 100644
--- a/cmd/podman/healthcheck.go
+++ b/cmd/podman/healthcheck.go
@@ -11,6 +11,7 @@ var healthcheckCommand = cliconfig.PodmanCommand{
Use: "healthcheck",
Short: "Manage Healthcheck",
Long: healthcheckDescription,
+ RunE: commandRunE(),
},
}
diff --git a/cmd/podman/healthcheck_run.go b/cmd/podman/healthcheck_run.go
index a91f87146..d92b2ac01 100644
--- a/cmd/podman/healthcheck_run.go
+++ b/cmd/podman/healthcheck_run.go
@@ -13,7 +13,7 @@ var (
healthcheckRunCommand cliconfig.HealthCheckValues
healthcheckRunDescription = "run the health check of a container"
_healthcheckrunCommand = &cobra.Command{
- Use: "run CONTAINER",
+ Use: "run [flags] CONTAINER",
Short: "run the health check of a container",
Long: healthcheckRunDescription,
Example: `podman healthcheck run mywebapp`,
diff --git a/cmd/podman/history.go b/cmd/podman/history.go
index 533ee91cb..f6cfe91b6 100644
--- a/cmd/podman/history.go
+++ b/cmd/podman/history.go
@@ -37,8 +37,9 @@ type historyOptions struct {
var (
historyCommand cliconfig.HistoryValues
- historyDescription = "Displays the history of an image. The information can be printed out in an easy to read, " +
- "or user specified format, and can be truncated."
+ historyDescription = `Displays the history of an image.
+
+ The information can be printed out in an easy to read, or user specified format, and can be truncated.`
_historyCommand = &cobra.Command{
Use: "history [flags] IMAGE",
Short: "Show history of a specified image",
@@ -53,6 +54,7 @@ var (
func init() {
historyCommand.Command = _historyCommand
+ historyCommand.SetHelpTemplate(HelpTemplate())
historyCommand.SetUsageTemplate(UsageTemplate())
flags := historyCommand.Flags()
flags.StringVar(&historyCommand.Format, "format", "", "Change the output to JSON or a Go template")
diff --git a/cmd/podman/image.go b/cmd/podman/image.go
index 57be7fe14..52bac6ecb 100644
--- a/cmd/podman/image.go
+++ b/cmd/podman/image.go
@@ -14,6 +14,7 @@ var (
Use: "image",
Short: "Manage images",
Long: imageDescription,
+ RunE: commandRunE(),
},
}
imagesSubCommand cliconfig.ImagesValues
diff --git a/cmd/podman/images.go b/cmd/podman/images.go
index 80b12b0eb..f92e5d44d 100644
--- a/cmd/podman/images.go
+++ b/cmd/podman/images.go
@@ -86,7 +86,7 @@ func (a imagesSortedSize) Less(i, j int) bool {
var (
imagesCommand cliconfig.ImagesValues
- imagesDescription = "lists locally stored images."
+ imagesDescription = "Lists images previously pulled to the system or created on the system."
_imagesCommand = cobra.Command{
Use: "images [flags] [IMAGE]",
@@ -104,6 +104,7 @@ var (
)
func imagesInit(command *cliconfig.ImagesValues) {
+ command.SetHelpTemplate(HelpTemplate())
command.SetUsageTemplate(UsageTemplate())
flags := command.Flags()
diff --git a/cmd/podman/images_prune.go b/cmd/podman/images_prune.go
index 427374f68..b6f335fb3 100644
--- a/cmd/podman/images_prune.go
+++ b/cmd/podman/images_prune.go
@@ -11,11 +11,9 @@ import (
var (
pruneImagesCommand cliconfig.PruneImagesValues
- pruneImagesDescription = `
- podman image prune
+ pruneImagesDescription = `Removes all unnamed images from local storage.
- Removes all unnamed images from local storage
-`
+ If an image is not being used by a container, it will be removed from the system.`
_pruneImagesCommand = &cobra.Command{
Use: "prune",
Args: noSubArgs,
@@ -31,6 +29,7 @@ var (
func init() {
pruneImagesCommand.Command = _pruneImagesCommand
+ pruneImagesCommand.SetHelpTemplate(HelpTemplate())
pruneImagesCommand.SetUsageTemplate(UsageTemplate())
flags := pruneImagesCommand.Flags()
flags.BoolVarP(&pruneImagesCommand.All, "all", "a", false, "Remove all unused images, not just dangling ones")
diff --git a/cmd/podman/import.go b/cmd/podman/import.go
index ddf1bd802..c3351ab1b 100644
--- a/cmd/podman/import.go
+++ b/cmd/podman/import.go
@@ -13,9 +13,9 @@ var (
importCommand cliconfig.ImportValues
importDescription = `Create a container image from the contents of the specified tarball (.tar, .tar.gz, .tgz, .bzip, .tar.xz, .txz).
- Note remote tar balls can be specified, via web address.
- Optionally tag the image. You can specify the instructions using the --change option.
- `
+
+ Note remote tar balls can be specified, via web address.
+ Optionally tag the image. You can specify the instructions using the --change option.`
_importCommand = &cobra.Command{
Use: "import [flags] PATH [REFERENCE]",
Short: "Import a tarball to create a filesystem image",
@@ -33,6 +33,7 @@ var (
func init() {
importCommand.Command = _importCommand
+ importCommand.SetHelpTemplate(HelpTemplate())
importCommand.SetUsageTemplate(UsageTemplate())
flags := importCommand.Flags()
flags.StringSliceVarP(&importCommand.Change, "change", "c", []string{}, "Apply the following possible instructions to the created image (default []): CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR")
diff --git a/cmd/podman/info.go b/cmd/podman/info.go
index e87f4e151..de20eb009 100644
--- a/cmd/podman/info.go
+++ b/cmd/podman/info.go
@@ -16,12 +16,15 @@ import (
var (
infoCommand cliconfig.InfoValues
- infoDescription = "Display podman system information"
- _infoCommand = &cobra.Command{
+ infoDescription = `Display information pertaining to the host, current storage stats, and build of podman.
+
+ Useful for the user and when reporting issues.
+`
+ _infoCommand = &cobra.Command{
Use: "info",
Args: noSubArgs,
Long: infoDescription,
- Short: `Display information pertaining to the host, current storage stats, and build of podman. Useful for the user and when reporting issues.`,
+ Short: "Display podman system information",
RunE: func(cmd *cobra.Command, args []string) error {
infoCommand.InputArgs = args
infoCommand.GlobalFlags = MainGlobalOpts
@@ -33,6 +36,7 @@ var (
func init() {
infoCommand.Command = _infoCommand
+ infoCommand.SetHelpTemplate(HelpTemplate())
infoCommand.SetUsageTemplate(UsageTemplate())
flags := infoCommand.Flags()
diff --git a/cmd/podman/inspect.go b/cmd/podman/inspect.go
index 1c93a03e1..0af96088f 100644
--- a/cmd/podman/inspect.go
+++ b/cmd/podman/inspect.go
@@ -24,8 +24,10 @@ const (
var (
inspectCommand cliconfig.InspectValues
- inspectDescription = "This displays the low-level information on containers and images identified by name or ID. By default, this will render all results in a JSON array. If the container and image have the same name, this will return container JSON for unspecified type."
- _inspectCommand = &cobra.Command{
+ inspectDescription = `This displays the low-level information on containers and images identified by name or ID.
+
+ If given a name that matches both a container and an image, this command inspects the container. By default, this will render all results in a JSON array.`
+ _inspectCommand = &cobra.Command{
Use: "inspect [flags] CONTAINER | IMAGE",
Short: "Display the configuration of a container or image",
Long: inspectDescription,
@@ -42,6 +44,7 @@ var (
func init() {
inspectCommand.Command = _inspectCommand
+ inspectCommand.SetHelpTemplate(HelpTemplate())
inspectCommand.SetUsageTemplate(UsageTemplate())
flags := inspectCommand.Flags()
flags.StringVarP(&inspectCommand.TypeObject, "type", "t", inspectAll, "Return JSON for specified type, (e.g image, container or task)")
diff --git a/cmd/podman/kill.go b/cmd/podman/kill.go
index 82a257e23..2c1e13eaf 100644
--- a/cmd/podman/kill.go
+++ b/cmd/podman/kill.go
@@ -38,6 +38,7 @@ var (
func init() {
killCommand.Command = _killCommand
+ killCommand.SetHelpTemplate(HelpTemplate())
killCommand.SetUsageTemplate(UsageTemplate())
flags := killCommand.Flags()
diff --git a/cmd/podman/load.go b/cmd/podman/load.go
index 5a0742aba..3c71e2f61 100644
--- a/cmd/podman/load.go
+++ b/cmd/podman/load.go
@@ -30,6 +30,7 @@ var (
func init() {
loadCommand.Command = _loadCommand
+ loadCommand.SetHelpTemplate(HelpTemplate())
loadCommand.SetUsageTemplate(UsageTemplate())
flags := loadCommand.Flags()
flags.StringVarP(&loadCommand.Input, "input", "i", "/dev/stdin", "Read from archive file, default is STDIN")
diff --git a/cmd/podman/login.go b/cmd/podman/login.go
index 48d4eefbc..43a7d246e 100644
--- a/cmd/podman/login.go
+++ b/cmd/podman/login.go
@@ -37,6 +37,7 @@ var (
func init() {
loginCommand.Command = _loginCommand
+ loginCommand.SetHelpTemplate(HelpTemplate())
loginCommand.SetUsageTemplate(UsageTemplate())
flags := loginCommand.Flags()
diff --git a/cmd/podman/logout.go b/cmd/podman/logout.go
index 2a540ceba..268e6b44c 100644
--- a/cmd/podman/logout.go
+++ b/cmd/podman/logout.go
@@ -30,6 +30,7 @@ var (
func init() {
logoutCommand.Command = _logoutCommand
+ logoutCommand.SetHelpTemplate(HelpTemplate())
logoutCommand.SetUsageTemplate(UsageTemplate())
flags := logoutCommand.Flags()
flags.BoolVarP(&logoutCommand.All, "all", "a", false, "Remove the cached credentials for all registries in the auth file")
diff --git a/cmd/podman/logs.go b/cmd/podman/logs.go
index a02010eda..9df7281fc 100644
--- a/cmd/podman/logs.go
+++ b/cmd/podman/logs.go
@@ -15,8 +15,10 @@ import (
var (
logsCommand cliconfig.LogsValues
- logsDescription = "The podman logs command batch-retrieves whatever logs are present for a container at the time of execution. This does not guarantee execution" +
- "order when combined with podman run (i.e. your run may not have generated any logs at the time you execute podman logs"
+ logsDescription = `Retrieves logs for a container.
+
+ This does not guarantee execution order when combined with podman run (i.e. your run may not have generated any logs at the time you execute podman logs.
+`
_logsCommand = &cobra.Command{
Use: "logs [flags] CONTAINER",
Short: "Fetch the logs of a container",
@@ -34,6 +36,7 @@ var (
func init() {
logsCommand.Command = _logsCommand
+ logsCommand.SetHelpTemplate(HelpTemplate())
logsCommand.SetUsageTemplate(UsageTemplate())
flags := logsCommand.Flags()
flags.BoolVar(&logsCommand.Details, "details", false, "Show extra details provided to the logs")
diff --git a/cmd/podman/main.go b/cmd/podman/main.go
index 97ffa8930..7d4b650a9 100644
--- a/cmd/podman/main.go
+++ b/cmd/podman/main.go
@@ -82,9 +82,7 @@ var cmdsNotRequiringRootless = map[*cobra.Command]bool{
var rootCmd = &cobra.Command{
Use: "podman",
Long: "manage pods and images",
- RunE: func(cmd *cobra.Command, args []string) error {
- return cmd.Help()
- },
+ RunE: commandRunE(),
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
return before(cmd, args)
},
diff --git a/cmd/podman/mount.go b/cmd/podman/mount.go
index 3a3432194..c5b7e2404 100644
--- a/cmd/podman/mount.go
+++ b/cmd/podman/mount.go
@@ -17,12 +17,11 @@ import (
var (
mountCommand cliconfig.MountValues
- mountDescription = `
- podman mount
- Lists all mounted containers mount points
+ mountDescription = `podman mount
+ Lists all mounted containers mount points if no container is specified
- podman mount CONTAINER-NAME-OR-ID
- Mounts the specified container and outputs the mountpoint
+ podman mount CONTAINER-NAME-OR-ID
+ Mounts the specified container and outputs the mountpoint
`
_mountCommand = &cobra.Command{
@@ -42,6 +41,7 @@ var (
func init() {
mountCommand.Command = _mountCommand
+ mountCommand.SetHelpTemplate(HelpTemplate())
mountCommand.SetUsageTemplate(UsageTemplate())
flags := mountCommand.Flags()
flags.BoolVarP(&mountCommand.All, "all", "a", false, "Mount all containers")
diff --git a/cmd/podman/pause.go b/cmd/podman/pause.go
index 3a5b80359..fa4648128 100644
--- a/cmd/podman/pause.go
+++ b/cmd/podman/pause.go
@@ -14,12 +14,8 @@ import (
var (
pauseCommand cliconfig.PauseValues
- pauseDescription = `
- podman pause
-
- Pauses one or more running containers. The container name or ID can be used.
-`
- _pauseCommand = &cobra.Command{
+ pauseDescription = `Pauses one or more running containers. The container name or ID can be used.`
+ _pauseCommand = &cobra.Command{
Use: "pause [flags] CONTAINER [CONTAINER...]",
Short: "Pause all the processes in one or more containers",
Long: pauseDescription,
@@ -36,6 +32,7 @@ var (
func init() {
pauseCommand.Command = _pauseCommand
+ pauseCommand.SetHelpTemplate(HelpTemplate())
pauseCommand.SetUsageTemplate(UsageTemplate())
flags := pauseCommand.Flags()
flags.BoolVarP(&pauseCommand.All, "all", "a", false, "Pause all running containers")
diff --git a/cmd/podman/play.go b/cmd/podman/play.go
index 495a1f170..95eae653e 100644
--- a/cmd/podman/play.go
+++ b/cmd/podman/play.go
@@ -12,11 +12,13 @@ var (
Use: "play",
Short: "Play a pod",
Long: playDescription,
+ RunE: commandRunE(),
}
)
func init() {
playCommand.Command = _playCommand
+ playCommand.SetHelpTemplate(HelpTemplate())
playCommand.SetUsageTemplate(UsageTemplate())
playCommand.AddCommand(getPlaySubCommands()...)
}
diff --git a/cmd/podman/play_kube.go b/cmd/podman/play_kube.go
index 1910b68b5..980f3a09c 100644
--- a/cmd/podman/play_kube.go
+++ b/cmd/podman/play_kube.go
@@ -32,8 +32,10 @@ const (
var (
playKubeCommand cliconfig.KubePlayValues
- playKubeDescription = "Play a Pod and its containers based on a Kubrernetes YAML"
- _playKubeCommand = &cobra.Command{
+ playKubeDescription = `Command reads in a structured file of Kubernetes YAML.
+
+ It creates the pod and containers described in the YAML. The containers within the pod are then started and the ID of the new Pod is output.`
+ _playKubeCommand = &cobra.Command{
Use: "kube [flags] KUBEFILE",
Short: "Play a pod based on Kubernetes YAML",
Long: playKubeDescription,
@@ -49,6 +51,7 @@ var (
func init() {
playKubeCommand.Command = _playKubeCommand
+ playKubeCommand.SetHelpTemplate(HelpTemplate())
playKubeCommand.SetUsageTemplate(UsageTemplate())
flags := playKubeCommand.Flags()
flags.StringVar(&playKubeCommand.Authfile, "authfile", "", "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override")
diff --git a/cmd/podman/pod.go b/cmd/podman/pod.go
index 7067f2429..2d9bca21d 100644
--- a/cmd/podman/pod.go
+++ b/cmd/podman/pod.go
@@ -6,15 +6,14 @@ import (
)
var (
- podDescription = `Manage container pods.
-
-Pods are a group of one or more containers sharing the same network, pid and ipc namespaces.`
+ podDescription = `Pods are a group of one or more containers sharing the same network, pid and ipc namespaces.`
)
var podCommand = cliconfig.PodmanCommand{
Command: &cobra.Command{
Use: "pod",
Short: "Manage pods",
Long: podDescription,
+ RunE: commandRunE(),
},
}
@@ -37,5 +36,6 @@ var podSubCommands = []*cobra.Command{
func init() {
podCommand.AddCommand(podSubCommands...)
+ podCommand.SetHelpTemplate(HelpTemplate())
podCommand.SetUsageTemplate(UsageTemplate())
}
diff --git a/cmd/podman/pod_create.go b/cmd/podman/pod_create.go
index 43c211b2c..d2b7da597 100644
--- a/cmd/podman/pod_create.go
+++ b/cmd/podman/pod_create.go
@@ -17,10 +17,9 @@ var (
DefaultKernelNamespaces = "cgroup,ipc,net,uts"
podCreateCommand cliconfig.PodCreateValues
- podCreateDescription = "Creates a new empty pod. The pod ID is then" +
- " printed to stdout. You can then start it at any time with the" +
- " podman pod start <pod_id> command. The pod will be created with the" +
- " initial state 'created'."
+ podCreateDescription = `After creating the pod, the pod ID is printed to stdout.
+
+ You can then start it at any time with the podman pod start <pod_id> command. The pod will be created with the initial state 'created'.`
_podCreateCommand = &cobra.Command{
Use: "create",
@@ -37,6 +36,7 @@ var (
func init() {
podCreateCommand.Command = _podCreateCommand
+ podCreateCommand.SetHelpTemplate(HelpTemplate())
podCreateCommand.SetUsageTemplate(UsageTemplate())
flags := podCreateCommand.Flags()
flags.SetInterspersed(false)
diff --git a/cmd/podman/pod_inspect.go b/cmd/podman/pod_inspect.go
index 8b2747af0..79ffe2e6f 100644
--- a/cmd/podman/pod_inspect.go
+++ b/cmd/podman/pod_inspect.go
@@ -12,8 +12,11 @@ import (
var (
podInspectCommand cliconfig.PodInspectValues
- podInspectDescription = "Display the configuration for a pod by name or id"
- _podInspectCommand = &cobra.Command{
+ podInspectDescription = `Display the configuration for a pod by name or id
+
+ By default, this will render all results in a JSON array. If the container and image have the same name, this command returns the container JSON.`
+
+ _podInspectCommand = &cobra.Command{
Use: "inspect [flags] POD",
Short: "Displays a pod configuration",
Long: podInspectDescription,
@@ -28,6 +31,7 @@ var (
func init() {
podInspectCommand.Command = _podInspectCommand
+ podInspectCommand.SetHelpTemplate(HelpTemplate())
podInspectCommand.SetUsageTemplate(UsageTemplate())
flags := podInspectCommand.Flags()
flags.BoolVarP(&podInspectCommand.Latest, "latest", "l", false, "Act on the latest container podman is aware of")
diff --git a/cmd/podman/pod_kill.go b/cmd/podman/pod_kill.go
index 70d86d186..ebd7db762 100644
--- a/cmd/podman/pod_kill.go
+++ b/cmd/podman/pod_kill.go
@@ -14,8 +14,10 @@ import (
var (
podKillCommand cliconfig.PodKillValues
- podKillDescription = "The main process of each container inside the specified pod will be sent SIGKILL, or any signal specified with option --signal."
- _podKillCommand = &cobra.Command{
+ podKillDescription = `Signals are sent to the main process of each container inside the specified pod.
+
+ The default signal is SIGKILL, or any signal specified with option --signal.`
+ _podKillCommand = &cobra.Command{
Use: "kill [flags] POD [POD...]",
Short: "Send the specified signal or SIGKILL to containers in pod",
Long: podKillDescription,
@@ -35,6 +37,7 @@ var (
func init() {
podKillCommand.Command = _podKillCommand
+ podKillCommand.SetHelpTemplate(HelpTemplate())
podKillCommand.SetUsageTemplate(UsageTemplate())
flags := podKillCommand.Flags()
flags.BoolVarP(&podKillCommand.All, "all", "a", false, "Kill all containers in all pods")
diff --git a/cmd/podman/pod_pause.go b/cmd/podman/pod_pause.go
index f7c90dbbe..ff29e0e1d 100644
--- a/cmd/podman/pod_pause.go
+++ b/cmd/podman/pod_pause.go
@@ -11,8 +11,10 @@ import (
var (
podPauseCommand cliconfig.PodPauseValues
- podPauseDescription = `Pauses one or more pods. The pod name or ID can be used.`
- _podPauseCommand = &cobra.Command{
+ podPauseDescription = `The pod name or ID can be used.
+
+ All running containers within each specified pod will then be paused.`
+ _podPauseCommand = &cobra.Command{
Use: "pause [flags] POD [POD...]",
Short: "Pause one or more pods",
Long: podPauseDescription,
@@ -32,6 +34,7 @@ var (
func init() {
podPauseCommand.Command = _podPauseCommand
+ podPauseCommand.SetHelpTemplate(HelpTemplate())
podPauseCommand.SetUsageTemplate(UsageTemplate())
flags := podPauseCommand.Flags()
flags.BoolVarP(&podPauseCommand.All, "all", "a", false, "Pause all running pods")
diff --git a/cmd/podman/pod_ps.go b/cmd/podman/pod_ps.go
index 8e48740e6..e30a03005 100644
--- a/cmd/podman/pod_ps.go
+++ b/cmd/podman/pod_ps.go
@@ -134,6 +134,7 @@ var (
func init() {
podPsCommand.Command = _podPsCommand
+ podPsCommand.SetHelpTemplate(HelpTemplate())
podPsCommand.SetUsageTemplate(UsageTemplate())
flags := podPsCommand.Flags()
flags.BoolVar(&podPsCommand.CtrNames, "ctr-names", false, "Display the container names")
diff --git a/cmd/podman/pod_restart.go b/cmd/podman/pod_restart.go
index ba77e1409..0765b98db 100644
--- a/cmd/podman/pod_restart.go
+++ b/cmd/podman/pod_restart.go
@@ -12,8 +12,10 @@ import (
var (
podRestartCommand cliconfig.PodRestartValues
- podRestartDescription = `Restarts one or more pods. The pod ID or name can be used.`
- _podRestartCommand = &cobra.Command{
+ podRestartDescription = `The pod ID or name can be used.
+
+ All of the containers within each of the specified pods will be restarted. If a container in a pod is not currently running it will be started.`
+ _podRestartCommand = &cobra.Command{
Use: "restart [flags] POD [POD...]",
Short: "Restart one or more pods",
Long: podRestartDescription,
@@ -33,6 +35,7 @@ var (
func init() {
podRestartCommand.Command = _podRestartCommand
+ podRestartCommand.SetHelpTemplate(HelpTemplate())
podRestartCommand.SetUsageTemplate(UsageTemplate())
flags := podRestartCommand.Flags()
flags.BoolVarP(&podRestartCommand.All, "all", "a", false, "Restart all running pods")
diff --git a/cmd/podman/pod_rm.go b/cmd/podman/pod_rm.go
index fa452b061..a40992818 100644
--- a/cmd/podman/pod_rm.go
+++ b/cmd/podman/pod_rm.go
@@ -12,11 +12,9 @@ import (
var (
podRmCommand cliconfig.PodRmValues
- podRmDescription = fmt.Sprintf(`
-podman rm will remove one or more pods from the host. The pod name or ID can
-be used. A pod with containers will not be removed without --force.
-If --force is specified, all containers will be stopped, then removed.
-`)
+ podRmDescription = fmt.Sprintf(`podman rm will remove one or more pods from the host.
+
+ The pod name or ID can be used. A pod with containers will not be removed without --force. If --force is specified, all containers will be stopped, then removed.`)
_podRmCommand = &cobra.Command{
Use: "rm [flags] POD [POD...]",
Short: "Remove one or more pods",
@@ -37,6 +35,7 @@ If --force is specified, all containers will be stopped, then removed.
func init() {
podRmCommand.Command = _podRmCommand
+ podRmCommand.SetHelpTemplate(HelpTemplate())
podRmCommand.SetUsageTemplate(UsageTemplate())
flags := podRmCommand.Flags()
flags.BoolVarP(&podRmCommand.All, "all", "a", false, "Remove all running pods")
diff --git a/cmd/podman/pod_start.go b/cmd/podman/pod_start.go
index ca8ad08cf..949af80d8 100644
--- a/cmd/podman/pod_start.go
+++ b/cmd/podman/pod_start.go
@@ -12,11 +12,9 @@ import (
var (
podStartCommand cliconfig.PodStartValues
- podStartDescription = `
- podman pod start
+ podStartDescription = `The pod name or ID can be used.
- Starts one or more pods. The pod name or ID can be used.
-`
+ All containers defined in the pod will be started.`
_podStartCommand = &cobra.Command{
Use: "start [flags] POD [POD...]",
Short: "Start one or more pods",
@@ -37,6 +35,7 @@ var (
func init() {
podStartCommand.Command = _podStartCommand
+ podStartCommand.SetHelpTemplate(HelpTemplate())
podStartCommand.SetUsageTemplate(UsageTemplate())
flags := podStartCommand.Flags()
flags.BoolVarP(&podStartCommand.All, "all", "a", false, "Start all pods")
diff --git a/cmd/podman/pod_stats.go b/cmd/podman/pod_stats.go
index 2761ce9cc..7dbd84525 100644
--- a/cmd/podman/pod_stats.go
+++ b/cmd/podman/pod_stats.go
@@ -22,10 +22,11 @@ import (
var (
podStatsCommand cliconfig.PodStatsValues
- podStatsDescription = "Display a live stream of resource usage statistics for the containers in or more pods"
- _podStatsCommand = &cobra.Command{
+ podStatsDescription = `For each specified pod this command will display percentage of CPU, memory, network I/O, block I/O and PIDs for containers in one the pods.`
+
+ _podStatsCommand = &cobra.Command{
Use: "stats [flags] POD [POD...]",
- Short: "Display percentage of CPU, memory, network I/O, block I/O and PIDs for containers in one or more pods",
+ Short: "Display a live stream of resource usage statistics for the containers in one or more pods",
Long: podStatsDescription,
RunE: func(cmd *cobra.Command, args []string) error {
podStatsCommand.InputArgs = args
@@ -40,6 +41,7 @@ var (
func init() {
podStatsCommand.Command = _podStatsCommand
+ podStatsCommand.SetHelpTemplate(HelpTemplate())
podStatsCommand.SetUsageTemplate(UsageTemplate())
flags := podStatsCommand.Flags()
flags.BoolVarP(&podStatsCommand.All, "all", "a", false, "Provide stats for all running pods")
diff --git a/cmd/podman/pod_stop.go b/cmd/podman/pod_stop.go
index 951cf082a..f1b0ac51f 100644
--- a/cmd/podman/pod_stop.go
+++ b/cmd/podman/pod_stop.go
@@ -12,11 +12,9 @@ import (
var (
podStopCommand cliconfig.PodStopValues
- podStopDescription = `
- podman pod stop
+ podStopDescription = `The pod name or ID can be used.
- Stops one or more running pods. The pod name or ID can be used.
-`
+ This command will stop all running containers in each of the specified pods.`
_podStopCommand = &cobra.Command{
Use: "stop [flags] POD [POD...]",
@@ -38,6 +36,7 @@ var (
func init() {
podStopCommand.Command = _podStopCommand
+ podStopCommand.SetHelpTemplate(HelpTemplate())
podStopCommand.SetUsageTemplate(UsageTemplate())
flags := podStopCommand.Flags()
flags.BoolVarP(&podStopCommand.All, "all", "a", false, "Stop all running pods")
diff --git a/cmd/podman/pod_top.go b/cmd/podman/pod_top.go
index c5383d376..c9a6d8822 100644
--- a/cmd/podman/pod_top.go
+++ b/cmd/podman/pod_top.go
@@ -16,12 +16,10 @@ import (
var (
podTopCommand cliconfig.PodTopValues
- podTopDescription = fmt.Sprintf(`Display the running processes containers in a pod. Specify format descriptors
-to alter the output. You may run "podman pod top -l pid pcpu seccomp" to print
-the process ID, the CPU percentage and the seccomp mode of each process of
-the latest pod.
-%s
-`, getDescriptorString())
+ podTopDescription = fmt.Sprintf(`Specify format descriptors to alter the output.
+
+ You may run "podman pod top -l pid pcpu seccomp" to print the process ID, the CPU percentage and the seccomp mode of each process of the latest pod.
+%s`, getDescriptorString())
_podTopCommand = &cobra.Command{
Use: "top [flags] CONTAINER [FORMAT-DESCRIPTORS]",
@@ -40,6 +38,7 @@ the latest pod.
func init() {
podTopCommand.Command = _podTopCommand
+ podTopCommand.SetHelpTemplate(HelpTemplate())
podTopCommand.SetUsageTemplate(UsageTemplate())
flags := podTopCommand.Flags()
flags.BoolVarP(&podTopCommand.Latest, "latest,", "l", false, "Act on the latest pod podman is aware of")
diff --git a/cmd/podman/pod_unpause.go b/cmd/podman/pod_unpause.go
index 6b142d573..0623c6abb 100644
--- a/cmd/podman/pod_unpause.go
+++ b/cmd/podman/pod_unpause.go
@@ -12,8 +12,10 @@ import (
var (
podUnpauseCommand cliconfig.PodUnpauseValues
- podUnpauseDescription = `Unpauses one or more pods. The pod name or ID can be used.`
- _podUnpauseCommand = &cobra.Command{
+ podUnpauseDescription = `The podman unpause command will unpause all "paused" containers assigned to the pod.
+
+ The pod name or ID can be used.`
+ _podUnpauseCommand = &cobra.Command{
Use: "unpause [flags] POD [POD...]",
Short: "Unpause one or more pods",
Long: podUnpauseDescription,
@@ -33,6 +35,7 @@ var (
func init() {
podUnpauseCommand.Command = _podUnpauseCommand
+ podUnpauseCommand.SetHelpTemplate(HelpTemplate())
podUnpauseCommand.SetUsageTemplate(UsageTemplate())
flags := podUnpauseCommand.Flags()
flags.BoolVarP(&podUnpauseCommand.All, "all", "a", false, "Unpause all running pods")
diff --git a/cmd/podman/port.go b/cmd/podman/port.go
index ffb5749fb..b5a4d3eec 100644
--- a/cmd/podman/port.go
+++ b/cmd/podman/port.go
@@ -14,10 +14,7 @@ import (
var (
portCommand cliconfig.PortValues
- portDescription = `
- podman port
-
- List port mappings for the CONTAINER, or lookup the public-facing port that is NAT-ed to the PRIVATE_PORT
+ portDescription = `List port mappings for the CONTAINER, or lookup the public-facing port that is NAT-ed to the PRIVATE_PORT
`
_portCommand = &cobra.Command{
Use: "port [flags] CONTAINER",
@@ -39,6 +36,7 @@ var (
func init() {
portCommand.Command = _portCommand
+ portCommand.SetHelpTemplate(HelpTemplate())
portCommand.SetUsageTemplate(UsageTemplate())
flags := portCommand.Flags()
diff --git a/cmd/podman/ps.go b/cmd/podman/ps.go
index 0dedd850d..6caac2406 100644
--- a/cmd/podman/ps.go
+++ b/cmd/podman/ps.go
@@ -174,6 +174,7 @@ var (
)
func psInit(command *cliconfig.PsValues) {
+ command.SetHelpTemplate(HelpTemplate())
command.SetUsageTemplate(UsageTemplate())
flags := command.Flags()
flags.BoolVarP(&command.All, "all", "a", false, "Show all the containers, default is only running containers")
@@ -418,7 +419,7 @@ func generateContainerFilterFuncs(filter, filterValue string, runtime *libpod.Ru
return false
}, nil
case "status":
- if !util.StringInSlice(filterValue, []string{"created", "restarting", "running", "paused", "exited", "unknown"}) {
+ if !util.StringInSlice(filterValue, []string{"created", "running", "paused", "exited", "unknown"}) {
return nil, errors.Errorf("%s is not a valid status", filterValue)
}
return func(c *libpod.Container) bool {
@@ -429,6 +430,8 @@ func generateContainerFilterFuncs(filter, filterValue string, runtime *libpod.Ru
state := status.String()
if status == libpod.ContainerStateConfigured {
state = "created"
+ } else if status == libpod.ContainerStateStopped {
+ state = "exited"
}
return state == filterValue
}, nil
diff --git a/cmd/podman/pull.go b/cmd/podman/pull.go
index 5f4658fe1..7986d5530 100644
--- a/cmd/podman/pull.go
+++ b/cmd/podman/pull.go
@@ -23,11 +23,9 @@ import (
var (
pullCommand cliconfig.PullValues
- pullDescription = `
-Pulls an image from a registry and stores it locally.
-An image can be pulled using its tag or digest. If a tag is not
-specified, the image with the 'latest' tag (if it exists) is pulled
-`
+ pullDescription = `Pulls an image from a registry and stores it locally.
+
+ An image can be pulled using its tag or digest. If a tag is not specified, the image with the 'latest' tag (if it exists) is pulled.`
_pullCommand = &cobra.Command{
Use: "pull [flags] IMAGE-PATH",
Short: "Pull an image from a registry",
@@ -45,6 +43,7 @@ specified, the image with the 'latest' tag (if it exists) is pulled
func init() {
pullCommand.Command = _pullCommand
+ pullCommand.SetHelpTemplate(HelpTemplate())
pullCommand.SetUsageTemplate(UsageTemplate())
flags := pullCommand.Flags()
flags.BoolVar(&pullCommand.AllTags, "all-tags", false, "All tagged images inthe repository will be pulled")
diff --git a/cmd/podman/push.go b/cmd/podman/push.go
index bc909cb5e..afc385527 100644
--- a/cmd/podman/push.go
+++ b/cmd/podman/push.go
@@ -20,10 +20,9 @@ import (
var (
pushCommand cliconfig.PushValues
- pushDescription = fmt.Sprintf(`
- Pushes an image to a specified location.
- The Image "DESTINATION" uses a "transport":"details" format.
- See podman-push(1) section "DESTINATION" for the expected format`)
+ pushDescription = fmt.Sprintf(`Pushes an image to a specified location.
+
+ The Image "DESTINATION" uses a "transport":"details" format. See podman-push(1) section "DESTINATION" for the expected format.`)
_pushCommand = &cobra.Command{
Use: "push [flags] IMAGE REGISTRY",
@@ -42,6 +41,7 @@ var (
func init() {
pushCommand.Command = _pushCommand
+ pushCommand.SetHelpTemplate(HelpTemplate())
pushCommand.SetUsageTemplate(UsageTemplate())
flags := pushCommand.Flags()
flags.MarkHidden("signature-policy")
diff --git a/cmd/podman/refresh.go b/cmd/podman/refresh.go
index 1e4a31a52..ed2e173ab 100644
--- a/cmd/podman/refresh.go
+++ b/cmd/podman/refresh.go
@@ -12,8 +12,11 @@ import (
var (
refreshCommand cliconfig.RefreshValues
- refreshDescription = "The refresh command resets the state of all containers to handle database changes after a Podman upgrade. All running containers will be restarted."
- _refreshCommand = &cobra.Command{
+ refreshDescription = `Resets the state of all containers to handle database changes after a Podman upgrade.
+
+ All running containers will be restarted.
+`
+ _refreshCommand = &cobra.Command{
Use: "refresh",
Args: noSubArgs,
Short: "Refresh container state",
@@ -29,6 +32,7 @@ var (
func init() {
_refreshCommand.Hidden = true
refreshCommand.Command = _refreshCommand
+ refreshCommand.SetHelpTemplate(HelpTemplate())
refreshCommand.SetUsageTemplate(UsageTemplate())
}
diff --git a/cmd/podman/restart.go b/cmd/podman/restart.go
index 5aa12070e..341cbf978 100644
--- a/cmd/podman/restart.go
+++ b/cmd/podman/restart.go
@@ -16,8 +16,10 @@ import (
var (
restartCommand cliconfig.RestartValues
- restartDescription = `Restarts one or more running containers. The container ID or name can be used. A timeout before forcibly stopping can be set, but defaults to 10 seconds`
- _restartCommand = &cobra.Command{
+ restartDescription = `Restarts one or more running containers. The container ID or name can be used.
+
+ A timeout before forcibly stopping can be set, but defaults to 10 seconds.`
+ _restartCommand = &cobra.Command{
Use: "restart [flags] CONTAINER [CONTAINER...]",
Short: "Restart one or more containers",
Long: restartDescription,
@@ -37,6 +39,7 @@ var (
func init() {
restartCommand.Command = _restartCommand
+ restartCommand.SetHelpTemplate(HelpTemplate())
restartCommand.SetUsageTemplate(UsageTemplate())
flags := restartCommand.Flags()
flags.BoolVarP(&restartCommand.All, "all", "a", false, "Restart all non-running containers")
diff --git a/cmd/podman/restore.go b/cmd/podman/restore.go
index 73d355734..0f6828432 100644
--- a/cmd/podman/restore.go
+++ b/cmd/podman/restore.go
@@ -40,6 +40,7 @@ var (
func init() {
restoreCommand.Command = _restoreCommand
+ restoreCommand.SetHelpTemplate(HelpTemplate())
restoreCommand.SetUsageTemplate(UsageTemplate())
flags := restoreCommand.Flags()
flags.BoolVarP(&restoreCommand.All, "all", "a", false, "Restore all checkpointed containers")
diff --git a/cmd/podman/rm.go b/cmd/podman/rm.go
index d23f8228c..4230bb396 100644
--- a/cmd/podman/rm.go
+++ b/cmd/podman/rm.go
@@ -15,11 +15,9 @@ import (
var (
rmCommand cliconfig.RmValues
- rmDescription = fmt.Sprintf(`
-Podman rm will remove one or more containers from the host.
-The container name or ID can be used. This does not remove images.
-Running containers will not be removed without the -f option.
-`)
+ rmDescription = fmt.Sprintf(`Removes one or more containers from the host. The container name or ID can be used.
+
+ Command does not remove images. Running containers will not be removed without the -f option.`)
_rmCommand = &cobra.Command{
Use: "rm [flags] CONTAINER [CONTAINER...]",
Short: "Remove one or more containers",
@@ -40,6 +38,7 @@ Running containers will not be removed without the -f option.
func init() {
rmCommand.Command = _rmCommand
+ rmCommand.SetHelpTemplate(HelpTemplate())
rmCommand.SetUsageTemplate(UsageTemplate())
flags := rmCommand.Flags()
flags.BoolVarP(&rmCommand.All, "all", "a", false, "Remove all containers")
diff --git a/cmd/podman/rmi.go b/cmd/podman/rmi.go
index 511668df7..149cd8d82 100644
--- a/cmd/podman/rmi.go
+++ b/cmd/podman/rmi.go
@@ -13,7 +13,7 @@ import (
var (
rmiCommand cliconfig.RmiValues
- rmiDescription = "Removes one or more locally stored images."
+ rmiDescription = "Removes one or more previously pulled or locally created images."
_rmiCommand = cobra.Command{
Use: "rmi [flags] IMAGE [IMAGE...]",
Short: "Removes one or more images from local storage",
@@ -30,6 +30,7 @@ var (
)
func rmiInit(command *cliconfig.RmiValues) {
+ command.SetHelpTemplate(HelpTemplate())
command.SetUsageTemplate(UsageTemplate())
flags := command.Flags()
flags.BoolVarP(&command.All, "all", "a", false, "Remove all images")
diff --git a/cmd/podman/run.go b/cmd/podman/run.go
index f66b939d3..ff09e670d 100644
--- a/cmd/podman/run.go
+++ b/cmd/podman/run.go
@@ -39,6 +39,7 @@ var (
func init() {
runCommand.Command = _runCommand
+ runCommand.SetHelpTemplate(HelpTemplate())
runCommand.SetUsageTemplate(UsageTemplate())
flags := runCommand.Flags()
flags.SetInterspersed(false)
diff --git a/cmd/podman/runlabel.go b/cmd/podman/runlabel.go
index f91ffed0d..68621e095 100644
--- a/cmd/podman/runlabel.go
+++ b/cmd/podman/runlabel.go
@@ -38,6 +38,7 @@ Executes a command as described by a container image label.
func init() {
runlabelCommand.Command = _runlabelCommand
+ runlabelCommand.SetHelpTemplate(HelpTemplate())
runlabelCommand.SetUsageTemplate(UsageTemplate())
flags := runlabelCommand.Flags()
flags.StringVar(&runlabelCommand.Authfile, "authfile", "", "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override")
diff --git a/cmd/podman/save.go b/cmd/podman/save.go
index 3bc283772..494496a3d 100644
--- a/cmd/podman/save.go
+++ b/cmd/podman/save.go
@@ -23,9 +23,7 @@ var validFormats = []string{ociManifestDir, ociArchive, v2s2ManifestDir, v2s2Arc
var (
saveCommand cliconfig.SaveValues
- saveDescription = `
- Save an image to docker-archive or oci-archive on the local machine.
- Default is docker-archive`
+ saveDescription = `Save an image to docker-archive or oci-archive on the local machine. Default is docker-archive.`
_saveCommand = &cobra.Command{
Use: "save [flags] IMAGE",
@@ -54,6 +52,7 @@ var (
func init() {
saveCommand.Command = _saveCommand
+ saveCommand.SetHelpTemplate(HelpTemplate())
saveCommand.SetUsageTemplate(UsageTemplate())
flags := saveCommand.Flags()
flags.BoolVar(&saveCommand.Compress, "compress", false, "Compress tarball image layers when saving to a directory using the 'dir' transport. (default is same compression type as source)")
diff --git a/cmd/podman/search.go b/cmd/podman/search.go
index 5c14f1ff1..e508c2bcf 100644
--- a/cmd/podman/search.go
+++ b/cmd/podman/search.go
@@ -18,9 +18,9 @@ const (
var (
searchCommand cliconfig.SearchValues
- searchDescription = `
- Search registries for a given image. Can search all the default registries or a specific registry.
- Can limit the number of results, and filter the output based on certain conditions.`
+ searchDescription = `Search registries for a given image. Can search all the default registries or a specific registry.
+
+ Users can limit the number of results, and filter the output based on certain conditions.`
_searchCommand = &cobra.Command{
Use: "search [flags] TERM",
Short: "Search registry for image",
@@ -38,6 +38,7 @@ var (
func init() {
searchCommand.Command = _searchCommand
+ searchCommand.SetHelpTemplate(HelpTemplate())
searchCommand.SetUsageTemplate(UsageTemplate())
flags := searchCommand.Flags()
flags.StringVar(&searchCommand.Authfile, "authfile", "", "Path of the authentication file. Default is ${XDG_RUNTIME_DIR}/containers/auth.json. Use REGISTRY_AUTH_FILE environment variable to override")
diff --git a/cmd/podman/sign.go b/cmd/podman/sign.go
index 2cf228d01..06418e4a5 100644
--- a/cmd/podman/sign.go
+++ b/cmd/podman/sign.go
@@ -22,7 +22,7 @@ import (
var (
signCommand cliconfig.SignValues
- signDescription = "Create a signature file that can be used later to verify the image"
+ signDescription = "Create a signature file that can be used later to verify the image."
_signCommand = &cobra.Command{
Use: "sign [flags] IMAGE [IMAGE...]",
Short: "Sign an image",
@@ -39,6 +39,7 @@ var (
func init() {
signCommand.Command = _signCommand
+ signCommand.SetHelpTemplate(HelpTemplate())
signCommand.SetUsageTemplate(UsageTemplate())
flags := signCommand.Flags()
flags.StringVarP(&signCommand.Directory, "directory", "d", "", "Define an alternate directory to store signatures")
diff --git a/cmd/podman/start.go b/cmd/podman/start.go
index 3ce04ea79..e942c1ccd 100644
--- a/cmd/podman/start.go
+++ b/cmd/podman/start.go
@@ -15,11 +15,8 @@ import (
var (
startCommand cliconfig.StartValues
- startDescription = `
- podman start
+ startDescription = `Starts one or more containers. The container name or ID can be used.`
- Starts one or more containers. The container name or ID can be used.
-`
_startCommand = &cobra.Command{
Use: "start [flags] CONTAINER [CONTAINER...]",
Short: "Start one or more containers",
@@ -37,6 +34,7 @@ var (
func init() {
startCommand.Command = _startCommand
+ startCommand.SetHelpTemplate(HelpTemplate())
startCommand.SetUsageTemplate(UsageTemplate())
flags := startCommand.Flags()
flags.BoolVarP(&startCommand.Attach, "attach", "a", false, "Attach container's STDOUT and STDERR")
diff --git a/cmd/podman/stats.go b/cmd/podman/stats.go
index dcb274471..3e2e114a9 100644
--- a/cmd/podman/stats.go
+++ b/cmd/podman/stats.go
@@ -31,10 +31,10 @@ type statsOutputParams struct {
var (
statsCommand cliconfig.StatsValues
- statsDescription = "display a live stream of one or more containers' resource usage statistics"
+ statsDescription = "Display percentage of CPU, memory, network I/O, block I/O and PIDs for one or more containers."
_statsCommand = &cobra.Command{
Use: "stats [flags] CONTAINER [CONTAINER...]",
- Short: "Display percentage of CPU, memory, network I/O, block I/O and PIDs for one or more containers",
+ Short: "Display a live stream of container resource usage statistics",
Long: statsDescription,
RunE: func(cmd *cobra.Command, args []string) error {
statsCommand.InputArgs = args
@@ -52,6 +52,7 @@ var (
func init() {
statsCommand.Command = _statsCommand
+ statsCommand.SetHelpTemplate(HelpTemplate())
statsCommand.SetUsageTemplate(UsageTemplate())
flags := statsCommand.Flags()
flags.BoolVarP(&statsCommand.All, "all", "a", false, "Show all containers. Only running containers are shown by default. The default is false")
diff --git a/cmd/podman/stop.go b/cmd/podman/stop.go
index 7bd160494..2a1470ad0 100644
--- a/cmd/podman/stop.go
+++ b/cmd/podman/stop.go
@@ -15,13 +15,9 @@ import (
var (
stopCommand cliconfig.StopValues
- stopDescription = `
- podman stop
+ stopDescription = `Stops one or more running containers. The container name or ID can be used.
- Stops one or more running containers. The container name or ID can be used.
- A timeout to forcibly stop the container can also be set but defaults to 10
- seconds otherwise.
-`
+ A timeout to forcibly stop the container can also be set but defaults to 10 seconds otherwise.`
_stopCommand = &cobra.Command{
Use: "stop [flags] CONTAINER [CONTAINER...]",
Short: "Stop one or more containers",
@@ -42,6 +38,7 @@ var (
func init() {
stopCommand.Command = _stopCommand
+ stopCommand.SetHelpTemplate(HelpTemplate())
stopCommand.SetUsageTemplate(UsageTemplate())
flags := stopCommand.Flags()
flags.BoolVarP(&stopCommand.All, "all", "a", false, "Stop all running containers")
diff --git a/cmd/podman/system.go b/cmd/podman/system.go
index 741b79da5..528a594de 100644
--- a/cmd/podman/system.go
+++ b/cmd/podman/system.go
@@ -13,6 +13,7 @@ var (
Use: "system",
Short: "Manage podman",
Long: systemDescription,
+ RunE: commandRunE(),
},
}
)
diff --git a/cmd/podman/system_prune.go b/cmd/podman/system_prune.go
index f566387fa..624f24acb 100644
--- a/cmd/podman/system_prune.go
+++ b/cmd/podman/system_prune.go
@@ -36,6 +36,7 @@ var (
func init() {
pruneSystemCommand.Command = _pruneSystemCommand
+ pruneSystemCommand.SetHelpTemplate(HelpTemplate())
pruneSystemCommand.SetUsageTemplate(UsageTemplate())
flags := pruneSystemCommand.Flags()
flags.BoolVarP(&pruneSystemCommand.All, "all", "a", false, "Remove all unused data")
diff --git a/cmd/podman/system_renumber.go b/cmd/podman/system_renumber.go
index 31137b9f6..ed0b28a3c 100644
--- a/cmd/podman/system_renumber.go
+++ b/cmd/podman/system_renumber.go
@@ -31,6 +31,7 @@ var (
func init() {
renumberCommand.Command = _renumberCommand
+ renumberCommand.SetHelpTemplate(HelpTemplate())
renumberCommand.SetUsageTemplate(UsageTemplate())
}
diff --git a/cmd/podman/tag.go b/cmd/podman/tag.go
index 98c6e3449..98d9a6856 100644
--- a/cmd/podman/tag.go
+++ b/cmd/podman/tag.go
@@ -10,7 +10,7 @@ import (
var (
tagCommand cliconfig.TagValues
- tagDescription = "Adds one or more additional names to locally-stored image"
+ tagDescription = "Adds one or more additional names to locally-stored image."
_tagCommand = &cobra.Command{
Use: "tag [flags] IMAGE TAG [TAG...]",
Short: "Add an additional name to a local image",
@@ -28,6 +28,7 @@ var (
func init() {
tagCommand.Command = _tagCommand
+ tagCommand.SetHelpTemplate(HelpTemplate())
tagCommand.SetUsageTemplate(UsageTemplate())
}
diff --git a/cmd/podman/top.go b/cmd/podman/top.go
index d96402f1a..c2156050c 100644
--- a/cmd/podman/top.go
+++ b/cmd/podman/top.go
@@ -18,20 +18,20 @@ func getDescriptorString() string {
descriptors, err := libpod.GetContainerPidInformationDescriptors()
if err == nil {
return fmt.Sprintf(`
-Format Descriptors:
-%s`, strings.Join(descriptors, ","))
+ Format Descriptors:
+ %s`, strings.Join(descriptors, ","))
}
return ""
}
var (
topCommand cliconfig.TopValues
- topDescription = fmt.Sprintf(`Display the running processes of the container. Specify format descriptors
-to alter the output. You may run "podman top -l pid pcpu seccomp" to print
-the process ID, the CPU percentage and the seccomp mode of each process of
-the latest container.
-%s
-`, getDescriptorString())
+ topDescription = fmt.Sprintf(`Similar to system "top" command.
+
+ Specify format descriptors to alter the output.
+
+ Running "podman top -l pid pcpu seccomp" will print the process ID, the CPU percentage and the seccomp mode of each process of the latest container.
+%s`, getDescriptorString())
_topCommand = &cobra.Command{
Use: "top [flags] CONTAINER [FORMAT-DESCRIPTIOS]",
@@ -50,6 +50,7 @@ the latest container.
func init() {
topCommand.Command = _topCommand
+ topCommand.SetHelpTemplate(HelpTemplate())
topCommand.SetUsageTemplate(UsageTemplate())
flags := topCommand.Flags()
flags.BoolVar(&topCommand.ListDescriptors, "list-descriptors", false, "")
diff --git a/cmd/podman/trust.go b/cmd/podman/trust.go
index 8b02dcdc6..0a79e1570 100644
--- a/cmd/podman/trust.go
+++ b/cmd/podman/trust.go
@@ -6,16 +6,21 @@ import (
)
var (
+ trustDescription = `Manages which registries you trust as a source of container images based on its location.
+
+ The location is determined by the transport and the registry host of the image. Using this container image docker://docker.io/library/busybox as an example, docker is the transport and docker.io is the registry host.`
trustCommand = cliconfig.PodmanCommand{
Command: &cobra.Command{
Use: "trust",
Short: "Manage container image trust policy",
- Long: "podman image trust command",
+ Long: trustDescription,
+ RunE: commandRunE(),
},
}
)
func init() {
+ trustCommand.SetHelpTemplate(HelpTemplate())
trustCommand.SetUsageTemplate(UsageTemplate())
trustCommand.AddCommand(getTrustSubCommands()...)
imageCommand.AddCommand(trustCommand.Command)
diff --git a/cmd/podman/trust_set_show.go b/cmd/podman/trust_set_show.go
index 746854249..5a70c21cc 100644
--- a/cmd/podman/trust_set_show.go
+++ b/cmd/podman/trust_set_show.go
@@ -50,8 +50,10 @@ var (
func init() {
setTrustCommand.Command = _setTrustCommand
+ setTrustCommand.SetHelpTemplate(HelpTemplate())
setTrustCommand.SetUsageTemplate(UsageTemplate())
showTrustCommand.Command = _showTrustCommand
+ showTrustCommand.SetHelpTemplate(HelpTemplate())
showTrustCommand.SetUsageTemplate(UsageTemplate())
setFlags := setTrustCommand.Flags()
setFlags.StringVar(&setTrustCommand.PolicyPath, "policypath", "", "")
diff --git a/cmd/podman/umount.go b/cmd/podman/umount.go
index 48c97fa31..c57d5794c 100644
--- a/cmd/podman/umount.go
+++ b/cmd/podman/umount.go
@@ -14,12 +14,11 @@ import (
var (
umountCommand cliconfig.UmountValues
- description = `
-Container storage increments a mount counter each time a container is mounted.
-When a container is unmounted, the mount counter is decremented and the
-container's root filesystem is physically unmounted only when the mount
-counter reaches zero indicating no other processes are using the mount.
-An unmount can be forced with the --force flag.
+ description = `Container storage increments a mount counter each time a container is mounted.
+
+ When a container is unmounted, the mount counter is decremented. The container's root filesystem is physically unmounted only when the mount counter reaches zero indicating no other processes are using the mount.
+
+ An unmount can be forced with the --force flag.
`
_umountCommand = &cobra.Command{
Use: "umount [flags] CONTAINER [CONTAINER...]",
@@ -42,6 +41,7 @@ An unmount can be forced with the --force flag.
func init() {
umountCommand.Command = _umountCommand
+ umountCommand.SetHelpTemplate(HelpTemplate())
umountCommand.SetUsageTemplate(UsageTemplate())
flags := umountCommand.Flags()
flags.BoolVarP(&umountCommand.All, "all", "a", false, "Umount all of the currently mounted containers")
diff --git a/cmd/podman/unpause.go b/cmd/podman/unpause.go
index 58fd19fe1..0c52a2443 100644
--- a/cmd/podman/unpause.go
+++ b/cmd/podman/unpause.go
@@ -15,12 +15,8 @@ import (
var (
unpauseCommand cliconfig.UnpauseValues
- unpauseDescription = `
- podman unpause
-
- Unpauses one or more running containers. The container name or ID can be used.
-`
- _unpauseCommand = &cobra.Command{
+ unpauseDescription = `Unpauses one or more previously paused containers. The container name or ID can be used.`
+ _unpauseCommand = &cobra.Command{
Use: "unpause [flags] CONTAINER [CONTAINER...]",
Short: "Unpause the processes in one or more containers",
Long: unpauseDescription,
@@ -36,6 +32,7 @@ var (
func init() {
unpauseCommand.Command = _unpauseCommand
+ unpauseCommand.SetHelpTemplate(HelpTemplate())
unpauseCommand.SetUsageTemplate(UsageTemplate())
flags := unpauseCommand.Flags()
flags.BoolVarP(&unpauseCommand.All, "all", "a", false, "Unpause all paused containers")
diff --git a/cmd/podman/varlink.go b/cmd/podman/varlink.go
index 5cc79ef96..787ad01cd 100644
--- a/cmd/podman/varlink.go
+++ b/cmd/podman/varlink.go
@@ -18,10 +18,9 @@ import (
var (
varlinkCommand cliconfig.VarlinkValues
- varlinkDescription = `
- podman varlink
+ varlinkDescription = `Run varlink interface. Podman varlink listens on the specified unix domain socket for incoming connects.
- run varlink interface
+ Tools speaking varlink protocol can remotely manage pods, containers and images.
`
_varlinkCommand = &cobra.Command{
Use: "varlink [flags] URI",
@@ -39,6 +38,7 @@ var (
func init() {
varlinkCommand.Command = _varlinkCommand
+ varlinkCommand.SetHelpTemplate(HelpTemplate())
varlinkCommand.SetUsageTemplate(UsageTemplate())
flags := varlinkCommand.Flags()
flags.Int64VarP(&varlinkCommand.Timeout, "timeout", "t", 1000, "Time until the varlink session expires in milliseconds. Use 0 to disable the timeout")
diff --git a/cmd/podman/volume.go b/cmd/podman/volume.go
index 8a8664151..2a071d0c7 100644
--- a/cmd/podman/volume.go
+++ b/cmd/podman/volume.go
@@ -5,15 +5,14 @@ import (
"github.com/spf13/cobra"
)
-var volumeDescription = `Manage volumes.
-
-Volumes are created in and can be shared between containers.`
+var volumeDescription = `Volumes are created in and can be shared between containers.`
var volumeCommand = cliconfig.PodmanCommand{
Command: &cobra.Command{
Use: "volume",
Short: "Manage volumes",
Long: volumeDescription,
+ RunE: commandRunE(),
},
}
var volumeSubcommands = []*cobra.Command{
diff --git a/cmd/podman/volume_create.go b/cmd/podman/volume_create.go
index 96b2ed8c7..d873f9806 100644
--- a/cmd/podman/volume_create.go
+++ b/cmd/podman/volume_create.go
@@ -11,11 +11,7 @@ import (
var (
volumeCreateCommand cliconfig.VolumeCreateValues
- volumeCreateDescription = `
-podman volume create
-
-Creates a new volume. If using the default driver, "local", the volume will
-be created at.`
+ volumeCreateDescription = `If using the default driver, "local", the volume will be created on the host in the volumes directory under container storage.`
_volumeCreateCommand = &cobra.Command{
Use: "create [flags] [NAME]",
@@ -34,6 +30,7 @@ be created at.`
func init() {
volumeCreateCommand.Command = _volumeCreateCommand
+ volumeCommand.SetHelpTemplate(HelpTemplate())
volumeCreateCommand.SetUsageTemplate(UsageTemplate())
flags := volumeCreateCommand.Flags()
flags.StringVar(&volumeCreateCommand.Driver, "driver", "", "Specify volume driver name (default local)")
diff --git a/cmd/podman/volume_inspect.go b/cmd/podman/volume_inspect.go
index 8add7a375..fdd8b5b0b 100644
--- a/cmd/podman/volume_inspect.go
+++ b/cmd/podman/volume_inspect.go
@@ -9,12 +9,9 @@ import (
var (
volumeInspectCommand cliconfig.VolumeInspectValues
- volumeInspectDescription = `
-podman volume inspect
+ volumeInspectDescription = `Display detailed information on one or more volumes.
-Display detailed information on one or more volumes. Can change the format
-from JSON to a Go template.
-`
+ Use a Go template to change the format from JSON.`
_volumeInspectCommand = &cobra.Command{
Use: "inspect [flags] VOLUME [VOLUME...]",
Short: "Display detailed information on one or more volumes",
@@ -32,6 +29,7 @@ from JSON to a Go template.
func init() {
volumeInspectCommand.Command = _volumeInspectCommand
+ volumeInspectCommand.SetHelpTemplate(HelpTemplate())
volumeInspectCommand.SetUsageTemplate(UsageTemplate())
flags := volumeInspectCommand.Flags()
flags.BoolVarP(&volumeInspectCommand.All, "all", "a", false, "Inspect all volumes")
diff --git a/cmd/podman/volume_ls.go b/cmd/podman/volume_ls.go
index 6855f38e0..5a36f4f7d 100644
--- a/cmd/podman/volume_ls.go
+++ b/cmd/podman/volume_ls.go
@@ -44,8 +44,7 @@ var (
podman volume ls
List all available volumes. The output of the volumes can be filtered
-and the output format can be changed to JSON or a user specified Go template.
-`
+and the output format can be changed to JSON or a user specified Go template.`
_volumeLsCommand = &cobra.Command{
Use: "ls",
Aliases: []string{"list"},
@@ -62,6 +61,7 @@ and the output format can be changed to JSON or a user specified Go template.
func init() {
volumeLsCommand.Command = _volumeLsCommand
+ volumeLsCommand.SetHelpTemplate(HelpTemplate())
volumeLsCommand.SetUsageTemplate(UsageTemplate())
flags := volumeLsCommand.Flags()
diff --git a/cmd/podman/volume_prune.go b/cmd/podman/volume_prune.go
index 370f072eb..70ba506e7 100644
--- a/cmd/podman/volume_prune.go
+++ b/cmd/podman/volume_prune.go
@@ -16,12 +16,10 @@ import (
var (
volumePruneCommand cliconfig.VolumePruneValues
- volumePruneDescription = `
-podman volume prune
+ volumePruneDescription = `Volumes that are not currently owned by a container will be removed.
-Remove all unused volumes. Will prompt for confirmation if not
-using force.
-`
+ The command prompts for confirmation which can be overridden with the --force flag.
+ Note all data will be destroyed.`
_volumePruneCommand = &cobra.Command{
Use: "prune",
Args: noSubArgs,
@@ -37,6 +35,7 @@ using force.
func init() {
volumePruneCommand.Command = _volumePruneCommand
+ volumePruneCommand.SetHelpTemplate(HelpTemplate())
volumePruneCommand.SetUsageTemplate(UsageTemplate())
flags := volumePruneCommand.Flags()
diff --git a/cmd/podman/volume_rm.go b/cmd/podman/volume_rm.go
index 73b1a6668..8c6d5e97a 100644
--- a/cmd/podman/volume_rm.go
+++ b/cmd/podman/volume_rm.go
@@ -11,13 +11,9 @@ import (
var (
volumeRmCommand cliconfig.VolumeRmValues
- volumeRmDescription = `
-podman volume rm
+ volumeRmDescription = `Remove one or more existing volumes.
-Remove one or more existing volumes. Will only remove volumes that are
-not being used by any containers. To remove the volumes anyways, use the
---force flag.
-`
+ By default only volumes that are not being used by any containers will be removed. To remove the volumes anyways, use the --force flag.`
_volumeRmCommand = &cobra.Command{
Use: "rm [flags] VOLUME [VOLUME...]",
Aliases: []string{"remove"},
@@ -36,6 +32,7 @@ not being used by any containers. To remove the volumes anyways, use the
func init() {
volumeRmCommand.Command = _volumeRmCommand
+ volumeRmCommand.SetHelpTemplate(HelpTemplate())
volumeRmCommand.SetUsageTemplate(UsageTemplate())
flags := volumeRmCommand.Flags()
flags.BoolVarP(&volumeRmCommand.All, "all", "a", false, "Remove all volumes")
diff --git a/cmd/podman/wait.go b/cmd/podman/wait.go
index 6c2a8c9ff..4449898a0 100644
--- a/cmd/podman/wait.go
+++ b/cmd/podman/wait.go
@@ -14,10 +14,7 @@ import (
var (
waitCommand cliconfig.WaitValues
- waitDescription = `
- podman wait
-
- Block until one or more containers stop and then print their exit codes
+ waitDescription = `Block until one or more containers stop and then print their exit codes.
`
_waitCommand = &cobra.Command{
Use: "wait [flags] CONTAINER [CONTAINER...]",
@@ -36,6 +33,7 @@ var (
func init() {
waitCommand.Command = _waitCommand
+ waitCommand.SetHelpTemplate(HelpTemplate())
waitCommand.SetUsageTemplate(UsageTemplate())
flags := waitCommand.Flags()
flags.UintVarP(&waitCommand.Interval, "interval", "i", 250, "Milliseconds to wait before polling for completion")