1
0
mirror of https://github.com/containrrr/watchtower.git synced 2025-01-20 18:28:27 +02:00

48 Commits

Author SHA1 Message Date
Sam Kirsch
87c5695e84
fix: update metrics from sessions started via API (#1531)
fixes https://github.com/containrrr/watchtower/issues/1530
2023-01-22 09:03:45 +01:00
nils måsén
ae8c36f04f
fix: explicitly accept non-commands as root args (#1458) 2022-11-05 19:06:52 +01:00
nils måsén
cb555f539d
preparations for soft deprecation of legacy notification args (#1377)
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
2022-11-01 00:00:00 +01:00
Matthew McNeely
0fddbfb7ed
feat: allow log level to be set to any level (#1345)
Co-authored-by: nils måsén <nils@piksel.se>
2022-09-17 12:12:24 +02:00
nils måsén
7900471f88
feat: add porcelain output (#1337)
* feat: add porcaline output

* feat(du-cli): add create-stale action

add create-stale action

Signed-off-by: nils måsén

* test(flags): add alias tests

* fix stray format string ref

* fix shell liniting problems

* feat(du-cli): remove created images

* add test for common template

* fix interval/schedule logic

* use porcelain arg as template version

* fix editor save artifacts

* use simpler v1 template

Signed-off-by: nils måsén
2022-08-14 10:11:31 +02:00
Dirk Kok
739f328ee5
feat(http): optional query parameter to update only containers of a specified image (#1289)
* 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>
2022-06-14 09:13:14 +02:00
nils måsén
e983beb52a
fix: gracefully skip pinned images (#1277)
* move client args to opts struct
* gracefully skip pinned images
* replace newClientNoAPI with literals
2022-05-27 12:16:18 +02:00
Juho-Pekka Kuitunen
e14cc292ed
feat: improve HTTP API logging, honor no-startup-message (#1091)
Co-authored-by: nils måsén <nils@piksel.se>
2021-11-29 15:07:26 +01:00
nils måsén
782529ddbd
feat: improve session result logging (#1123)
- 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
2021-11-18 14:08:38 +01:00
nils måsén
cd0ec88764
fix(notifications): default templates and logic (#1010)
* fix(notifications): default templates and logic
* fix multi-entry report notifs and add test
* add tests for log queueing
2021-09-19 18:06:14 +02:00
nils måsén
e3dd8d688a
Session report collection and report templates (#981)
* wip: notification stats

* make report notifications optional

* linting/documentation fixes

* linting/documentation fixes

* merge types.Container and container.Interface

* smaller naming/format fixes

* use typed image/container IDs

* simplify notifier and update tests

* add missed doc comments

* lint fixes

* remove unused constructors

* rename old/new current/latest
2021-06-27 09:05:01 +02:00
nils måsén
f508c92ae0
* feat: custom user agent (#990)
* 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
2021-06-11 19:23:00 +02:00
DasSkelett
6b155a111a
Allow running periodic updates with enabled HTTP API (#916)
* Allow running periodic updates with enabled HTTP API

* Add --http-api-periodic-polls to docs
2021-04-27 22:18:45 +02:00
nils måsén
12467712a1
feat: check container config before update (#925)
* 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
2021-04-24 18:29:05 +02:00
nils måsén
b4cf17d33f
feat: make head pull failure warning toggleable (#912)
* 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>
2021-04-23 16:34:21 +02:00
Simon Aronsson
3de202a965
fix depends on behavior and simplify some of its logic (#908)
* fix depends on behavior and simplify some of its logic

* fix comments
2021-04-18 18:37:35 +02:00
nils måsén
9fa2fd82a6
feat: include additional info in startup (#809) 2021-03-28 21:04:11 +02:00
Simon Aronsson
d7d5b25882
Prometheus support (#450)
Co-authored-by: nils måsén <nils@piksel.se>
Co-authored-by: MihailITPlace <ya.halo-halo@yandex.ru>
Co-authored-by: Sebastiaan Tammer <sebastiaantammer@gmail.com>
2021-01-06 22:28:32 +01:00
Simon Aronsson
35490c853d
cherrypick notification changes from #450 (#745) 2021-01-06 20:06:56 +01:00
Simon Aronsson
8b81fbd48d
Revert "feat(config): swap viper and cobra for config (#684)"
This reverts commit ff8cb884a0852ce35a18f59802826f669c740236.
2020-12-21 23:08:23 +01:00
nils måsén
ff8cb884a0
feat(config): swap viper and cobra for config (#684) 2020-12-21 15:17:45 +01:00
yrien30
2842b97df3
Allow watchtower to update rebooting containers (#651)
Co-authored-by: nils måsén <nils@piksel.se>
Co-authored-by: Simon Aronsson <simme@arcticbit.se>
2020-11-19 19:03:17 +01:00
Simon Aronsson
a7a28ec984
fix fmt and vetting issues 2020-10-03 22:25:17 +02:00
bugficks
158b6935d4
Disabling color through environment variables (#598)
* This patch adds support for disabling color through environment variables.
- NO_COLOR: https://no-color.org/
- CLICOLOR,CLICOLOR_FORCE: https://bixense.com/clicolors/ ( [logrus built-in](6699a89a23/text_formatter.go (L46)) )

* use viper/cobra and add documentation. (https://github.com/containrrr/watchtower/pull/598#pullrequestreview-463814669)

Co-authored-by: Simon Aronsson <simme@arcticbit.se>
2020-08-21 22:54:16 +02:00
Ben Osheroff
c56e0a95a7
Rolling restart (#619)
* 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>
2020-08-21 22:35:46 +02:00
Victor Moura
6a18ee911e
Adds scopeUID config to enable multiple instances of Watchtower (#511)
* 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
2020-08-21 20:13:47 +02:00
Cédric Finance
fdecd40189
Make sure all shoutrrr notifications are sent (#564) 2020-08-08 22:55:51 +02:00
MihailITPlace
966972b072
Warning if WATCHTOWER_NO_PULL and WATCHTOWER_MONITOR_ONLY are used simultaneously. (#594)
* 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>
2020-08-08 18:43:01 +02:00
Sebastiaan Tammer
12d323354f
Allows flags containing sensitive stuff to be passed as files (#545)
* 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)
2020-06-10 12:14:47 +02:00
Sebastiaan Tammer
7052346570
Added --trace flag and new log.Trace() lines for sensitive information (#541) 2020-05-11 06:09:52 +02:00
Victor Moura
0217e116c4
Watchtower HTTP API based updates (#432)
* 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>
2020-04-20 16:17:14 +02:00
Maximilian Brandau
205b1766b4
fix #472 2020-03-26 16:58:57 +01:00
Lukas Willburger
fc3decce3a add --no-startup-message flag 2020-03-13 10:38:33 +01:00
Simon Aronsson
d1abce889a refactor: extract code from the container package 2020-01-11 23:36:07 +01:00
Zois Pagoulatos
157ddb86a7
#413 Change initial logging message from debug to info 2019-12-25 16:07:11 +01:00
Zois Pagoulatos
2d8507ca31 Add --revive-stopped flag to start stopped containers after an update (#403)
* Add --revive-stopped flag to start stopped containers after an update

* Update arguments.md
2019-11-13 11:16:37 +01:00
Simon Aronsson
17cbf86d48 fix: switch exit code for run once to 0
this resolves #347
2019-08-25 13:02:08 +02:00
Kaloyan Raev
f820eb5b3a Add docker api version parameter (#372)
* Add docker api version parameter

* Note for minimum supported version

* Tests for EnvConfig
2019-08-25 12:37:20 +02:00
Simon Aronsson
bfae38dbf8
Feat/lifecycle hooks (#351)
* 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
2019-07-27 01:37:16 +02:00
Simon Aronsson
e4e1127f8e fix: remove linting issues 2019-07-22 12:10:57 +02:00
Simon Aronsson
a425bf1024 refactor: move actions into internal 2019-07-21 22:22:30 +02:00
Simon Aronsson
62f603bb25 refactor: move actions into pkg 2019-07-21 20:15:04 +02:00
Simon Aronsson
74ce92760c refactor: move container into pkg 2019-07-21 20:14:28 +02:00
Simon Aronsson
e109a7a6ce refactor: extract types and pkgs to new files 2019-07-21 19:58:19 +02:00
Zois Pagoulatos
baf5e50051 Re-apply based on new go flags package (#336) 2019-07-21 18:00:56 +02:00
Simon Aronsson
9eca883f17 fix: remove unnecessary cronSet check
resolves issue 343
2019-07-02 18:24:22 +02:00
Simon Aronsson
972b0b276f fix linter errors 2019-06-23 00:32:50 +02:00
Simon Aronsson
998e8052c5 switch urfave to cobra 2019-06-22 22:51:35 +02:00