nixcfg/cluster/staging/app/ci/deploy/albatros.hcl
2023-07-08 14:38:00 +02:00

97 lines
2.6 KiB
HCL

job "albatros" {
datacenters = ["neptune", "jupiter", "corrin", "bespin"]
type = "service"
priority = 90
constraint {
attribute = "${attr.cpu.arch}"
value = "amd64"
}
constraint {
attribute = "${attr.unique.hostname}"
operator = "!="
value = "caribou"
}
group "main" {
network {
port "http" { to = 8080 }
}
task "controller" {
driver = "docker"
config {
image = "dxflrs/albatros:0.9.0-rc.3"
ports = [ "http" ]
volumes = [
"secrets/certs:/var/run/secrets/albatros"
]
}
env {
ALBATROS_URL = "https://albatros.staging.deuxfleurs.org"
NOMAD_ADDR = "https://nomad.service.staging.consul:4646"
NOMAD_CACERT = "/var/run/secrets/albatros/nomad-ca.crt"
NOMAD_CLIENT_CERT = "/var/run/secrets/albatros/nomad-client.crt"
NOMAD_CLIENT_KEY = "/var/run/secrets/albatros/nomad-client.key"
CONSUL_HTTP_ADDR = "https://consul.service.staging.consul:8501"
CONSUL_CACERT = "/var/run/secrets/albatros/consul-ca.crt"
CONSUL_CLIENT_CERT = "/var/run/secrets/albatros/consul-client.crt"
CONSUL_CLIENT_KEY = "/var/run/secrets/albatros/consul-client.key"
}
template {
data = "{{ key \"secrets/consul/consul-ca.crt\" }}"
destination = "secrets/certs/consul-ca.crt"
}
template {
data = "{{ key \"secrets/consul/consul-client.crt\" }}"
destination = "secrets/certs/consul-client.crt"
}
template {
data = "{{ key \"secrets/consul/consul-client.key\" }}"
destination = "secrets/certs/consul-client.key"
}
template {
data = "{{ key \"secrets/nomad/nomad-ca.crt\" }}"
destination = "secrets/certs/nomad-ca.crt"
}
template {
data = "{{ key \"secrets/nomad/nomad-client.crt\" }}"
destination = "secrets/certs/nomad-client.crt"
}
template {
data = "{{ key \"secrets/nomad/nomad-client.key\" }}"
destination = "secrets/certs/nomad-client.key"
}
resources {
cpu = 200
memory = 200
}
service {
name = "albatros"
tags = [
"albatros",
"tricot albatros.staging.deuxfleurs.org",
"d53-cname albatros.staging.deuxfleurs.org",
]
port = "http"
check {
type = "tcp"
port = "http"
interval = "60s"
timeout = "5s"
check_restart {
limit = 3
grace = "90s"
ignore_warnings = false
}
}
}
}
}
}