* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code
#649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code
#649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code
#649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code
#649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649
* Make watchtower skip update if pre-update lifecycle hook exits with a non-zero exit code #649
* Prevent starting new container if old one is not stopped because of lifecycle hook.
* Add null check for c.containerInfo.State in IsRunning
* Fixed that the container would not start
* Added test for preupdate
* EX_TEMPFAIL -> ExTempFail
* Added missing fuction ouput names
* Skip preupdate when container is restarting.
* feat: check container config before restart
* fix: only skip when hostconfig and config differ
* fix: update test mocks to not fail tests
* test: add verify config tests
* feat: make head pull failure warning toggleable
* expect prometheus tests to go through EVENTUALLY
* wait for queue to be empty before checking test conditions
* clean up new head failure toggle
* fixup! clean up new head failure toggle
* test: add registry tests
* test: add warn on head failure tests
* fix client interface and make tests hit more lines
* make all tests use NewClient instead of creating a struct pointer
* fix lint issues
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* Add monitor-only label
* Add tests for monitor-only
* Treat missing monitor-only label as if the option was set to false
* Add docs for container-based monitor-only
* Add function doc
* Fix monitor-only logic
* implement rolling restart functionality
bouncing each image individually can ensure that a group of docker
containers launched with docker-compose can stay 100% up during deploy.
* move rolling restart into a function
* honor params.Cleanup
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* Adds scopeUID config to enable multiple instances of Watchtower
* Adds tests for multiple instance support with scopeuid
* Adds docs on scope monitoring and multiple instance support
* Adds multiple instances docs to mkdocs config file
* Changes multiple instances check and refactors naming for scope feature
* Applies linter suggestions
* Fixes documentation on Watchtower monitoring scope
* Revert "Image of running container no longer needed locally (#571)"
This reverts commit 6da66fb312.
* Update client.go
* fix: skip updating when no image info can be retrieved
This will allow watchtower to continue even though the image info for a
container cannot be retrieved. If this happens one warning will be emitted
and the container will be skipped, unless NoRestart or OnlyMonitor is supplied
That means the update timeout until now has been 1 second, as that's the sleep duration of the timeout checker.
This commit changes it to 10 actual minutes.
* feat(update): add lifecycle hooks to the update action
* fix(ci): add bash tests for lifecycle-hooks to the ci workflow
* fix(ci): move integration tests to an isolated step
* fix(ci): fix malformed all-contributors json
* fix(ci): disable automatic bash test until we figure out a reasonable way to run it in circleci