From 59f31d86acdf54019b081ca86340d5c33dbcf3b9 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Thu, 15 Jul 2021 11:27:25 +0200 Subject: auto-update: add --dry-run Add a --dry-run flag to `podman auto-update` which will look for new images but won't perform any pull or restart any service or container. The "UPDATED" column will now indicate the availability of a newer image via "pending". ``` $ podman auto-update --dry-run UNIT CONTAINER IMAGE POLICY UPDATED container-test.service 08fd34e533fd (test) localhost:5000/busybox registry false ``` Fixes: #9949 Signed-off-by: Valentin Rothberg --- pkg/domain/entities/auto-update.go | 8 ++++++-- pkg/domain/infra/abi/auto-update.go | 6 +----- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'pkg/domain') diff --git a/pkg/domain/entities/auto-update.go b/pkg/domain/entities/auto-update.go index d74462b86..eed617bf8 100644 --- a/pkg/domain/entities/auto-update.go +++ b/pkg/domain/entities/auto-update.go @@ -4,6 +4,10 @@ package entities type AutoUpdateOptions struct { // Authfile to use when contacting registries. Authfile string + // Only check for but do not perform any update. If an update is + // pending, it will be indicated in the Updated field of + // AutoUpdateReport. + DryRun bool } // AutoUpdateReport contains the results from running auto-update. @@ -18,7 +22,7 @@ type AutoUpdateReport struct { Policy string // SystemdUnit running a container configured for auto updates. SystemdUnit string - // Indicates whether the image was updated and the container (and - // systemd unit) restarted. + // Indicates the update status: true, false, failed, pending (see + // DryRun). Updated string } diff --git a/pkg/domain/infra/abi/auto-update.go b/pkg/domain/infra/abi/auto-update.go index daa882ecf..b98ee1cb2 100644 --- a/pkg/domain/infra/abi/auto-update.go +++ b/pkg/domain/infra/abi/auto-update.go @@ -8,9 +8,5 @@ import ( ) func (ic *ContainerEngine) AutoUpdate(ctx context.Context, options entities.AutoUpdateOptions) ([]*entities.AutoUpdateReport, []error) { - // Convert the entities options to the autoupdate ones. We can't use - // them in the entities package as low-level packages must not leak - // into the remote client. - autoOpts := autoupdate.Options{Authfile: options.Authfile} - return autoupdate.AutoUpdate(ctx, ic.Libpod, autoOpts) + return autoupdate.AutoUpdate(ctx, ic.Libpod, options) } -- cgit v1.2.3-54-g00ecf