aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/podman/common/completion.go8
-rw-r--r--cmd/podman/common/create.go48
-rw-r--r--cmd/podman/machine/init.go10
-rw-r--r--cmd/podman/machine/list.go14
4 files changed, 46 insertions, 34 deletions
diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go
index 1c0065006..3d36162ee 100644
--- a/cmd/podman/common/completion.go
+++ b/cmd/podman/common/completion.go
@@ -1057,10 +1057,10 @@ func getStructFields(f reflect.Value, prefix string) []string {
// -> "container=", "event=", "image=", "pod=", "volume=", "type="
func AutocompleteEventFilter(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
eventTypes := func(_ string) ([]string, cobra.ShellCompDirective) {
- return []string{"attach", "checkpoint", "cleanup", "commit", "create", "exec",
- "export", "import", "init", "kill", "mount", "pause", "prune", "remove",
- "restart", "restore", "start", "stop", "sync", "unmount", "unpause",
- "pull", "push", "save", "tag", "untag", "refresh", "renumber",
+ return []string{"attach", "checkpoint", "cleanup", "commit", "connect", "create", "disconnect", "exec",
+ "exec_died", "exited", "export", "import", "init", "kill", "loadFromArchive", "mount", "pause",
+ "prune", "pull", "push", "refresh", "remove", "rename", "renumber", "restart", "restore", "save",
+ "start", "stop", "sync", "tag", "unmount", "unpause", "untag",
}, cobra.ShellCompDirectiveNoFileComp
}
kv := keyValueCompletion{
diff --git a/cmd/podman/common/create.go b/cmd/podman/common/create.go
index 309bbda59..62c9f4c9a 100644
--- a/cmd/podman/common/create.go
+++ b/cmd/podman/common/create.go
@@ -312,30 +312,6 @@ func DefineCreateFlags(cmd *cobra.Command, cf *entities.ContainerCreateOptions,
)
_ = cmd.RegisterFlagCompletionFunc(logOptFlagName, AutocompleteLogOpt)
- memoryReservationFlagName := "memory-reservation"
- createFlags.StringVar(
- &cf.MemoryReservation,
- memoryReservationFlagName, "",
- "Memory soft limit "+sizeWithUnitFormat,
- )
- _ = cmd.RegisterFlagCompletionFunc(memoryReservationFlagName, completion.AutocompleteNone)
-
- memorySwapFlagName := "memory-swap"
- createFlags.StringVar(
- &cf.MemorySwap,
- memorySwapFlagName, "",
- "Swap limit equal to memory plus swap: '-1' to enable unlimited swap",
- )
- _ = cmd.RegisterFlagCompletionFunc(memorySwapFlagName, completion.AutocompleteNone)
-
- memorySwappinessFlagName := "memory-swappiness"
- createFlags.Int64Var(
- &cf.MemorySwappiness,
- memorySwappinessFlagName, -1,
- "Tune container memory swappiness (0 to 100, or -1 for system default)",
- )
- _ = cmd.RegisterFlagCompletionFunc(memorySwappinessFlagName, completion.AutocompleteNone)
-
createFlags.BoolVar(
&cf.NoHealthCheck,
"no-healthcheck", false,
@@ -895,6 +871,30 @@ func DefineCreateFlags(cmd *cobra.Command, cf *entities.ContainerCreateOptions,
"Memory limit "+sizeWithUnitFormat,
)
_ = cmd.RegisterFlagCompletionFunc(memoryFlagName, completion.AutocompleteNone)
+
+ memoryReservationFlagName := "memory-reservation"
+ createFlags.StringVar(
+ &cf.MemoryReservation,
+ memoryReservationFlagName, "",
+ "Memory soft limit "+sizeWithUnitFormat,
+ )
+ _ = cmd.RegisterFlagCompletionFunc(memoryReservationFlagName, completion.AutocompleteNone)
+
+ memorySwapFlagName := "memory-swap"
+ createFlags.StringVar(
+ &cf.MemorySwap,
+ memorySwapFlagName, "",
+ "Swap limit equal to memory plus swap: '-1' to enable unlimited swap",
+ )
+ _ = cmd.RegisterFlagCompletionFunc(memorySwapFlagName, completion.AutocompleteNone)
+
+ memorySwappinessFlagName := "memory-swappiness"
+ createFlags.Int64Var(
+ &cf.MemorySwappiness,
+ memorySwappinessFlagName, -1,
+ "Tune container memory swappiness (0 to 100, or -1 for system default)",
+ )
+ _ = cmd.RegisterFlagCompletionFunc(memorySwappinessFlagName, completion.AutocompleteNone)
}
//anyone can use these
cpusFlagName := "cpus"
diff --git a/cmd/podman/machine/init.go b/cmd/podman/machine/init.go
index 518e7490f..2d0afbf05 100644
--- a/cmd/podman/machine/init.go
+++ b/cmd/podman/machine/init.go
@@ -5,6 +5,7 @@ package machine
import (
"fmt"
+ "os"
"github.com/containers/common/pkg/completion"
"github.com/containers/podman/v4/cmd/podman/registry"
@@ -94,7 +95,7 @@ func init() {
_ = initCmd.RegisterFlagCompletionFunc(ImagePathFlagName, completion.AutocompleteDefault)
VolumeFlagName := "volume"
- flags.StringArrayVarP(&initOpts.Volumes, VolumeFlagName, "v", []string{}, "Volumes to mount, source:target")
+ flags.StringArrayVarP(&initOpts.Volumes, VolumeFlagName, "v", cfg.Machine.Volumes, "Volumes to mount, source:target")
_ = initCmd.RegisterFlagCompletionFunc(VolumeFlagName, completion.AutocompleteDefault)
VolumeDriverFlagName := "volume-driver"
@@ -112,9 +113,10 @@ func init() {
// TODO should we allow for a users to append to the qemu cmdline?
func initMachine(cmd *cobra.Command, args []string) error {
var (
- vm machine.VM
err error
+ vm machine.VM
)
+
provider := getSystemDefaultProvider()
initOpts.Name = defaultMachineName
if len(args) > 0 {
@@ -126,7 +128,9 @@ func initMachine(cmd *cobra.Command, args []string) error {
if _, err := provider.LoadVMByName(initOpts.Name); err == nil {
return errors.Wrap(machine.ErrVMAlreadyExists, initOpts.Name)
}
-
+ for idx, vol := range initOpts.Volumes {
+ initOpts.Volumes[idx] = os.ExpandEnv(vol)
+ }
vm, err = provider.NewMachine(initOpts)
if err != nil {
return err
diff --git a/cmd/podman/machine/list.go b/cmd/podman/machine/list.go
index b57d911a8..587e521a3 100644
--- a/cmd/podman/machine/list.go
+++ b/cmd/podman/machine/list.go
@@ -41,6 +41,7 @@ var (
type listFlagType struct {
format string
noHeading bool
+ quiet bool
}
type machineReporter struct {
@@ -70,6 +71,7 @@ func init() {
flags.StringVar(&listFlag.format, formatFlagName, "{{.Name}}\t{{.VMType}}\t{{.Created}}\t{{.LastUp}}\t{{.CPUs}}\t{{.Memory}}\t{{.DiskSize}}\n", "Format volume output using JSON or a Go template")
_ = lsCmd.RegisterFlagCompletionFunc(formatFlagName, common.AutocompleteFormat(machineReporter{}))
flags.BoolVar(&listFlag.noHeading, "noheading", false, "Do not print headers")
+ flags.BoolVarP(&listFlag.quiet, "quiet", "q", false, "Show only machine names")
}
func list(cmd *cobra.Command, args []string) error {
@@ -79,6 +81,10 @@ func list(cmd *cobra.Command, args []string) error {
err error
)
+ if listFlag.quiet {
+ listFlag.format = "{{.Name}}\n"
+ }
+
provider := getSystemDefaultProvider()
listResponse, err = provider.List(opts)
if err != nil {
@@ -124,7 +130,10 @@ func outputTemplate(cmd *cobra.Command, responses []*machineReporter) error {
"Memory": "MEMORY",
"DiskSize": "DISK SIZE",
})
-
+ printHeader := !listFlag.noHeading
+ if listFlag.quiet {
+ printHeader = false
+ }
var row string
switch {
case cmd.Flags().Changed("format"):
@@ -146,8 +155,7 @@ func outputTemplate(cmd *cobra.Command, responses []*machineReporter) error {
return err
}
defer w.Flush()
-
- if !listFlag.noHeading {
+ if printHeader {
if err := tmpl.Execute(w, headers); err != nil {
return errors.Wrapf(err, "failed to write report column headers")
}