fix: set nopull param from args (#1830)

pull/1836/head
nils måsén 6 months ago committed by GitHub
parent 7fb04d0411
commit 48539c4faf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -33,6 +33,7 @@ var (
scheduleSpec string scheduleSpec string
cleanup bool cleanup bool
noRestart bool noRestart bool
noPull bool
monitorOnly bool monitorOnly bool
enableLabel bool enableLabel bool
disableContainers []string disableContainers []string
@ -110,7 +111,7 @@ func PreRun(cmd *cobra.Command, _ []string) {
log.Fatal(err) log.Fatal(err)
} }
noPull, _ := f.GetBool("no-pull") noPull, _ = f.GetBool("no-pull")
includeStopped, _ := f.GetBool("include-stopped") includeStopped, _ := f.GetBool("include-stopped")
includeRestarting, _ := f.GetBool("include-restarting") includeRestarting, _ := f.GetBool("include-restarting")
reviveStopped, _ := f.GetBool("revive-stopped") reviveStopped, _ := f.GetBool("revive-stopped")
@ -122,7 +123,6 @@ func PreRun(cmd *cobra.Command, _ []string) {
} }
client = container.NewClient(container.ClientOptions{ client = container.NewClient(container.ClientOptions{
PullImages: !noPull,
IncludeStopped: includeStopped, IncludeStopped: includeStopped,
ReviveStopped: reviveStopped, ReviveStopped: reviveStopped,
RemoveVolumes: removeVolumes, RemoveVolumes: removeVolumes,
@ -187,7 +187,7 @@ func Run(c *cobra.Command, names []string) {
metrics.RegisterScan(metric) metrics.RegisterScan(metric)
}, updateLock) }, updateLock)
httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle) httpAPI.RegisterFunc(updateHandler.Path, updateHandler.Handle)
// If polling isn't enabled the scheduler is never started and // If polling isn't enabled the scheduler is never started, and
// we need to trigger the startup messages manually. // we need to trigger the startup messages manually.
if !unblockHTTPAPI { if !unblockHTTPAPI {
writeStartupMessage(c, time.Time{}, filterDesc) writeStartupMessage(c, time.Time{}, filterDesc)
@ -367,6 +367,7 @@ func runUpdatesWithNotifications(filter t.Filter) *metrics.Metric {
LifecycleHooks: lifecycleHooks, LifecycleHooks: lifecycleHooks,
RollingRestart: rollingRestart, RollingRestart: rollingRestart,
LabelPrecedence: labelPrecedence, LabelPrecedence: labelPrecedence,
NoPull: noPull,
} }
result, err := actions.Update(client, updateParams) result, err := actions.Update(client, updateParams)
if err != nil { if err != nil {

@ -57,7 +57,6 @@ func NewClient(opts ClientOptions) Client {
// ClientOptions contains the options for how the docker client wrapper should behave // ClientOptions contains the options for how the docker client wrapper should behave
type ClientOptions struct { type ClientOptions struct {
PullImages bool
RemoveVolumes bool RemoveVolumes bool
IncludeStopped bool IncludeStopped bool
ReviveStopped bool ReviveStopped bool

@ -70,7 +70,8 @@ var _ = Describe("the client", func() {
It("should gracefully fail with a useful message", func() { It("should gracefully fail with a useful message", func() {
c := dockerClient{} c := dockerClient{}
pinnedContainer := MockContainer(WithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b")) pinnedContainer := MockContainer(WithImageName("sha256:fa5269854a5e615e51a72b17ad3fd1e01268f278a6684c8ed3c5f0cdce3f230b"))
c.PullImage(context.Background(), pinnedContainer) err := c.PullImage(context.Background(), pinnedContainer)
Expect(err).To(MatchError(`container uses a pinned image, and cannot be updated by watchtower`))
}) })
}) })
}) })
@ -144,7 +145,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
containers, err := client.ListContainers(filters.NoFilter) containers, err := client.ListContainers(filters.NoFilter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -158,7 +159,7 @@ var _ = Describe("the client", func() {
filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter) filter := filters.FilterByNames([]string{"lollercoaster"}, filters.NoFilter)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
containers, err := client.ListContainers(filter) containers, err := client.ListContainers(filter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -171,7 +172,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
containers, err := client.ListContainers(filters.WatchtowerContainersFilter) containers, err := client.ListContainers(filters.WatchtowerContainersFilter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -184,7 +185,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Stopped, &mocks.Watchtower, &mocks.Running)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Stopped, &mocks.Watchtower, &mocks.Running)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false, IncludeStopped: true}, ClientOptions: ClientOptions{IncludeStopped: true},
} }
containers, err := client.ListContainers(filters.NoFilter) containers, err := client.ListContainers(filters.NoFilter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -197,7 +198,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running, &mocks.Restarting)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running, &mocks.Restarting)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: true}, ClientOptions: ClientOptions{IncludeRestarting: true},
} }
containers, err := client.ListContainers(filters.NoFilter) containers, err := client.ListContainers(filters.NoFilter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -210,7 +211,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&mocks.Watchtower, &mocks.Running)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: false}, ClientOptions: ClientOptions{IncludeRestarting: false},
} }
containers, err := client.ListContainers(filters.NoFilter) containers, err := client.ListContainers(filters.NoFilter)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -224,7 +225,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
container, err := client.GetContainer(consumerContainerRef.ContainerID()) container, err := client.GetContainer(consumerContainerRef.ContainerID())
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -238,7 +239,7 @@ var _ = Describe("the client", func() {
mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...) mockServer.AppendHandlers(mocks.GetContainerHandlers(&consumerContainerRef)...)
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
container, err := client.GetContainer(consumerContainerRef.ContainerID()) container, err := client.GetContainer(consumerContainerRef.ContainerID())
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred())
@ -253,7 +254,7 @@ var _ = Describe("the client", func() {
It("should include container id field", func() { It("should include container id field", func() {
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false}, ClientOptions: ClientOptions{},
} }
// Capture logrus output in buffer // Capture logrus output in buffer
@ -320,7 +321,7 @@ var _ = Describe("the client", func() {
It(`should omit the container ID alias`, func() { It(`should omit the container ID alias`, func() {
client := dockerClient{ client := dockerClient{
api: docker, api: docker,
ClientOptions: ClientOptions{PullImages: false, IncludeRestarting: false}, ClientOptions: ClientOptions{IncludeRestarting: false},
} }
container := MockContainer(WithImageName("docker.io/prefix/imagename:latest")) container := MockContainer(WithImageName("docker.io/prefix/imagename:latest"))

@ -60,7 +60,7 @@ func (n *shoutrrrTypeNotifier) GetNames() []string {
return names return names
} }
// GetNames returns a list of URLs for notification services that has been added // GetURLs returns a list of URLs for notification services that has been added
func (n *shoutrrrTypeNotifier) GetURLs() []string { func (n *shoutrrrTypeNotifier) GetURLs() []string {
return n.Urls return n.Urls
} }
@ -73,7 +73,7 @@ func (n *shoutrrrTypeNotifier) AddLogHook() {
n.receiving = true n.receiving = true
log.AddHook(n) log.AddHook(n)
// Do the sending in a separate goroutine so we don't block the main process. // Do the sending in a separate goroutine, so we don't block the main process.
go sendNotifications(n) go sendNotifications(n)
} }

Loading…
Cancel
Save