hydra: add even more power

This commit is contained in:
emily 2024-11-21 00:51:39 +01:00
parent 8910001198
commit 697515d942
Signed by: emily
GPG key ID: F6F4C66207FCF995
3 changed files with 97 additions and 11 deletions

View file

@ -28,8 +28,8 @@
supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" "gccarch-rv64gc" ]; supportedFeatures = base ++ [ "gccarch-rv64imac" "gccarch-rv64imacfd" "gccarch-rv64gc" ];
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
} }
] ++ lib.forEach (lib.genList (i: i + 1) 8) (num: { ] ++ lib.forEach (lib.range 0 10) (num: {
hostName = "build-worker-0${toString num}"; hostName = "build-worker-${lib.fixedWidthNumber 2 num}";
sshUser = "root"; sshUser = "root";
maxJobs = 2; maxJobs = 2;
speedFactor = 20; speedFactor = 20;
@ -56,6 +56,7 @@
"schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp"; "schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp";
"lab.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUePtVPtBK+CYosufbaGiMT4EVanti4V5t2Wg0g/Fy4"; "lab.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUePtVPtBK+CYosufbaGiMT4EVanti4V5t2Wg0g/Fy4";
"localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P"; "localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P";
"[build-worker-kyoumanet.fly.dev]:2200".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUGzlilikAUfUGKXVCoTeDvPRoWUgDDkNU5WaRUBzls";
"[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB"; "[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB";
"[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz"; "[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]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
@ -64,15 +65,17 @@
"[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4"; "[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]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY";
"[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O"; "[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O";
"[build-worker-kyoumanet.fly-cdg.dev]:2209".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJGlQD/3fLn/Kyb7v0RIycHRcArGi75jURj803EMpW0S";
"[build-worker-kyoumanet.fly-cdg.dev]:2210".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQm1FSGBGdCR5f8MvBvdKM0M4yIQVnH1po7hHO5T1qz";
}; };
extraConfig = '' extraConfig = ''
Host machine-0008.cloud-v.co Host machine-0008.cloud-v.co
Hostname machine.cloud-v.co Hostname machine.cloud-v.co
Port 20008 Port 20008
'' + lib.concatLines (lib.genList (i: '' '' + lib.concatLines (lib.forEach (lib.range 0 10) (num: ''
Host build-worker-0${toString (i + 1)} Host build-worker-${lib.fixedWidthNumber 2 num}
Hostname build-worker-kyoumanet.fly.dev Hostname build-worker-kyoumanet${lib.optionalString (num > 8) "-cdg"}.fly.dev
Port 220${toString (i + 1)} Port 22${lib.fixedWidthNumber 2 num}
'') 8); ''));
}; };
} }

View file

@ -5,6 +5,7 @@ primary_region = 'ams'
image = 'registry.fly.io/build-worker-kyoumanet:latest' image = 'registry.fly.io/build-worker-kyoumanet:latest'
[processes] [processes]
bw-00 = '/entrypoint.sh'
bw-01 = '/entrypoint.sh' bw-01 = '/entrypoint.sh'
bw-02 = '/entrypoint.sh' bw-02 = '/entrypoint.sh'
bw-03 = '/entrypoint.sh' bw-03 = '/entrypoint.sh'
@ -14,28 +15,34 @@ primary_region = 'ams'
bw-07 = '/entrypoint.sh' bw-07 = '/entrypoint.sh'
bw-08 = '/entrypoint.sh' bw-08 = '/entrypoint.sh'
[[mounts]]
source = 'bw00'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-00']
[[mounts]] [[mounts]]
source = 'bw01' source = 'bw01'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-01'] processes = ['bw-01']
[[mounts]] [[mounts]]
source = 'bw02' source = 'bw02'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-02'] processes = ['bw-02']
[[mounts]] [[mounts]]
source = 'bw03' source = 'bw03'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-03'] processes = ['bw-03']
[[mounts]] [[mounts]]
source = 'bw04' source = 'bw04'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-04'] processes = ['bw-04']
[[mounts]] [[mounts]]
@ -62,6 +69,15 @@ primary_region = 'ams'
initial_size = '256GB' initial_size = '256GB'
processes = ['bw-08'] processes = ['bw-08']
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-00']
[[services.ports]]
port = 2200
[[services]] [[services]]
protocol = 'tcp' protocol = 'tcp'
internal_port = 2222 internal_port = 2222

View file

@ -0,0 +1,67 @@
# fly.toml app configuration file generated for build-worker-kyoumanet-cdg on 2024-11-21T00:31:54+01:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'build-worker-kyoumanet-cdg'
primary_region = 'cdg'
[build]
image = 'registry.fly.io/build-worker-kyoumanet:latest'
[processes]
bw-09 = '/entrypoint.sh'
bw-10 = '/entrypoint.sh'
bw-11 = '/entrypoint.sh'
[[mounts]]
source = 'bw09'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-09']
[[mounts]]
source = 'bw10'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-10']
[[mounts]]
source = 'bw11'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-11']
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-09']
[[services.ports]]
port = 2209
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-10']
[[services.ports]]
port = 2210
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-11']
[[services.ports]]
port = 2211
[[restart]]
policy = 'never'
[[vm]]
size = 'performance-16x'
memory = '96GB'