* feat(http): optional query parameter to update only containers of a specified image
* fix style issues
* comma separated image parameter
* Support comma-separated query parameter as well as specifying it multiple times
Co-authored-by: nils måsén <nils@piksel.se>
* fixed compile error
* fixed FilterByImageTag
Not sure what changed in my testing setup, but Docker reports image names including the tag name now.
* consistent use of image/tag (use image)
* fixed multiple image queries
* assuming I'm right here, only block on lock when any images are specified.
* add unit tests for image filter. didn't add tests for update api because they didn't already exist
* whoops.
* use ImageName instead, add unit test for empty ImageName filter.
Co-authored-by: nils måsén <nils@piksel.se>
- logs the session result as an info level message without notification instead of debug
- does not log that no notification was sent if there are no notifications enabled
* fix: move build meta to own package
this allows it to be referenced from other packages without causing a cyclic dependency
* feat: custom user agent
* 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>
* 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
* A warning was added if `WATCHTOWER_NO_PULL` and` WATCHTOWER_MONITOR_ONLY` are used simultaneously
* Update root.go
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* Allows options containing sensitive stuff (passwords, tokens) to be passed as a file instead
* Fixed linter error, added tests, removed notification-url (due to being an array)
* Added HTTP API trigger to update running images
* Adds HTTP API authentication token parameter and handling
* Exposes port 8080 in Dockerfile to allow inter-container update triggering via HTTP API
* Fixes codacy issue
* Adds API usage doc
* Fix grammar
* Moves api logic to a package of its own
* Makes WT exit if token has not been set in HTTP API mode
* Adds lock to prevent concurrent updates when in HTTP API mode
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
* 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