From f7d0c3d1bc9854131ad041d50426522f793ed3dc Mon Sep 17 00:00:00 2001 From: emily Date: Thu, 10 Oct 2024 21:43:11 +0200 Subject: [PATCH] hydra: add more power --- config/services/hydra/nix-config.nix | 18 +++++++- fly.toml | 64 ++++++++++++++++++++++++++++ pkgs/build-worker-oci/default.nix | 1 + pkgs/build-worker-oci/source.nix | 4 +- 4 files changed, 84 insertions(+), 3 deletions(-) diff --git a/config/services/hydra/nix-config.nix b/config/services/hydra/nix-config.nix index 8e97e97..83f30e0 100644 --- a/config/services/hydra/nix-config.nix +++ b/config/services/hydra/nix-config.nix @@ -26,7 +26,7 @@ supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ]; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; } - ] ++ lib.forEach [ "01" "02" "03" "05" ] (num: { + ] ++ lib.forEach [ "01" "02" "03" "05" "06" "07" "08" "09" ] (num: { hostName = "build-worker-${num}"; sshUser = "root"; maxJobs = 4; @@ -53,6 +53,10 @@ "[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz"; "[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp"; "[build-worker-kyoumanet.fly.dev]:2204".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN72OyD9LYy4hq0WZ7ie5RPV+G54UreEJiA/RubjGoe9"; + "[build-worker-kyoumanet.fly.dev]:2205".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICNh1o1I98XrI2XmOI6Q0aHPfyLCIQwKkKOxGUUeXL9v"; + "[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4"; + "[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY"; + "[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O"; }; extraConfig = '' Host build-worker-01 @@ -67,6 +71,18 @@ Host build-worker-05 Hostname build-worker-kyoumanet.fly.dev Port 2204 + Host build-worker-06 + Hostname build-worker-kyoumanet.fly.dev + Port 2205 + Host build-worker-07 + Hostname build-worker-kyoumanet.fly.dev + Port 2206 + Host build-worker-08 + Hostname build-worker-kyoumanet.fly.dev + Port 2207 + Host build-worker-09 + Hostname build-worker-kyoumanet.fly.dev + Port 2208 ''; }; } diff --git a/fly.toml b/fly.toml index 2eccb36..b796763 100644 --- a/fly.toml +++ b/fly.toml @@ -9,6 +9,10 @@ primary_region = 'ams' bw-02 = '/entrypoint.sh' bw-03 = '/entrypoint.sh' bw-04 = '/entrypoint.sh' + bw-05 = '/entrypoint.sh' + bw-06 = '/entrypoint.sh' + bw-07 = '/entrypoint.sh' + bw-08 = '/entrypoint.sh' [[mounts]] source = 'bw01' @@ -34,6 +38,30 @@ primary_region = 'ams' initial_size = '128GB' processes = ['bw-04'] +[[mounts]] + source = 'bw05' + destination = '/mnt/data' + initial_size = '256GB' + processes = ['bw-05'] + +[[mounts]] + source = 'bw06' + destination = '/mnt/data' + initial_size = '256GB' + processes = ['bw-06'] + +[[mounts]] + source = 'bw07' + destination = '/mnt/data' + initial_size = '256GB' + processes = ['bw-07'] + +[[mounts]] + source = 'bw08' + destination = '/mnt/data' + initial_size = '256GB' + processes = ['bw-08'] + [[services]] protocol = 'tcp' internal_port = 2222 @@ -70,6 +98,42 @@ primary_region = 'ams' [[services.ports]] port = 2204 +[[services]] + protocol = 'tcp' + internal_port = 2222 + auto_stop_machines = 'off' + processes = ['bw-05'] + + [[services.ports]] + port = 2205 + +[[services]] + protocol = 'tcp' + internal_port = 2222 + auto_stop_machines = 'off' + processes = ['bw-06'] + + [[services.ports]] + port = 2206 + +[[services]] + protocol = 'tcp' + internal_port = 2222 + auto_stop_machines = 'off' + processes = ['bw-07'] + + [[services.ports]] + port = 2207 + +[[services]] + protocol = 'tcp' + internal_port = 2222 + auto_stop_machines = 'off' + processes = ['bw-08'] + + [[services.ports]] + port = 2208 + [[restart]] policy = 'never' diff --git a/pkgs/build-worker-oci/default.nix b/pkgs/build-worker-oci/default.nix index a5ea5b4..d246d0b 100644 --- a/pkgs/build-worker-oci/default.nix +++ b/pkgs/build-worker-oci/default.nix @@ -42,6 +42,7 @@ dockerTools.buildLayeredImage { mkdir -p /root/.ssh cat < /root/.ssh/authorized_keys ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA/+iN407+HsfHbbC3tfdA8Yf4TZ08qXQMb4tb/SDAs+ emily@card + ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK397sBHLS66snWNPtmjUy7qZxRJh54N0RRXogKODudl nix@muon ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/vCXM3IaxJP9v2Y+xcQrQD2IcffgdzqtWhpMjj9Xl5 hydra@seras ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICT0dGyLUjxFnvqUmex+5xUGQ7D4yGHKo267JgApcq0k root@ryuuko ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIDTwCSWYODyvTJxwB6Rahuy0j6s/YYwtQta8bjzG/We root@ryuuko-arch diff --git a/pkgs/build-worker-oci/source.nix b/pkgs/build-worker-oci/source.nix index 55d1997..b6a86fc 100644 --- a/pkgs/build-worker-oci/source.nix +++ b/pkgs/build-worker-oci/source.nix @@ -4,8 +4,8 @@ dockerTools.pullImage { imageName = "nixos/nix"; - imageDigest = "sha256:338ca39c0c75f10919cd0cf38647ce4543033d2bbdabab4519de5adee45445f8"; - sha256 = "0rzms97xnzlh63pjkqq3m5146lyw00mqgdldsd00c9bzk3ybr75x"; + imageDigest = "sha256:fd7a5c67d396fe6bddeb9c10779d97541ab3a1b2a9d744df3754a99add4046f1"; + sha256 = "1ggkwd9zw8lj97ig7zah7dqy463hfhsgq3iwxxf8117gf8xi422s"; finalImageName = "nixos/nix"; finalImageTag = "latest"; }