Traefik image config for version pinning, upgrades, and custom images
Accounts for the 2.9.10 security release and allows testing Traefik 3 betas. * Use `image` to configure a specific Traefik Docker image. * Default to `traefik:v2.9` to track future 2.9.x minor releases rather than tightly pinning to `v2.9.9`. * Support images from the configured registry. References #165
This commit is contained in:
@@ -2,7 +2,10 @@ class Mrsk::Cli::Traefik < Mrsk::Cli::Base
|
||||
desc "boot", "Boot Traefik on servers"
|
||||
def boot
|
||||
with_lock do
|
||||
on(MRSK.traefik_hosts) { execute *MRSK.traefik.run, raise_on_non_zero_exit: false }
|
||||
on(MRSK.traefik_hosts) do
|
||||
execute *MRSK.registry.login
|
||||
execute *MRSK.traefik.run, raise_on_non_zero_exit: false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Mrsk::Commands::Traefik < Mrsk::Commands::Base
|
||||
delegate :optionize, to: Mrsk::Utils
|
||||
|
||||
IMAGE = "traefik:v2.9.9"
|
||||
DEFAULT_IMAGE = "traefik:v2.9"
|
||||
CONTAINER_PORT = 80
|
||||
|
||||
def run
|
||||
@@ -12,7 +12,7 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base
|
||||
"--volume", "/var/run/docker.sock:/var/run/docker.sock",
|
||||
*config.logging_args,
|
||||
*docker_options_args,
|
||||
IMAGE,
|
||||
image,
|
||||
"--providers.docker",
|
||||
"--log.level=DEBUG",
|
||||
*cmd_option_args
|
||||
@@ -56,6 +56,10 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base
|
||||
end
|
||||
|
||||
private
|
||||
def image
|
||||
config.traefik.fetch("image") { DEFAULT_IMAGE }
|
||||
end
|
||||
|
||||
def docker_options_args
|
||||
optionize(config.traefik["options"] || {})
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user