job "directory2" { datacenters = ["dc1", "saturne", "belair"] type = "service" constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "bottin" { count = 1 task "bottin" { driver = "docker" config { image = "lxpz/bottin_amd64:14" readonly_rootfs = true port_map { ldap_port = 1389 } volumes = [ "secrets/config.json:/config.json" ] } resources { memory = 100 network { port "ldap_port" { static = "389" } } } template { data = "{{ key \"configuration/directory/bottin/config.json\" }}" destination = "secrets/config.json" } service { tags = ["bottin"] port = "ldap_port" address_mode = "host" name = "bottin2" check { type = "tcp" port = "ldap_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } } group "guichet" { count = 1 task "guichet" { driver = "docker" config { image = "lxpz/guichet_amd64:10" readonly_rootfs = true port_map { web_port = 9991 } volumes = [ "secrets/config.json:/config.json" ] } artifact { source = "http://127.0.0.1:8500/v1/kv/configuration/directory/guichet/config.json.tpl?raw" destination = "secrets/config.json.tpl" mode = "file" } template { source = "secrets/config.json.tpl" destination = "secrets/config.json" } resources { memory = 200 network { port "web_port" {} } } service { name = "guichet" tags = [ "guichet", "traefik.enable=true", "traefik.frontend.entryPoints=https,http", "traefik.frontend.rule=Host:guichet.deuxfleurs.fr", ] port = "web_port" address_mode = "host" check { type = "tcp" port = "web_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } } }