job "garage-staging" { type = "system" #datacenters = [ "neptune", "pluton" ] datacenters = [ "neptune" ] priority = 80 constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "garage-staging" { network { port "s3" { static = 3990 } port "rpc" { static = 3991 } port "web" { static = 3992 } port "k2v" { static = 3993 } port "admin" { static = 3909 } } update { max_parallel = 1 min_healthy_time = "30s" healthy_deadline = "5m" } # task "repair" { # lifecycle { # hook = "prestart" # sidecar = false # } # driver = "docker" # config { # image = "dxflrs/amd64_garage:v0.7.99-k2v" # command = "/garage" # args = [ "offline-repair", "--yes", "object_counters" ] # network_mode = "host" # volumes = [ # "/mnt/storage/garage-staging/data:/data", # "/mnt/ssd/garage-staging/meta:/meta", # "secrets/garage.toml:/etc/garage.toml", # ] # } # template { # data = file("../config/garage.toml") # destination = "secrets/garage.toml" # } # resources { # memory = 2000 # cpu = 1000 # } # } task "server" { driver = "exec2" config { #command = "/usr/bin/env" command = "/run/current-system/sw/bin/nix" args = [ "run", "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?ref=nix-remove-system&rev=60c26fbc628d7b450ae39214b578ab6a30583d5c", "--", "server" ] bind = { "/mnt/storage/garage-staging/data" = "/data", "/mnt/ssd/garage-staging/meta" = "/meta", } } template { data = file("../config/garage.toml") destination = "etc/garage.toml" } template { data = "{{ key \"secrets/consul/consul-ca.crt\" }}" destination = "etc/garage/consul-ca.crt" } template { data = "{{ key \"secrets/consul/consul-client.crt\" }}" destination = "etc/garage/consul-client.crt" } template { data = "{{ key \"secrets/consul/consul-client.key\" }}" destination = "etc/garage/consul-client.key" } template { data = <