aboutsummaryrefslogtreecommitdiff
path: root/cluster
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-11-29 14:42:53 +0100
committerAlex Auvolat <alex@adnab.me>2022-11-29 14:42:53 +0100
commit14e3e6deffe0c344c181e8e7a548fee109d74692 (patch)
tree0b53c303dec4f6619c091a8d6e8dfc246f5e9f32 /cluster
parentc9f9ed4c711b8db80ce03f9aff3f9cc25c568b3a (diff)
downloadnixcfg-14e3e6deffe0c344c181e8e7a548fee109d74692.tar.gz
nixcfg-14e3e6deffe0c344c181e8e7a548fee109d74692.zip
Staging: cleanup garage job
Diffstat (limited to 'cluster')
-rw-r--r--cluster/staging/app/garage/config/garage.toml3
-rw-r--r--cluster/staging/app/garage/deploy/garage-nix2.hcl173
2 files changed, 60 insertions, 116 deletions
diff --git a/cluster/staging/app/garage/config/garage.toml b/cluster/staging/app/garage/config/garage.toml
index 3686338..f14a602 100644
--- a/cluster/staging/app/garage/config/garage.toml
+++ b/cluster/staging/app/garage/config/garage.toml
@@ -10,9 +10,6 @@ rpc_bind_addr = "[{{ env "meta.public_ipv6" }}]:3991"
rpc_public_addr = "[{{ env "meta.public_ipv6" }}]:3991"
rpc_secret = "{{ key "secrets/garage-staging/rpc_secret" | trimSpace }}"
-#consul_host = "localhost:8500"
-#consul_service_name = "garage-staging-rpc-self-advertised"
-
bootstrap_peers = []
[consul_discovery]
diff --git a/cluster/staging/app/garage/deploy/garage-nix2.hcl b/cluster/staging/app/garage/deploy/garage-nix2.hcl
index a60b506..5baf797 100644
--- a/cluster/staging/app/garage/deploy/garage-nix2.hcl
+++ b/cluster/staging/app/garage/deploy/garage-nix2.hcl
@@ -1,13 +1,13 @@
job "garage-staging" {
type = "system"
- #datacenters = [ "neptune", "pluton" ]
- datacenters = [ "neptune" ]
+ priority = 90
- priority = 80
+ datacenters = [ "neptune" ]
- constraint {
- attribute = "${attr.cpu.arch}"
- value = "amd64"
+ update {
+ max_parallel = 1
+ stagger = "30s"
+ min_healthy_time = "10s"
}
group "garage-staging" {
@@ -19,43 +19,6 @@ job "garage-staging" {
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 = "nix2"
@@ -71,6 +34,12 @@ job "garage-staging" {
"/mnt/ssd/garage-staging/meta" = "/meta",
}
}
+
+ env = {
+ RUST_LOG = "garage=debug",
+ }
+
+ # files currently owned by root, we don't want to chown everything
user = "root"
template {
@@ -93,14 +62,6 @@ job "garage-staging" {
destination = "etc/garage/consul-client.key"
}
- template {
- data = <<EOH
-RUST_LOG=garage=debug
-EOH
- destination = "secrets/env"
- env = true
- }
-
resources {
memory = 2000
memory_max = 3000
@@ -111,25 +72,30 @@ EOH
kill_timeout = "20s"
service {
+ name = "garage-staging-rpc"
+ tags = ["garage-staging-rpc"]
+ port = "rpc"
+ # No check on RPC, it wouldn't try connecting to the correct address
+ # (Garage listens only on IPv6 for RPC, see config file)
+ }
+
+ service {
name = "garage-staging-s3-api"
tags = [
"garage-staging-api",
- "tricot garage-staging.home.adnab.me",
"tricot garage.staging.deuxfleurs.org",
"tricot-add-header Access-Control-Allow-Origin *",
]
port = "s3"
- #address_mode = "host"
- #check {
- # type = "tcp"
- # interval = "60s"
- # timeout = "5s"
- # check_restart {
- # limit = 3
- # grace = "90s"
- # ignore_warnings = false
- # }
- #}
+ check {
+ type = "tcp"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "90s"
+ }
+ }
}
service {
@@ -140,38 +106,15 @@ EOH
"tricot-add-header Access-Control-Allow-Origin *",
]
port = "k2v"
- #address_mode = "driver"
- # check {
- # type = "tcp"
- # port = 3993
- # address_mode = "driver"
- # interval = "60s"
- # timeout = "5s"
- # check_restart {
- # limit = 3
- # grace = "90s"
- # ignore_warnings = false
- # }
- # }
- }
-
- service {
- name = "garage-staging-rpc"
- tags = ["garage-staging-rpc"]
- port = "rpc"
- #address_mode = "driver"
- #check {
- # type = "tcp"
- # port = 3991
- # address_mode = "driver"
- # interval = "60s"
- # timeout = "5s"
- # check_restart {
- # limit = 3
- # grace = "90s"
- # ignore_warnings = false
- # }
- #}
+ check {
+ type = "tcp"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "90s"
+ }
+ }
}
service {
@@ -184,19 +127,15 @@ EOH
"tricot-add-header Access-Control-Allow-Origin *",
]
port = "web"
- #address_mode = "driver"
- #check {
- # type = "tcp"
- # port = 3992
- # address_mode = "driver"
- # interval = "60s"
- # timeout = "5s"
- # check_restart {
- # limit = 3
- # grace = "90s"
- # ignore_warnings = false
- # }
- #}
+ check {
+ type = "tcp"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "90s"
+ }
+ }
}
service {
@@ -205,13 +144,21 @@ EOH
"garage-staging-admin",
]
port = "admin"
- #address_mode = "driver"
+ check {
+ type = "tcp"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "90s"
+ }
+ }
}
- restart {
- interval = "1m"
- attempts = 10
- delay = "15s"
+ restart {
+ interval = "5m"
+ attempts = 10
+ delay = "15s"
mode = "delay"
}
}