diff options
Diffstat (limited to 'app/deployment/traefik.hcl')
-rw-r--r-- | app/deployment/traefik.hcl | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/app/deployment/traefik.hcl b/app/deployment/traefik.hcl new file mode 100644 index 0000000..a0803e4 --- /dev/null +++ b/app/deployment/traefik.hcl @@ -0,0 +1,68 @@ +job "frontend" { + datacenters = ["dc1"] + type = "service" + + group "traefik" { + task "server" { + driver = "docker" + + config { + image = "amd64/traefik:1.7.20" + readonly_rootfs = true + port_map { + https_port = 443 + http_port = 80 + adm_port = 8082 + } + volumes = [ + "secrets/traefik.toml:/etc/traefik/traefik.toml", + ] + } + + resources { + memory = 265 + network { + port "https_port" { + static = "443" + } + port "http_port" { + static = "80" + } + port "adm_port" { + static = "8082" + } + } + } + + service { + tags = [ + "https", + "frontend", + "(diplonat (tcp_port 80 443))" + ] + port = "https_port" + address_mode = "host" + name = "traefik" + check { + type = "http" + protocol = "http" + port = "adm_port" + path = "/ping" + interval = "60s" + timeout = "5s" + check_restart { + limit = 3 + grace = "90s" + ignore_warnings = false + } + } + } + + template { + data = "{{ key \"configuration/traefik/traefik.toml\" }}" + destination = "secrets/traefik.toml" + } + } + } +} + |