nixcfg/cluster/staging/app/directory/deploy/directory.hcl

134 lines
2.8 KiB
HCL
Raw Normal View History

2022-06-01 12:04:20 +00:00
job "directory" {
2023-01-04 09:06:06 +00:00
datacenters = ["neptune", "jupiter", "corrin", "bespin"]
2022-06-01 12:04:20 +00:00
type = "service"
priority = 90
constraint {
attribute = "${attr.cpu.arch}"
value = "amd64"
}
group "bottin" {
count = 1
network {
port "ldap_port" {
static = 389
}
}
task "bottin" {
2022-12-01 21:49:55 +00:00
driver = "nix2"
2022-06-01 12:04:20 +00:00
config {
2022-12-01 21:49:55 +00:00
packages = [
"git+https://git.deuxfleurs.fr/Deuxfleurs/bottin.git?ref=main&rev=9cab98d2cee386ece54b000bbdf2346da8b55eed"
2022-06-01 12:04:20 +00:00
]
2022-12-01 21:49:55 +00:00
command = "bottin"
2022-06-01 12:04:20 +00:00
}
2022-12-01 21:49:55 +00:00
user = "root" # needed to bind port 389
2022-06-01 12:04:20 +00:00
resources {
memory = 100
}
template {
data = file("../config/bottin/config.json.tpl")
2022-12-01 21:49:55 +00:00
destination = "config.json"
2022-06-01 12:04:20 +00:00
}
template {
data = "{{ key \"secrets/consul/consul-ca.crt\" }}"
2022-12-01 21:49:55 +00:00
destination = "etc/bottin/consul-ca.crt"
2022-06-01 12:04:20 +00:00
}
template {
data = "{{ key \"secrets/consul/consul-client.crt\" }}"
2022-12-01 21:49:55 +00:00
destination = "etc/bottin/consul-client.crt"
2022-06-01 12:04:20 +00:00
}
template {
data = "{{ key \"secrets/consul/consul-client.key\" }}"
2022-12-01 21:49:55 +00:00
destination = "etc/bottin/consul-client.key"
2022-06-01 12:04:20 +00:00
}
template {
data = <<EOH
CONSUL_HTTP_ADDR=https://localhost:8501
CONSUL_HTTP_SSL=true
CONSUL_CACERT=/etc/bottin/consul-ca.crt
CONSUL_CLIENT_CERT=/etc/bottin/consul-client.crt
CONSUL_CLIENT_KEY=/etc/bottin/consul-client.key
EOH
destination = "secrets/env"
env = true
}
service {
tags = ["bottin"]
port = "ldap_port"
name = "bottin"
check {
type = "tcp"
port = "ldap_port"
interval = "60s"
timeout = "5s"
check_restart {
limit = 3
grace = "90s"
ignore_warnings = false
}
}
}
}
}
group "guichet" {
count = 1
network {
2022-12-01 22:30:12 +00:00
port "web_port" { static = 9991 }
2022-06-01 12:04:20 +00:00
}
task "guichet" {
2022-12-01 22:30:12 +00:00
driver = "nix2"
2022-06-01 12:04:20 +00:00
config {
2022-12-01 22:30:12 +00:00
packages = [
"git+https://git.deuxfleurs.fr/Deuxfleurs/guichet.git?ref=main&rev=10bdee10cf6947ec6dd0ba5040d7274d6c3316a7"
2022-06-01 12:04:20 +00:00
]
2022-12-01 22:30:12 +00:00
command = "guichet"
2022-06-01 12:04:20 +00:00
}
template {
data = file("../config/guichet/config.json.tpl")
2022-12-01 22:30:12 +00:00
destination = "config.json"
2022-06-01 12:04:20 +00:00
}
resources {
memory = 200
}
service {
name = "guichet"
tags = [
"guichet",
"tricot guichet.staging.deuxfleurs.org",
"d53-cname guichet.staging.deuxfleurs.org",
2022-06-01 12:04:20 +00:00
]
port = "web_port"
check {
type = "tcp"
port = "web_port"
interval = "60s"
timeout = "5s"
check_restart {
limit = 3
grace = "90s"
ignore_warnings = false
}
}
}
}
}
}