diff --git a/boardgame-manager.nomad.hcl b/boardgame-manager.nomad.hcl index 4302042..8ecb94b 100644 --- a/boardgame-manager.nomad.hcl +++ b/boardgame-manager.nomad.hcl @@ -1,7 +1,7 @@ [[ $c := merge .bgm . -]] -job [[ .bgm.instance | toJSON ]] { +job [[ .instance | toJSON ]] { -[[- template "common/job_start.tpl" $c ]] +[[- template "common/job_start" $c ]] group "boardgame-manager" { network { @@ -9,23 +9,23 @@ job [[ .bgm.instance | toJSON ]] { } service { - name = "[[ .bgm.instance ]][[ $c.consul.suffix ]]" + name = "[[ .instance ]][[ $c.consul.suffix ]]" port = 8080 -[[ template "common/connect.tpl" $c ]] +[[ template "common/connect" $c ]] tags = [ "[[ $c.traefik.instance ]].enable=true", - "[[ $c.traefik.instance ]].http.routers.[[ .bgm.instance ]][[ $c.consul.suffix ]].rule=Host(`[[ (urlParse .bgm.public_url).Hostname ]]`) + "[[ $c.traefik.instance ]].http.routers.[[ .instance ]][[ $c.consul.suffix ]].rule=Host(`[[ (urlParse .bgm.public_url).Hostname ]]`) [[- if not (regexp.Match "^/?$" (urlParse .bgm.public_url).Path) ]] && PathPrefix(`[[ (urlParse .bgm.public_url).Path ]]`)[[ end ]]", - "[[ $c.traefik.instance ]].http.routers.[[ .bgm.instance ]][[ $c.consul.suffix ]].entrypoints=[[ join $c.traefik.entrypoints "," ]]", - "[[ $c.traefik.instance ]].http.routers.[[ .bgm.instance ]][[ $c.consul.suffix ]].tls=true", - "[[ $c.traefik.instance ]].http.middlewares.[[ .bgm.instance ]]-csp[[ $c.consul.suffix ]].headers.contentSecurityPolicy=default-src 'self'; img-src 'self' data: https://www.gravatar.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:", + "[[ $c.traefik.instance ]].http.routers.[[ .instance ]][[ $c.consul.suffix ]].entrypoints=[[ join $c.traefik.entrypoints "," ]]", + "[[ $c.traefik.instance ]].http.routers.[[ .instance ]][[ $c.consul.suffix ]].tls=true", + "[[ $c.traefik.instance ]].http.middlewares.[[ .instance ]]-csp[[ $c.consul.suffix ]].headers.contentSecurityPolicy=default-src 'self'; img-src 'self' data: https://www.gravatar.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self' data:", [[- if not (regexp.Match "^/?$" (urlParse .bgm.public_url).Path) ]] - "[[ $c.traefik.instance ]].http.middlewares.[[ .bgm.instance ]][[ $c.consul.suffix ]]-path.stripprefix.prefixes=[[ (urlParse .bgm.public_url).Path ]]", - "[[ $c.traefik.instance ]].http.routers.[[ .bgm.instance ]][[ $c.consul.suffix ]].middlewares=[[ .bgm.instance ]][[ $c.consul.suffix ]]-path,[[ .bgm.instance ]]-csp[[ $c.consul.suffix ]],[[ template "common/traefik_middlewares.tpl" $c.traefik ]]", + "[[ $c.traefik.instance ]].http.middlewares.[[ .instance ]][[ $c.consul.suffix ]]-path.stripprefix.prefixes=[[ (urlParse .bgm.public_url).Path ]]", + "[[ $c.traefik.instance ]].http.routers.[[ .instance ]][[ $c.consul.suffix ]].middlewares=[[ .instance ]][[ $c.consul.suffix ]]-path,[[ .instance ]]-csp[[ $c.consul.suffix ]],[[ template "common/traefik_middlewares" $c.traefik ]]", [[- else ]] - "[[ $c.traefik.instance ]].http.routers.[[ .bgm.instance ]][[ $c.consul.suffix ]].middlewares=[[ .bgm.instance ]]-csp[[ $c.consul.suffix ]],[[ template "common/traefik_middlewares.tpl" $c.traefik ]]", + "[[ $c.traefik.instance ]].http.routers.[[ .instance ]][[ $c.consul.suffix ]].middlewares=[[ .instance ]]-csp[[ $c.consul.suffix ]],[[ template "common/traefik_middlewares" $c.traefik ]]", [[- end ]] ] } @@ -60,7 +60,7 @@ job [[ .bgm.instance | toJSON ]] { } env { -[[ template "common/env.tpl" $c.env ]] +[[ template "common/env" $c.env ]] } volume_mount { @@ -68,7 +68,7 @@ job [[ .bgm.instance | toJSON ]] { destination = "/opt/bgm/databases" } -[[ template "common/resources.tpl" .bgm.resources ]] +[[ template "common/resources" .bgm.resources ]] } @@ -110,7 +110,7 @@ _EOT volume = "backup" destination = "/backup" } -[[ template "common/resources.tpl" .bgm.backup.resources ]] +[[ template "common/resources" .bgm.backup.resources ]] } [[- end ]] } diff --git a/consul/config/service-defaults/boardgame-manager.hcl b/consul/config/service-defaults/boardgame-manager.hcl index 4a010cd..f3ad32f 100644 --- a/consul/config/service-defaults/boardgame-manager.hcl +++ b/consul/config/service-defaults/boardgame-manager.hcl @@ -1,3 +1,3 @@ Kind = "service-defaults" -Name = "[[ .bgm.instance ]][[ .consul.suffix ]]" +Name = "[[ .instance ]][[ .consul.suffix ]]" Protocol = "http" diff --git a/consul/config/service-intentions/boardgame-manager.hcl b/consul/config/service-intentions/boardgame-manager.hcl index 6f24dd5..007f872 100644 --- a/consul/config/service-intentions/boardgame-manager.hcl +++ b/consul/config/service-intentions/boardgame-manager.hcl @@ -1,5 +1,5 @@ Kind = "service-intentions" -Name = "[[ .bgm.instance ]][[ .consul.suffix ]]" +Name = "[[ .instance ]][[ .consul.suffix ]]" Sources = [ { Name = "[[ (merge .bgm .).traefik.instance ]]" diff --git a/variables.yml b/variables.yml index 887f00d..041020c 100644 --- a/variables.yml +++ b/variables.yml @@ -1,12 +1,12 @@ --- +# Name of the instance +instance: boardgame-manager + bgm: - # Name of the instance - instance: boardgame-manager - # Image to use - image: danielberteaud/boardgame-manager:latest + image: '[[ .docker.repo ]]boardgame-manager:latest' # Resource allocation for the container resources: