build04: switch to new hardware
This commit is contained in:
parent
7757140ed4
commit
8713cd3c58
6 changed files with 14 additions and 124 deletions
devdoc
docs
hosts/build04
modules/nixos
terraform
|
@ -24,11 +24,11 @@
|
||||||
|
|
||||||
### `build04`
|
### `build04`
|
||||||
|
|
||||||
- Provider: Oracle cloud
|
- Provider: Hetzner
|
||||||
- Instance type: [Ampere A1 Compute](https://www.oracle.com/cloud/compute/arm/)
|
- Instance type: [RX170](https://www.hetzner.com/dedicated-rootserver/rx170)
|
||||||
- CPU: 4 VCPUs on an Ampere Altra (arm64)
|
- CPU: Ampere Altra Q80-30 80-Core Processor
|
||||||
- RAM: 24GB
|
- RAM: 128GB DDR4 ECC
|
||||||
- Drives: 200 GB Block
|
- Drives: 2 x 960 GB NVME in RAID 0
|
||||||
|
|
||||||
### `darwin02`
|
### `darwin02`
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ We provide CI for these platforms:
|
||||||
- `x86_64-darwin`
|
- `x86_64-darwin`
|
||||||
- `x86_64-linux`
|
- `x86_64-linux`
|
||||||
|
|
||||||
We only have limited build capacity for `*-darwin` and `aarch64-linux` so please don't use it excessively.
|
We only have limited build capacity for `*-darwin` so please don't use it excessively.
|
||||||
|
|
||||||
#### Buildbot
|
#### Buildbot
|
||||||
|
|
||||||
|
|
|
@ -1,51 +1,19 @@
|
||||||
{ inputs, ... }:
|
{ inputs, ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.disko.nixosModules.disko
|
inputs.srvos.nixosModules.hardware-hetzner-online-arm
|
||||||
./hardware-configuration.nix
|
inputs.self.nixosModules.disko-raid
|
||||||
inputs.self.nixosModules.common
|
inputs.self.nixosModules.common
|
||||||
inputs.self.nixosModules.builder
|
inputs.self.nixosModules.builder
|
||||||
inputs.self.nixosModules.hercules-ci
|
inputs.self.nixosModules.hercules-ci
|
||||||
inputs.self.nixosModules.remote-builder
|
inputs.self.nixosModules.remote-builder
|
||||||
];
|
];
|
||||||
|
|
||||||
nixCommunity.gc.gbFree = 25;
|
nixCommunity.disko.raidLevel = 0; # more disk space, we don't have much state to restore anyway
|
||||||
|
|
||||||
# disable kvm/nixos-tests
|
|
||||||
nix.settings.system-features = [ "big-parallel" ];
|
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.systemd-boot.configurationLimit = 3;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = false;
|
|
||||||
|
|
||||||
# Make it easier to recover via serial console in case something goes wrong.
|
|
||||||
services.getty.autologinUser = "root";
|
|
||||||
|
|
||||||
networking.hostName = "build04";
|
networking.hostName = "build04";
|
||||||
networking.hostId = "8daf74c0";
|
|
||||||
|
|
||||||
# enabled by default for stateVersion < 23.11
|
system.stateVersion = "23.11";
|
||||||
boot.swraid.enable = false;
|
|
||||||
|
|
||||||
system.stateVersion = "21.11";
|
systemd.network.networks."10-uplink".networkConfig.Address = "2a01:4f9:3051:3962::2";
|
||||||
systemd.network = {
|
|
||||||
enable = true;
|
|
||||||
networks.ethernet.extraConfig = ''
|
|
||||||
[Match]
|
|
||||||
Type = ether
|
|
||||||
[Network]
|
|
||||||
DHCP = yes
|
|
||||||
IPv6AcceptRA = true
|
|
||||||
# Usually dhcpv6 should give us a public address, but it doesn't seem to work for oracle with both networkd/dhcpcd
|
|
||||||
# so we set it manually here. One can get the address by clicking on the primary vnic in the oracle console and
|
|
||||||
# under Resources -> IPv6 Addresses
|
|
||||||
Address = 2603:c022:c001:b500:f1d4:5343:e8ce:d6ba
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
## `opc` is the username from the oracle image. Replace with root if we are booted into nixos.
|
|
||||||
# nix run --inputs-from . nixpkgs#nixos-anywhere -- \
|
|
||||||
# --debug \
|
|
||||||
# --flake '.#build04' \
|
|
||||||
# opc@141.148.235.248
|
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ modulesPath
|
|
||||||
, ...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/profiles/qemu-guest.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "virtio_pci" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
disko.devices = {
|
|
||||||
disk = {
|
|
||||||
sda = {
|
|
||||||
type = "disk";
|
|
||||||
device = "/dev/sda";
|
|
||||||
content = {
|
|
||||||
type = "table";
|
|
||||||
format = "gpt";
|
|
||||||
partitions = [
|
|
||||||
{
|
|
||||||
name = "ESP";
|
|
||||||
start = "0";
|
|
||||||
end = "1GiB";
|
|
||||||
fs-type = "fat32";
|
|
||||||
bootable = true;
|
|
||||||
content = {
|
|
||||||
type = "filesystem";
|
|
||||||
format = "vfat";
|
|
||||||
mountpoint = "/boot";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "zfs";
|
|
||||||
start = "1GiB";
|
|
||||||
end = "100%";
|
|
||||||
content = {
|
|
||||||
type = "zfs";
|
|
||||||
pool = "zroot";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
zpool = {
|
|
||||||
zroot = {
|
|
||||||
type = "zpool";
|
|
||||||
rootFsOptions = {
|
|
||||||
compression = "lz4";
|
|
||||||
"com.sun:auto-snapshot" = "false";
|
|
||||||
};
|
|
||||||
|
|
||||||
datasets = {
|
|
||||||
"root" = {
|
|
||||||
type = "zfs_fs";
|
|
||||||
mountpoint = null;
|
|
||||||
};
|
|
||||||
"root/nixos" = {
|
|
||||||
type = "zfs_fs";
|
|
||||||
mountpoint = "/";
|
|
||||||
};
|
|
||||||
"root/home" = {
|
|
||||||
type = "zfs_fs";
|
|
||||||
mountpoint = "/home";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
}
|
|
|
@ -7,12 +7,11 @@
|
||||||
# these machines are used by hydra which doesn't support ssh-ng
|
# these machines are used by hydra which doesn't support ssh-ng
|
||||||
{
|
{
|
||||||
hostName = "build04.nix-community.org";
|
hostName = "build04.nix-community.org";
|
||||||
maxJobs = 4;
|
maxJobs = 80;
|
||||||
protocol = "ssh";
|
protocol = "ssh";
|
||||||
sshKey = config.sops.secrets.id_buildfarm.path;
|
sshKey = config.sops.secrets.id_buildfarm.path;
|
||||||
sshUser = "nix";
|
sshUser = "nix";
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
supportedFeatures = [ "big-parallel" ];
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
hostName = "darwin02.nix-community.org";
|
hostName = "darwin02.nix-community.org";
|
||||||
|
|
|
@ -64,14 +64,14 @@ resource "cloudflare_record" "nix-community-org-build03-AAAA" {
|
||||||
resource "cloudflare_record" "nix-community-org-build04-A" {
|
resource "cloudflare_record" "nix-community-org-build04-A" {
|
||||||
zone_id = local.nix_community_zone_id
|
zone_id = local.nix_community_zone_id
|
||||||
name = "build04"
|
name = "build04"
|
||||||
value = "141.144.201.31"
|
value = "65.109.107.32"
|
||||||
type = "A"
|
type = "A"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "nix-community-org-build04-AAAA" {
|
resource "cloudflare_record" "nix-community-org-build04-AAAA" {
|
||||||
zone_id = local.nix_community_zone_id
|
zone_id = local.nix_community_zone_id
|
||||||
name = "build04"
|
name = "build04"
|
||||||
value = "2603:c022:c001:b500:f1d4:5343:e8ce:d6ba"
|
value = "2a01:4f9:3051:3962::2"
|
||||||
type = "AAAA"
|
type = "AAAA"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue