diff options
Diffstat (limited to 'cluster/prod/app/garage/deploy/garage-light.hcl')
-rw-r--r-- | cluster/prod/app/garage/deploy/garage-light.hcl | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/cluster/prod/app/garage/deploy/garage-light.hcl b/cluster/prod/app/garage/deploy/garage-light.hcl new file mode 100644 index 0000000..90d1cb0 --- /dev/null +++ b/cluster/prod/app/garage/deploy/garage-light.hcl @@ -0,0 +1,82 @@ +job "garage-light" { + datacenters = ["neptune"] + type = "system" + priority = 80 + + update { + max_parallel = 1 + min_healthy_time = "60s" + } + + group "garage" { + network { + port "s3" { static = 3900 } + port "rpc" { static = 3901 } + port "web" { static = 3902 } + port "admin" { static = 3903 } + } + + update { + max_parallel = 1 + min_healthy_time = "30s" + healthy_deadline = "5m" + } + + task "server" { + driver = "docker" + config { + advertise_ipv6_address = true + image = "dxflrs/amd64_garage:v0.7.1" + command = "/garage" + args = [ "server" ] + network_mode = "host" + volumes = [ + "/mnt/storage/garage/data:/data", + "/mnt/ssd/garage/meta:/meta", + "secrets/garage.toml:/etc/garage.toml", + ] + logging { + type = "journald" + } + } + + template { + data = file("../config/garage.toml") + destination = "secrets/garage.toml" + } + + resources { + memory = 1000 + cpu = 1000 + } + + kill_signal = "SIGINT" + kill_timeout = "20s" + + service { + port = 3903 + address_mode = "driver" + name = "garage-admin" + check { + type = "tcp" + port = 3903 + address_mode = "driver" + interval = "60s" + timeout = "5s" + check_restart { + limit = 3 + grace = "90s" + ignore_warnings = false + } + } + } + + restart { + interval = "30m" + attempts = 10 + delay = "15s" + mode = "delay" + } + } + } +} |