diff --git a/build/hydra.nix b/build/hydra.nix index 64456e71..281bea83 100644 --- a/build/hydra.nix +++ b/build/hydra.nix @@ -151,6 +151,8 @@ in # x86_64-linux at Hetzner "elated-minsky.builder.nixos.org".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIvrJpd3aynfPVGGG/s7MtRFz/S6M4dtqvqKI3Da7O7+"; "sleepy-brown.builder.nixos.org".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOh4/3m7o6H3J5QG711aJdlSUVvlC8yW6KoqAES3Fy6I"; + # aarch64-linux at Hetzner + "goofy-hopcroft.builder.nixos.org".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICTJEi+nQNd7hzNYN3cLBK/0JCkmwmyC1I+b5nMI7+dd"; # M1 Macs in North America "*.foundation.detsys.dev" = { diff --git a/build/pluto/prometheus/exporters/node.nix b/build/pluto/prometheus/exporters/node.nix index 0867a79d..4bb0717b 100644 --- a/build/pluto/prometheus/exporters/node.nix +++ b/build/pluto/prometheus/exporters/node.nix @@ -47,6 +47,7 @@ targets = [ "elated-minsky.builder.nixos.org:9100" "sleepy-brown.builder.nixos.org:9100" + "goofy-hopcroft.builder.nixos.org:9100" ]; } ]; diff --git a/builders/flake-module.nix b/builders/flake-module.nix index 7d838aa8..9c08feb7 100644 --- a/builders/flake-module.nix +++ b/builders/flake-module.nix @@ -30,5 +30,8 @@ # Epyc 9454P (48C/96T), 256 GB DDR4 RAM, 2x 1.92TB PCIe4 NVME elated-minsky = mkNixOS "x86_64-linux" ./instances/elated-minsky.nix; sleepy-brown = mkNixOS "x86_64-linux" ./instances/sleepy-brown.nix; + + # Ampere Q80-30 (80C), 256 GB DDR4 RAM, 2x3.84TB PCIe4 NVME + goofy-hopcroft = mkNixOS "aarch64-linux" ./instances/goofy-hopcroft.nix; }; } diff --git a/builders/instances/goofy-hopcroft.nix b/builders/instances/goofy-hopcroft.nix new file mode 100644 index 00000000..d2b57953 --- /dev/null +++ b/builders/instances/goofy-hopcroft.nix @@ -0,0 +1,40 @@ +{ + imports = [ + ../profiles/hetzner-rx220.nix + ]; + + nix.settings = { + cores = 2; + max-jobs = 40; + }; + + networking = { + hostName = "goofy-hopcroft"; + domain = "builders.nixos.org"; + useDHCP = false; + }; + + systemd.network = { + enable = true; + networks = { + "30-enP3p2s0f0" = { + matchConfig = { + MACAddress = "74:56:3c:8c:01:a9"; + Type = "ether"; + }; + linkConfig.RequiredForOnline = true; + networkConfig.Description = "WAN"; + address = [ + "135.181.225.104/26" + "2a01:4f9:3071:2d8b::1/64" + ]; + routes = [ + { Gateway = "135.181.225.65"; } + { Gateway = "fe80::1"; } + ]; + }; + }; + }; + + system.stateVersion = "24.11"; +} diff --git a/builders/profiles/hetzner-rx220.nix b/builders/profiles/hetzner-rx220.nix new file mode 100644 index 00000000..19610a67 --- /dev/null +++ b/builders/profiles/hetzner-rx220.nix @@ -0,0 +1,20 @@ +{ + imports = [ + ../boot/efi-grub.nix + ]; + + disko.devices = import ../disk-layouts/efi-zfs-raid0.nix { }; + boot.supportedFilesystems.zfs = true; + networking.hostId = "91312b0a"; + + # 96G for build roots, 160G for working memory + boot.tmp = { + useTmpfs = true; + tmpfsSize = "96G"; + }; + + boot.initrd.availableKernelModules = [ + "nvme" + "usbhid" + ]; +} diff --git a/terraform/dns.tf b/terraform/dns.tf index 118425f1..514494ac 100644 --- a/terraform/dns.tf +++ b/terraform/dns.tf @@ -228,6 +228,16 @@ locals { type = "AAAA" value = "2a01:4f8:271:5c14::1" }, + { + hostname = "goofy-hopcroft.builder.nixos.org" + type = "A" + value = "135.181.225.104" + }, + { + hostname = "goofy-hopcroft.builder.nixos.org" + type = "AAAA" + value = "2a01:4f9:3071:2d8b::1" + }, { # hetzner m1 1638981 hostname = "intense-heron.mac.nixos.org"