diff options
author | Alex Auvolat <alex@adnab.me> | 2021-12-08 12:19:08 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2021-12-08 12:19:08 +0100 |
commit | 3297135a5861aa719fda4f4ed33d1d9bdb7412fd (patch) | |
tree | 5d2f2b5c325201fe356158debde41d5c9cd3ab2c | |
parent | 8846421cc44fc958e08a1eff2a12ebc54178731b (diff) | |
download | infrastructure-3297135a5861aa719fda4f4ed33d1d9bdb7412fd.tar.gz infrastructure-3297135a5861aa719fda4f4ed33d1d9bdb7412fd.zip |
Add tricot to replace traefik
-rw-r--r-- | app/dummy/deploy/dummy-nginx.hcl | 41 | ||||
-rw-r--r-- | app/garage-staging/deploy/garage.hcl | 1 | ||||
-rw-r--r-- | app/tricot/deploy/tricot.hcl | 48 |
3 files changed, 90 insertions, 0 deletions
diff --git a/app/dummy/deploy/dummy-nginx.hcl b/app/dummy/deploy/dummy-nginx.hcl new file mode 100644 index 0000000..6415010 --- /dev/null +++ b/app/dummy/deploy/dummy-nginx.hcl @@ -0,0 +1,41 @@ +job "dummy-nginx" { + datacenters = ["neptune"] + type = "service" + + group "nginx" { + count = 1 + + constraint { + attribute = "${attr.unique.hostname}" + operator = "=" + value = "carcajou" + } + + network { + port "http" { + to = 80 + } + } + + task "nginx" { + driver = "docker" + config { + image = "nginx" + ports = [ "http" ] + } + } + + service { + port = "http" + tags = [ + "tricot home.adnab.me 100", + ] + check { + type = "http" + path = "/" + interval = "10s" + timeout = "2s" + } + } + } +} diff --git a/app/garage-staging/deploy/garage.hcl b/app/garage-staging/deploy/garage.hcl index 9284461..c9a7b23 100644 --- a/app/garage-staging/deploy/garage.hcl +++ b/app/garage-staging/deploy/garage.hcl @@ -98,6 +98,7 @@ job "garage-staging" { tags = [ "garage-staging-web", "tricot *.garage-staging-web.home.adnab.me", + "tricot rust-docs", ] port = 3992 address_mode = "driver" diff --git a/app/tricot/deploy/tricot.hcl b/app/tricot/deploy/tricot.hcl new file mode 100644 index 0000000..ad838a8 --- /dev/null +++ b/app/tricot/deploy/tricot.hcl @@ -0,0 +1,48 @@ +job "tricot" { + datacenters = ["dc1", "neptune"] + type = "system" + priority = 90 + + constraint { + attribute = "${attr.cpu.arch}" + value = "amd64" + } + + update { + max_parallel = 1 + stagger = "1m" + } + + group "tricot" { + task "tricot" { + driver = "docker" + + config { + image = "lxpz/amd64_tricot:4" + network_mode = "host" + readonly_rootfs = true + } + + restart { + interval = "30m" + attempts = 2 + delay = "15s" + mode = "delay" + } + + template { + data = <<EOH +TRICOT_NODE_NAME={{ env "attr.unique.hostname" }} +TRICOT_LETSENCRYPT_EMAIL=alex@adnab.me +RUST_LOG=tricot=debug +EOH + destination = "secrets/env" + env = true + } + + resources { + memory = 40 + } + } + } +} |