|
|
@ -23,6 +23,7 @@ var (
|
|
|
|
client container.Client
|
|
|
|
client container.Client
|
|
|
|
pollInterval time.Duration
|
|
|
|
pollInterval time.Duration
|
|
|
|
cleanup bool
|
|
|
|
cleanup bool
|
|
|
|
|
|
|
|
noRestart bool
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
func init() {
|
|
|
@ -49,17 +50,25 @@ func main() {
|
|
|
|
EnvVar: "DOCKER_HOST",
|
|
|
|
EnvVar: "DOCKER_HOST",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cli.IntFlag{
|
|
|
|
cli.IntFlag{
|
|
|
|
Name: "interval, i",
|
|
|
|
Name: "interval, i",
|
|
|
|
Usage: "poll interval (in seconds)",
|
|
|
|
Usage: "poll interval (in seconds)",
|
|
|
|
Value: 300,
|
|
|
|
Value: 300,
|
|
|
|
|
|
|
|
EnvVar: "WATCHTOWER_POLL_INTERVAL",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cli.BoolFlag{
|
|
|
|
cli.BoolFlag{
|
|
|
|
Name: "no-pull",
|
|
|
|
Name: "no-pull",
|
|
|
|
Usage: "do not pull new images",
|
|
|
|
Usage: "do not pull new images",
|
|
|
|
|
|
|
|
EnvVar: "WATCHTOWER_NO_PULL",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cli.BoolFlag{
|
|
|
|
cli.BoolFlag{
|
|
|
|
Name: "cleanup",
|
|
|
|
Name: "no-restart",
|
|
|
|
Usage: "remove old images after updating",
|
|
|
|
Usage: "do not restart containers",
|
|
|
|
|
|
|
|
EnvVar: "WATCHTOWER_NO_RESTART",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
cli.BoolFlag{
|
|
|
|
|
|
|
|
Name: "cleanup",
|
|
|
|
|
|
|
|
Usage: "remove old images after updating",
|
|
|
|
|
|
|
|
EnvVar: "WATCHTOWER_CLEANUP",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
cli.BoolFlag{
|
|
|
|
cli.BoolFlag{
|
|
|
|
Name: "tls",
|
|
|
|
Name: "tls",
|
|
|
@ -103,6 +112,7 @@ func before(c *cli.Context) error {
|
|
|
|
|
|
|
|
|
|
|
|
pollInterval = time.Duration(c.Int("interval")) * time.Second
|
|
|
|
pollInterval = time.Duration(c.Int("interval")) * time.Second
|
|
|
|
cleanup = c.GlobalBool("cleanup")
|
|
|
|
cleanup = c.GlobalBool("cleanup")
|
|
|
|
|
|
|
|
noRestart = c.GlobalBool("no-restart")
|
|
|
|
|
|
|
|
|
|
|
|
// Set-up container client
|
|
|
|
// Set-up container client
|
|
|
|
tls, err := tlsConfig(c)
|
|
|
|
tls, err := tlsConfig(c)
|
|
|
@ -125,7 +135,7 @@ func start(c *cli.Context) {
|
|
|
|
|
|
|
|
|
|
|
|
for {
|
|
|
|
for {
|
|
|
|
wg.Add(1)
|
|
|
|
wg.Add(1)
|
|
|
|
if err := actions.Update(client, names, cleanup); err != nil {
|
|
|
|
if err := actions.Update(client, names, cleanup, noRestart); err != nil {
|
|
|
|
fmt.Println(err)
|
|
|
|
fmt.Println(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
wg.Done()
|
|
|
|
wg.Done()
|
|
|
|