Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: Feature request
about: Suggest an improvement for this project
title: ''
title: ""
labels: enhancement
assignees: ''
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/service_disruption.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
name: Service disruption report
about: Use this to report service instabilities
title: '<service-name>: '
title: "<service-name>: "
labels: bug
assignees: ''
assignees: ""
---

**Affected service**
Expand Down
8 changes: 0 additions & 8 deletions build/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,6 @@

nixpkgs.config.allowUnfree = true;

nixpkgs.overlays = [
(_prev: final: {
# fails to find nix-main against nix 2.28.x
# https://github.com/NixOS/infra/pull/620#issuecomment-2784979947
nixos-option = final.nixos-option.override { nix = pkgs.nixVersions.nix_2_24; };
})
];

hardware.enableAllFirmware = true;
hardware.cpu.amd.updateMicrocode = true;
hardware.cpu.intel.updateMicrocode = true;
Expand Down
2 changes: 1 addition & 1 deletion build/diffoscope.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ let
echo ""
echo "non-determinism detected in $2; diff with previous round follows:"
echo ""
time ${pkgs.utillinux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
time ${pkgs.util-linux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
exit 0
'';

Expand Down
11 changes: 11 additions & 0 deletions build/flake-module.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ in
haumea = { };
pluto = { };
mimas = { };
titan = { };
};

flake = {
Expand Down Expand Up @@ -55,6 +56,16 @@ in
./mimas
];
};

nixosConfigurations.titan = lib.nixosSystem {
system = "x86_64-linux";

specialArgs = { inherit inputs; };
modules = [
flakesModule
./titan
];
};
};

perSystem =
Expand Down
1 change: 0 additions & 1 deletion build/hydra-proxy.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
recommendedZstdSettings = true;

proxyTimeout = "900s";

Expand Down
2 changes: 1 addition & 1 deletion build/mimas/firewall.nix
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ in
Group = "nft-asblock";
ExecStart = toString (
[
(lib.getExe inputs.nft-prefix-import.packages.${pkgs.hostPlatform.system}.default)
(lib.getExe inputs.nft-prefix-import.packages.${pkgs.stdenv.hostPlatform.system}.default)
"--table"
"abuse"
"--ipv4set"
Expand Down
4 changes: 2 additions & 2 deletions build/pluto/prometheus/exporters/channel.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ in
(pkgs.python3.withPackages (
pypkgs: with pypkgs; [
requests
dateutil
prometheus_client
prometheus-client
python-dateutil
]
))
];
Expand Down
2 changes: 1 addition & 1 deletion build/pluto/prometheus/exporters/github.nix
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ in
path = [
(pkgs.python3.withPackages (
ps: with ps; [
prometheus_client
prometheus-client
requests
]
))
Expand Down
2 changes: 1 addition & 1 deletion build/pluto/prometheus/exporters/hydra.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
python = pkgs.python3.withPackages (
ps: with ps; [
requests
prometheus_client
prometheus-client
]
);
in
Expand Down
1 change: 1 addition & 0 deletions build/pluto/prometheus/exporters/nixos.nix
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
labels.role = "database";
targets = [
"haumea.nixos.org:9300"
"titan.nixos.org:9300"
];
}
];
Expand Down
1 change: 1 addition & 0 deletions build/pluto/prometheus/exporters/node.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
labels.role = "database";
targets = [
"haumea.nixos.org:9100"
"titan.nixos.org:9100"
];
}
{
Expand Down
1 change: 1 addition & 0 deletions build/pluto/prometheus/exporters/postgresql.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
{
targets = [
"haumea.nixos.org:9187"
"titan.nixos.org:9187"
"tracker.security.nixos.org:9187"
];
}
Expand Down
1 change: 1 addition & 0 deletions build/pluto/prometheus/exporters/rasdaemon.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"mimas.nixos.org:10029"
"haumea.nixos.org:10029"
"pluto.nixos.org:10029"
"titan.nixos.org:10029"

# builders
"elated-minsky.builder.nixos.org:10029"
Expand Down
1 change: 1 addition & 0 deletions build/pluto/prometheus/exporters/zfs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"haumea.nixos.org:9134"
"mimas.nixos.org:9134"
"pluto.nixos.org:9134"
"titan.nixos.org:9134"
];
}
];
Expand Down
30 changes: 30 additions & 0 deletions build/titan/boot.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
boot = {
initrd.availableKernelModules = [
"ahci"
"xhci_pci"
"nvme"
"usbhid"
];
kernelModules = [ "kvm-amd" ];
supportedFilesystems.zfs = true;
loader = {
efi.canTouchEfiVariables = false;
grub = {
enable = true;
efiSupport = true;
efiInstallAsRemovable = true;
mirroredBoots = [
{
devices = [ "nodev" ];
path = "/efi/a";
}
{
devices = [ "nodev" ];
path = "/efi/b";
}
];
};
};
};
}
21 changes: 21 additions & 0 deletions build/titan/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
imports = [
../common.nix
./boot.nix
./network.nix
./postgresql.nix
./zrepl.nix
];

disko.devices = import ./disko.nix;

networking = {
hostId = "e1ce6466";
hostName = "titan";
domain = "nixos.org";
};

services.zfs.autoScrub.enable = true;

system.stateVersion = "25.11";
}
78 changes: 78 additions & 0 deletions build/titan/disko.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
let
layout = id: {
type = "gpt";
partitions = {
esp = {
type = "EF00";
size = "1G";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/efi/${id}";
};
};
zfs = {
size = "100%";
content = {
type = "zfs";
pool = "zroot";
};
};
};
};
in
{
disk = {
nvme0n1 = {
type = "disk";
device = "/dev/disk/by-id/nvme-MTFDKCC1T9TGP-1BK1DABYY_0925109FB623";
content = layout "a";
};
nvme1n1 = {
type = "disk";
device = "/dev/disk/by-id/nvme-MTFDKCC1T9TGP-1BK1DABYY_0925109FB922";
content = layout "b";
};
};

zpool.zroot = {
type = "zpool";
mode = "mirror";
options.ashift = "12";

rootFsOptions = {
acltype = "posixacl";
atime = "off";
compression = "zstd-3";
mountpoint = "none";
xattr = "sa";
};

datasets = {
"root" = {
type = "zfs_fs";
mountpoint = "/";
};
"nix" = {
type = "zfs_fs";
mountpoint = "/nix";
};
"pg" = {
type = "zfs_fs";
mountpoint = "/var/lib/postgresql";
options = {
logbias = "latency";
recordsize = "16K";
redundant_metadata = "most";
};
};
"reserved" = {
type = "zfs_fs";
options = {
canmount = "off";
refreservation = "16G"; # roughly one system closure
};
};
};
};
}
49 changes: 49 additions & 0 deletions build/titan/network.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
systemd.network = {
enable = true;
netdevs = {
"20-vlan4000" = {
netdevConfig = {
Kind = "vlan";
Name = "vlan4000";
};
vlanConfig.Id = 4000;
};
};
networks = {
"30-enp35s0" = {
matchConfig = {
MACAddress = "9c:6b:00:1f:aa:fd";
Type = "ether";
};
address = [
"159.69.62.224/26"
"2a01:4f8:231:e53::1/64"
];
routes = [
{ Gateway = "159.69.62.193"; }
{ Gateway = "fe80::1"; }
];
vlan = [
"vlan4000"
];
networkConfig.Description = "WAN";
linkConfig.RequiredForOnline = true;
};
"30-vlan4000" = {
matchConfig.Name = "vlan4000";
networkConfig = {
DHCP = false;
IPv6AcceptRA = false;
};
linkConfig = {
MTUBytes = "1400";
RequiredForOnline = "routable";
};
address = [
"10.0.40.3/31"
];
};
};
};
}
Loading