Commit Graph

55 Commits (61d1ab1c49e1c1efc69ca4dcbe0a7f178c982ee7)

Author SHA1 Message Date
Simon Aronsson 6157c50e4f fix some minor issues 6 years ago
Simon Aronsson 1b82da1ab7 Setup a working pipeline
* add tests to ensure function even after switching docker client api version
* switch docker client api version to remove import of Sirupsen and get rid of the casing workaround
* migrate from glide to dep to go modules
* rewrite ci workflow
  * only run publish on version tags
  * only run build on branches
  * update goreleaser config
  * disable automated latest tag push
* remove dependency to v2tec/docker-gobuilder
* remove dead code and files
* add golands .idea folder to gitignore
* add label to released docker images
* add test reporting, add some unit tests
* change test output dir
* fix goreleaser versions
* add debug output for circleci and goreleaser
* disable cgo
6 years ago
Simon Aronsson ab299b59f8 change repo paths 6 years ago
Fabrizio Steiner d0ac9f14ab some linting 7 years ago
Fabrizio Steiner 1f10817b4b Removed unused mock code. 7 years ago
Fabrizio Steiner 6d4e7cffaf add tests for filters 7 years ago
Fabrizio Steiner 6c12aee975 always exclude containers that have the com.centurylinklabs.watchtower.enable set to false.
Fixes #169
7 years ago
Fabrizio Steiner 026a04b59b implemented enableLabel by a Filter 7 years ago
ubergesundheit d989254b1a change upper case S in sirupsen to lower case to avoid build error 7 years ago
Kaleb Elwert de2ac9341d Add a method of enabling or disabling containers using labels
Switch command line flag from no-enable to label-enable and simplify logic

Add basic documentation for the --label-enable flag
7 years ago
Fabrizio Steiner 52e73d7a8a Do not initiate a RemoveContainer for containers which have AutoRemove (--rm) active.
fixes GH-71
8 years ago
Robotex f8a05cb8ab Added host network check 8 years ago
Tanguy ⧓ Herrmann a5c3e1e05a Make the algorithm follow docker-compose more precisely
https://github.com/v2tec/watchtower/pull/40#discussion_r97719974
8 years ago
Fabrizio Steiner db473821f6 Merge branch 'master' into net 8 years ago
Fabrizio Steiner eda5391d0a go fmt... 8 years ago
Fabrizio Steiner 63aa3efb11 Added glide for vendoring dependencies.
- Docker to 1.13.x
8 years ago
Fabrizio Steiner 5902e9e0be Merge pull request #42 from stffabi/upstream_SelfUpdateFix
Fix for watchtower self update
8 years ago
Fabrizio Steiner f1822f9cd2 Renamed centurylink to v2tec. 8 years ago
Fabrizio Steiner edfad5b786 RenameContainer implemented, this fixes the problem that watchtower can't update itself. 8 years ago
Tanguy ⧓ Herrmann b45fc5a9ba Fix comment from HoundCI
https://github.com/CenturyLinkLabs/watchtower/pull/40#discussion_r94326156
8 years ago
Fabrizio Steiner 32e7a47e58 CliConfig moved. 8 years ago
Fabrizio Steiner c641668356 NewNativeStore has to be called with the CredentialsStore from the configfile. See also 07c4b4124b (diff-b082736d194e2fdfc6aca9d0c86a781bL26) 8 years ago
Tanguy ⧓ Herrmann 4909b90662 go fmt done! 8 years ago
Tanguy ⧓ Herrmann f8a2f80b92 Make an updated container connects to all the previously connected net
With insights from https://github.com/docker/docker/issues/29265
the behaviour is the same as the one from docker-compose

* connect to 1 network (at random) at start
* disconnect from that network
* reconnect to all the network from the previous configuration
8 years ago
Tanguy ⧓ Herrmann fe0e34e857 Reuse the network config for the relaunch 8 years ago
Ross Cadogan dad5d58339 Support loading authentication credentials from Docker config file 8 years ago
Ross Cadogan 6a56597d45 Refactor port mapping functions for build simplicity 8 years ago
Ross Cadogan e75236414e When authentication credentials are supplied as env vars they are always used.
This causes authentication failures on registries that don't match, including public registries.
Fallback to no-authentication to handle the case of public registries.
8 years ago
Ross Cadogan 541264281c Cannot load host Docker config from container. Remove option and rely on environment variables 8 years ago
Ross Cadogan 1c59200565 Registry authentication was failing silently when pulling images.
Load authentication credentials for available credential stores in order of preference:
 1. Environment variables REPO_USER, REPO_PASS
 2. Docker config files
Request image pull with authentication header.
Wait until pull request is complete before exiting function.
8 years ago
Ross Cadogan ef430b791a Add auth config, registry auth fails silently without 8 years ago
Ross Cadogan 42fea79860 Rework TLS support, remove unsupported options 8 years ago
Ross Cadogan b13e6af70f Migrate from codegangsta lib to urfave 8 years ago
Ross Cadogan e011d3e0d2 Discard obsolete samalba/dockerclient library and dependent tests 8 years ago
Ross Cadogan 99ed959155 Port client lib from samalba/dockerclient to docker/docker/client 8 years ago
Ross Cadogan 02bca8d6a4 Improve error reporting 8 years ago
Erin Corson d36899dd7c parameterize repo auth 9 years ago
Erin Corson 337db1d458 merge resolution 9 years ago
Erin Corson f5801669ab updates 9 years ago
Erin Corson b1e70f494e will not compile without these updates due to change in docker lib 9 years ago
Brian DeHamer 7cf2d7f1d8 Support Zodiac-based deployments
Since Zodiac always uses image IDs for deployments we can relay on the
standard container image field to determine the image that was used to
start the container. Luckily, Zodiac writes the original image name to a
label in the container metadata. If we find that Zodiac-specific label
on a running container we will use the associated value when trying to
determine if the container's image has changed.
9 years ago
Brian DeHamer b0910ee20b Add support for whitelist of monitored containers 9 years ago
Brian DeHamer d6321bf8dc Add godoc comments 9 years ago
Brian DeHamer 058d6e5507 Turn DockerClient into dockerClient
No need to export this particular struct since we already have a public
Client interface available and a NewClient function which can be used to
instantiate the concrete struct.
9 years ago
Brian DeHamer dd80aa4a0d Support for --cleanup flag
The --cleanup flag will cause watchtower to automatically remove the old
image after a container is restart with a new image.
9 years ago
Brian DeHamer 812fb60805 Handle errors without halting
If we receive an error while trying to shutdown/startup a particular
container we don't want to immediately terminate the current update
cycle. Instead we should continue processing the remaining containers
and simply log the error.
9 years ago
Brian DeHamer e21c21ec3b Account for latency in container removal
Under certain conditions when watchtower is monitoring a Docker Swarm
cluster there would be cases where an updated container could not be
started because the old hadn't yet been removed (name conflicts, mapped
port conflicts, etc). We suspect that this has something to do with the
async nature of swarm and even though we've asked the swarm master to
remove a container it may not be completely removed from the associated
node. The fix is to do some polling after the remove container call to
ensure that the container is truly gone before proceeding.
9 years ago
Brian DeHamer e06c46552a Support TLS connections to remote daemons 9 years ago
Brian DeHamer 4275d1cd3d Add more accessors to Container struct 9 years ago
Brian DeHamer bfed95ecaf Support --debug flag
Also adds better logging output
9 years ago