Commit graph

50 commits

Author SHA1 Message Date
Simon Aronsson
6b9fd8d7ef
fix some tests, split up and refactor
some wonky regression introduced by docker dependencies when running on darwin. see https://github.com/ory/dockertest/issues/212 for more info.
will have a look at this next
2020-12-06 12:59:12 +01:00
David H
bde421be0d
Monitor-only for individual containers (#652)
* 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
2020-10-03 22:00:02 +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
nils måsén
5efb249a86
Skip updating containers where no local image info can be retrieved (#612)
* 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
2020-08-18 20:55:35 +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
Simon Aronsson
a70f61974c
Comment out test that is incompatible with CircleCI 2020-05-22 16:20:39 +02:00
Sebastiaan Tammer
dccdf708a9
Adds the option to skip TLS verification for a Gotify instance (#544) 2020-05-22 16:02:20 +02:00
Arne Jørgensen
10fd81a2c1
feat: add template support for shoutrrr notifications (#515) 2020-05-11 06:38:41 +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
Simon Aronsson
3b60add69d
Bump minimum API version to 1.25 2020-05-11 06:03:09 +02:00
Alexander Voronin
45c9dcc779
Increases stopContainer timeout to 10min (#528)
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.
2020-05-02 20:29:44 +02:00
Victor Moura
006c4210fa
Increases stopContainer timeout from 60 seconds to 10min (#526) 2020-05-01 12:31:48 +02:00
Simon Aronsson
4672811983 fix linting and formatting 2020-04-24 13:45:24 +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
Simon Aronsson
cb4c58f714
Merge pull request #470 from mbrandau/add-shoutrrr
WIP: add shoutrrr support
2020-04-05 16:46:26 +02:00
Simon Aronsson
98c60d7441 fix some errors and clean up 2020-03-28 19:48:04 +01:00
Simon Aronsson
c1a0da9a9d feature/367 fix: skip container if pre-update command fails 2020-03-28 19:35:02 +01:00
Simon Aronsson
1d3ffc728d fix: update mock client for tests 2020-03-28 19:33:22 +01:00
Simon Aronsson
1d1c630f7a feat: add timeout override for pre-update lifecycle hook 2020-03-28 19:33:02 +01:00
Maximilian Brandau
59ce378a35
Adjust flags 2020-03-23 13:53:30 +01:00
Maximilian Brandau
be2376a4e1
add shoutrrr 2020-03-23 11:40:55 +01:00
Lukas Willburger
0b7069fc0c Fix according to remarks 2020-03-22 17:16:44 +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
Simon Aronsson
8aad258408 #387 fix: add comments to pass linting 2020-01-11 00:34:52 +01:00
Simon Aronsson
7b8b8e8ad9 #387 fix: switch to image id map and add additional tests 2020-01-11 00:28:27 +01:00
Simon Aronsson
39d6ca1ab5
Merge branch 'master' into master 2019-12-25 13:47:36 +01:00
Lukas Elsner
fa1b8d5d0c proper set implementation 2019-12-19 12:57:50 -05:00
Simon Aronsson
ea596ea747 fix some var ref errors 2019-11-17 11:19:57 +01:00
Simon Aronsson
2a6e296838
Added Mail Subject Tag to email.go (#389)
* Update email.go

Added SubjectTag as variable

* Update email.go

* Update email.go

* Update email.go

* Update flags.go

* Update flags.go
2019-11-17 11:10:07 +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
Max H
9198f8972b
Update flags.go 2019-10-15 16:51:13 +02:00
Max H
6840a8c3cf
Update flags.go 2019-10-15 16:48:58 +02:00
Lukas Elsner
a2a62fb46e do not delete same image twice when cleaning up 2019-10-13 14:46:06 -06:00
Niklas Wigertz Danielsson
135467dcf6 add pre/post update check lifecycle hooks (#373)
* add pre/post update check lifecycle hooks

* update docs for lifecycle hooks

* Fix phrasing
2019-09-15 16:58:46 +02:00
Simon Aronsson
ce6ba0801f feature: add optional email delay
resolves #256
2019-08-25 13:14:02 +02:00
sixth
bea8b9228f Update check.go (#370) 2019-08-25 12:43:03 +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
Luka Peschke
dff16dc639 Add support for Gotify notifications (#346)
This adds support for Gotify (https://gotify.net) notifications.

Work items:

* Two flags have been added to internal/flags/flags.go:
  "notification-gotify-url" and "notification-gotify-token".

* A Gotify notification driver has been added in
  notifications/gotify.go.

* "gotify" has been added to notification driver choices in
  notifications/notifier.go.

* Docs have been updated
2019-07-22 21:17:54 +02:00
Simon Aronsson
e4e1127f8e fix: remove linting issues 2019-07-22 12:10:57 +02:00
Simon Aronsson
6c507433e8 refactor: split out more code into separate files 2019-07-22 10:20:11 +02:00
Simon Aronsson
a425bf1024 refactor: move actions into internal 2019-07-21 22:22:30 +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
061e958534 fix port typing issue introduced in 998e805 2019-07-02 11:30:56 +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