lure-web-old/template.nomad

79 lines
1.6 KiB
HCL

job "lure-web" {
region = "global"
datacenters = ["dc1"]
type = "service"
group "lure-web" {
network {
port "api" {
to = 8080
}
port "http" {
to = 3000
}
}
task "backend" {
driver = "docker"
env {
LURE_API_GITHUB_SECRET = "${LURE_API_GITHUB_SECRET}"
// Hack to force Nomad to re-deploy the service
// instead of ignoring it
COMMIT_SHA = "${DRONE_COMMIT_SHA}"
}
config {
image = "gitea.elara.ws/lure/backend:latest"
ports = ["api"]
}
service {
name = "lure-backend"
port = "api"
tags = [
"traefik.enable=true",
"traefik.http.routers.lure-backend.rule=Host(`api.lure.elara.ws`)",
"traefik.http.routers.lure-backend.tls.certresolver=letsencrypt"
]
check {
type = "tcp"
port = "api"
interval = "30s"
timeout = "2s"
}
}
}
task "frontend" {
driver = "docker"
config {
image = "gitea.elara.ws/lure/frontend:latest"
ports = ["http"]
args = ["build"]
}
service {
name = "lure-web"
port = "http"
tags = [
"traefik.enable=true",
"traefik.http.routers.lure-frontend.rule=Host(`lure.elara.ws`)",
"traefik.http.routers.lure-frontend.tls.certresolver=letsencrypt",
]
}
}
}
constraint {
attribute = "${attr.cpu.arch}"
operator = "set_contains_any"
value = "amd64,arm64,riscv64"
}
}