aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cluster/staging/app/garage/deploy/garage-nix.hcl218
-rw-r--r--cluster/staging/app/garage/deploy/old-garage-docker.hcl (renamed from cluster/staging/app/garage/deploy/garage.hcl)0
-rw-r--r--cluster/staging/cluster.nix19
-rwxr-xr-xdeploy_nixos1
-rw-r--r--nix/nomad-driver-nix.nix31
5 files changed, 4 insertions, 265 deletions
diff --git a/cluster/staging/app/garage/deploy/garage-nix.hcl b/cluster/staging/app/garage/deploy/garage-nix.hcl
deleted file mode 100644
index 373fd10..0000000
--- a/cluster/staging/app/garage/deploy/garage-nix.hcl
+++ /dev/null
@@ -1,218 +0,0 @@
-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 = "nix"
-
- config {
- packages = [
- "git+https://git.deuxfleurs.fr/Deuxfleurs/garage.git?ref=nix-remove-system&rev=60c26fbc628d7b450ae39214b578ab6a30583d5c"
- ]
- command = [ "/bin/garage", "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 = <<EOH
-RUST_LOG=garage=debug
-EOH
- destination = "secrets/env"
- env = true
- }
-
- resources {
- memory = 2000
- memory_max = 3000
- cpu = 500
- }
-
- kill_signal = "SIGINT"
- kill_timeout = "20s"
-
- service {
- tags = [
- "garage-staging-api",
- "tricot garage-staging.home.adnab.me",
- "tricot garage.staging.deuxfleurs.org",
- "tricot-add-header Access-Control-Allow-Origin *",
- ]
- port = 3990
- address_mode = "driver"
- name = "garage-staging-api"
- check {
- type = "tcp"
- port = 3990
- address_mode = "driver"
- interval = "60s"
- timeout = "5s"
- check_restart {
- limit = 3
- grace = "90s"
- ignore_warnings = false
- }
- }
- }
-
- service {
- tags = [
- "garage-staging-k2v-api",
- "tricot k2v.staging.deuxfleurs.org",
- "tricot-add-header Access-Control-Allow-Origin *",
- ]
- port = 3993
- address_mode = "driver"
- name = "garage-staging-k2v-api"
- # check {
- # type = "tcp"
- # port = 3993
- # address_mode = "driver"
- # interval = "60s"
- # timeout = "5s"
- # check_restart {
- # limit = 3
- # grace = "90s"
- # ignore_warnings = false
- # }
- # }
- }
-
- service {
- tags = ["garage-staging-rpc"]
- port = 3991
- address_mode = "driver"
- name = "garage-staging-rpc"
- check {
- type = "tcp"
- port = 3991
- address_mode = "driver"
- interval = "60s"
- timeout = "5s"
- check_restart {
- limit = 3
- grace = "90s"
- ignore_warnings = false
- }
- }
- }
-
- service {
- tags = [
- "garage-staging-web",
- "tricot *.web.staging.deuxfleurs.org",
- "tricot staging.deuxfleurs.org",
- "tricot matrix.home.adnab.me/.well-known/matrix/server",
- "tricot-add-header Access-Control-Allow-Origin *",
- ]
- port = 3992
- address_mode = "driver"
- name = "garage-staging-web"
- check {
- type = "tcp"
- port = 3992
- address_mode = "driver"
- interval = "60s"
- timeout = "5s"
- check_restart {
- limit = 3
- grace = "90s"
- ignore_warnings = false
- }
- }
- }
-
- service {
- tags = [
- "garage-staging-admin",
- ]
- port = 3909
- address_mode = "driver"
- name = "garage-staging-admin"
- }
-
- restart {
- interval = "30m"
- attempts = 10
- delay = "15s"
- mode = "delay"
- }
- }
- }
-}
diff --git a/cluster/staging/app/garage/deploy/garage.hcl b/cluster/staging/app/garage/deploy/old-garage-docker.hcl
index 32123e0..32123e0 100644
--- a/cluster/staging/app/garage/deploy/garage.hcl
+++ b/cluster/staging/app/garage/deploy/old-garage-docker.hcl
diff --git a/cluster/staging/cluster.nix b/cluster/staging/cluster.nix
index 71a8d98..7582992 100644
--- a/cluster/staging/cluster.nix
+++ b/cluster/staging/cluster.nix
@@ -78,25 +78,14 @@
services.nomad.dropPrivileges = false;
# ----- nomad-driver-nix & nomad-driver-nix2 -----
- services.nomad.extraSettingsPlugins =
- let nomad_driver_nix = import ./nomad-driver-nix.nix { inherit pkgs; };
- nomad_driver_nix2 = import ./nomad-driver-nix2.nix { inherit pkgs; };
- in [
- (pkgs.symlinkJoin {
- name = "nomad-drivers";
- paths = [
- nomad_driver_nix
- nomad_driver_nix2
- ];
- })
- ];
- # the nix driver requires flakes to be enabled and some commands to be available
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
+ services.nomad.extraSettingsPlugins = [
+ (import ./nomad-driver-nix2.nix { inherit pkgs; })
+ ];
services.nomad.extraPackages = [
pkgs.nix
pkgs.git
];
- # default config for the exec2 driver
+ # default config for the nix2 driver
services.nomad.settings.plugin = [
{
"nix2-driver" = [
diff --git a/deploy_nixos b/deploy_nixos
index 188c8d1..ba93f33 100755
--- a/deploy_nixos
+++ b/deploy_nixos
@@ -8,7 +8,6 @@ copy cluster/$CLUSTER/node/$NIXHOST.nix /etc/nixos/node.nix
copy cluster/$CLUSTER/node/$NIXHOST.site.nix /etc/nixos/site.nix
if [ "$CLUSTER" = "staging" ]; then
- copy nix/nomad-driver-nix.nix /etc/nixos/nomad-driver-nix.nix
copy nix/nomad-driver-nix2.nix /etc/nixos/nomad-driver-nix2.nix
fi
diff --git a/nix/nomad-driver-nix.nix b/nix/nomad-driver-nix.nix
deleted file mode 100644
index 9d3638d..0000000
--- a/nix/nomad-driver-nix.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- pkgs ? import <nixpkgs> {}
-}:
-pkgs.buildGoModule rec {
- pname = "nomad-driver-nix";
- version = "0.1.0";
-
- src = pkgs.fetchFromGitHub {
- owner = "input-output-hk";
- repo = "nomad-driver-nix";
- rev = "010b09c680887d0cade86e8ac136c3a04609e04a";
- sha256 = "sha256-hET+b7XhDLSuVQwXLI2V5nYCcdvxQQj9BAG8z4ta6CE=";
- };
-
- vendorSha256 = "sha256-FDJpbNtcFEHnZvWip2pvUHF3BFyfcSohrr/3nk9YS24=";
-
- ldflags = [
- "-X github.com/input-output-hk/nomad-driver-nix/nix.pluginVersion=${version}"
- ];
-
- postInstall = ''
- mv $out/bin/nomad-driver-nix $out/bin/nix-driver
- '';
-
- meta = with pkgs.lib; {
- description = "Nomad driver to run Nix packages / NixOS in systemd-nspawn containers";
- homepage = "https://github.com/input-output-hk/nomad-driver-nix";
- license = licenses.mpl20;
- platforms = platforms.linux;
- };
-}