From 1911e03c82ba3d153ca0ca8393edf387448bf1f6 Mon Sep 17 00:00:00 2001 From: Pavel Sviderski Date: Thu, 27 Mar 2025 15:15:57 +1000 Subject: [PATCH] feat(compose): handle image pull policy --- pkg/client/compose/service.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pkg/client/compose/service.go b/pkg/client/compose/service.go index 18c7fef0..077f06df 100644 --- a/pkg/client/compose/service.go +++ b/pkg/client/compose/service.go @@ -7,11 +7,24 @@ import ( ) func ServiceSpecFromCompose(name string, service types.ServiceConfig) (api.ServiceSpec, error) { + pullPolicy := "" + switch service.PullPolicy { + case types.PullPolicyAlways: + pullPolicy = api.PullPolicyAlways + case "", types.PullPolicyMissing, types.PullPolicyIfNotPresent: + pullPolicy = api.PullPolicyMissing + case types.PullPolicyNever: + pullPolicy = api.PullPolicyNever + default: + return api.ServiceSpec{}, fmt.Errorf("unsupported pull policy: '%s'", service.PullPolicy) + } + spec := api.ServiceSpec{ Container: api.ContainerSpec{ - Command: service.Command, - Image: service.Image, - Init: service.Init, + Command: service.Command, + Image: service.Image, + Init: service.Init, + PullPolicy: pullPolicy, // TODO: env // TODO: volumes },