From 1c3bd95b81e5247b7db3f8333aeb01ea58073fe9 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Tue, 12 May 2020 09:48:00 +0200 Subject: auto-update: support authfiles Support using custom authfiles for auto updates by adding a new `--authfile` flag and passing it down into the backend. Also do some minor fixes in the help text and the man page. Fixes: #6159 Signed-off-by: Valentin Rothberg --- cmd/podman/auto-update.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'cmd') 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) -- cgit v1.2.3-54-g00ecf