diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/podman/auto-update.go | 20 | ||||
-rw-r--r-- | cmd/podman/containers/port.go | 4 | ||||
-rw-r--r-- | cmd/podman/images/sign.go | 55 | ||||
-rw-r--r-- | cmd/podman/system/df.go | 2 | ||||
-rw-r--r-- | cmd/podman/system/reset.go | 10 |
5 files changed, 75 insertions, 16 deletions
diff --git a/cmd/podman/auto-update.go b/cmd/podman/auto-update.go index 758cbbc6f..11433bc25 100644 --- a/cmd/podman/auto-update.go +++ b/cmd/podman/auto-update.go @@ -3,6 +3,7 @@ package main import ( "fmt" + "github.com/containers/common/pkg/auth" "github.com/containers/libpod/cmd/podman/registry" "github.com/containers/libpod/pkg/domain/entities" "github.com/containers/libpod/pkg/errorhandling" @@ -11,16 +12,18 @@ import ( ) var ( + autoUpdateOptions = entities.AutoUpdateOptions{} autoUpdateDescription = `Auto update containers according to their auto-update policy. Auto-update policies are specified with the "io.containers.autoupdate" label. - Note that this command is experimental.` + Note that this command is experimental. Please refer to the podman-auto-update(1) man page for details.` autoUpdateCommand = &cobra.Command{ - Use: "auto-update [flags]", - Short: "Auto update containers according to their auto-update policy", - Long: autoUpdateDescription, - RunE: autoUpdate, - Example: `podman auto-update`, + Use: "auto-update [flags]", + Short: "Auto update containers according to their auto-update policy", + Long: autoUpdateDescription, + RunE: autoUpdate, + Example: `podman auto-update + podman auto-update --authfile ~/authfile.json`, } ) @@ -29,6 +32,9 @@ func init() { Mode: []entities.EngineMode{entities.ABIMode}, Command: autoUpdateCommand, }) + + flags := autoUpdateCommand.Flags() + flags.StringVar(&autoUpdateOptions.Authfile, "authfile", auth.GetDefaultAuthFile(), "Path to the authentication file. Use REGISTRY_AUTH_FILE environment variable to override") } func autoUpdate(cmd *cobra.Command, args []string) error { @@ -36,7 +42,7 @@ func autoUpdate(cmd *cobra.Command, args []string) error { // Backwards compat. System tests expext this error string. return errors.Errorf("`%s` takes no arguments", cmd.CommandPath()) } - report, failures := registry.ContainerEngine().AutoUpdate(registry.GetContext()) + report, failures := registry.ContainerEngine().AutoUpdate(registry.GetContext(), autoUpdateOptions) if report != nil { for _, unit := range report.Units { fmt.Println(unit) diff --git a/cmd/podman/containers/port.go b/cmd/podman/containers/port.go index ec0ddf838..d058a6aaf 100644 --- a/cmd/podman/containers/port.go +++ b/cmd/podman/containers/port.go @@ -57,7 +57,7 @@ func portFlags(flags *pflag.FlagSet) { func init() { registry.Commands = append(registry.Commands, registry.CliCommand{ - Mode: []entities.EngineMode{entities.ABIMode}, + Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode}, Command: portCommand, }) @@ -65,7 +65,7 @@ func init() { portFlags(flags) registry.Commands = append(registry.Commands, registry.CliCommand{ - Mode: []entities.EngineMode{entities.ABIMode}, + Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode}, Command: containerPortCommand, Parent: containerCmd, }) diff --git a/cmd/podman/images/sign.go b/cmd/podman/images/sign.go new file mode 100644 index 000000000..bd9cf2ea7 --- /dev/null +++ b/cmd/podman/images/sign.go @@ -0,0 +1,55 @@ +package images + +import ( + "os" + + "github.com/containers/libpod/cmd/podman/registry" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/pkg/errors" + "github.com/spf13/cobra" +) + +var ( + 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", + Long: signDescription, + RunE: sign, + Args: cobra.MinimumNArgs(1), + Example: `podman image sign --sign-by mykey imageID + podman image sign --sign-by mykey --directory ./mykeydir imageID`, + } +) + +var ( + signOptions entities.SignOptions +) + +func init() { + registry.Commands = append(registry.Commands, registry.CliCommand{ + Mode: []entities.EngineMode{entities.ABIMode}, + Command: signCommand, + Parent: imageCmd, + }) + flags := signCommand.Flags() + flags.StringVarP(&signOptions.Directory, "directory", "d", "", "Define an alternate directory to store signatures") + flags.StringVar(&signOptions.SignBy, "sign-by", "", "Name of the signing key") + flags.StringVar(&signOptions.CertDir, "cert-dir", "", "`Pathname` of a directory containing TLS certificates and keys") +} + +func sign(cmd *cobra.Command, args []string) error { + if signOptions.SignBy == "" { + return errors.Errorf("please provide an identity") + } + + var sigStoreDir string + if len(signOptions.Directory) > 0 { + sigStoreDir = signOptions.Directory + if _, err := os.Stat(sigStoreDir); err != nil { + return errors.Wrapf(err, "invalid directory %s", sigStoreDir) + } + } + _, err := registry.ImageEngine().Sign(registry.Context(), args, signOptions) + return err +} diff --git a/cmd/podman/system/df.go b/cmd/podman/system/df.go index 7caa8e39a..8fe035209 100644 --- a/cmd/podman/system/df.go +++ b/cmd/podman/system/df.go @@ -37,7 +37,7 @@ var ( func init() { registry.Commands = append(registry.Commands, registry.CliCommand{ - Mode: []entities.EngineMode{entities.ABIMode}, + Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode}, Command: dfSystemCommand, Parent: systemCmd, }) diff --git a/cmd/podman/system/reset.go b/cmd/podman/system/reset.go index 22ddc7529..6caa91690 100644 --- a/cmd/podman/system/reset.go +++ b/cmd/podman/system/reset.go @@ -26,10 +26,8 @@ var ( Long: systemResetDescription, Run: reset, } -) -var ( - systemResetOptions entities.SystemResetOptions + forceFlag bool ) func init() { @@ -39,12 +37,12 @@ func init() { Parent: systemCmd, }) flags := systemResetCommand.Flags() - flags.BoolVarP(&systemResetOptions.Force, "force", "f", false, "Do not prompt for confirmation") + flags.BoolVarP(&forceFlag, "force", "f", false, "Do not prompt for confirmation") } func reset(cmd *cobra.Command, args []string) { // Prompt for confirmation if --force is not set - if !systemResetOptions.Force { + if !forceFlag { reader := bufio.NewReader(os.Stdin) fmt.Print(` WARNING! This will remove: @@ -74,7 +72,7 @@ Are you sure you want to continue? [y/N] `) } defer engine.Shutdown(registry.Context()) - if err := engine.Reset(registry.Context(), systemResetOptions); err != nil { + if err := engine.Reset(registry.Context()); err != nil { fmt.Println(err) os.Exit(125) } |