summaryrefslogtreecommitdiff
path: root/pkg/autoupdate/autoupdate.go
diff options
context:
space:
mode:
authorOndřej Kraus <neverberlerfellerer@gmail.com>2020-05-12 13:09:11 +0200
committerOndřej Kraus <neverberlerfellerer@gmail.com>2020-05-17 11:37:12 +0200
commit9177c89eddb0b7e392c60614eb30073bd7859401 (patch)
tree4e9867059407f3a4e3a2248ae283118ebb9a93e9 /pkg/autoupdate/autoupdate.go
parent343ab99b39771b5084a231a2db8d3dc969f395f9 (diff)
downloadpodman-9177c89eddb0b7e392c60614eb30073bd7859401.tar.gz
podman-9177c89eddb0b7e392c60614eb30073bd7859401.tar.bz2
podman-9177c89eddb0b7e392c60614eb30073bd7859401.zip
Give `auto-update` ability to use per-container authfile specified by label.
Signed-off-by: Ondřej Kraus <neverberlerfellerer@gmail.com>
Diffstat (limited to 'pkg/autoupdate/autoupdate.go')
-rw-r--r--pkg/autoupdate/autoupdate.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/autoupdate/autoupdate.go b/pkg/autoupdate/autoupdate.go
index 1b0419892..eca5c342c 100644
--- a/pkg/autoupdate/autoupdate.go
+++ b/pkg/autoupdate/autoupdate.go
@@ -23,6 +23,10 @@ import (
// container labels.
const Label = "io.containers.autoupdate"
+// Label denotes the container label key to specify authfile in
+// container labels.
+const AuthfileLabel = "io.containers.autoupdate.authfile"
+
// Policy represents an auto-update policy.
type Policy string
@@ -144,6 +148,11 @@ func AutoUpdate(runtime *libpod.Runtime, options Options) ([]string, []error) {
if rawImageName == "" {
errs = append(errs, errors.Errorf("error auto-updating container %q: raw-image name is empty", ctr.ID()))
}
+ labels := ctr.Labels()
+ authFilePath, exists := labels[AuthfileLabel]
+ if exists {
+ options.Authfile = authFilePath
+ }
needsUpdate, err := newerImageAvailable(runtime, image, rawImageName, options)
if err != nil {
errs = append(errs, errors.Wrapf(err, "error auto-updating container %q: image check for %q failed", ctr.ID(), rawImageName))