major: grand unified clusterfck (ekman not tested yet)

This commit is contained in:
Jonas Juselius
2025-09-12 13:12:36 +02:00
97 changed files with 3704 additions and 8 deletions

View File

@@ -35,7 +35,11 @@ let
mkCompute = host:
let
<<<<<<<< HEAD:rossby/c0/default.nix
hw = ./hardware-config.d + "/${host.name}.nix";
========
hw = ./hardware-configuration.d + "/${host.name}.nix";
>>>>>>>> ekman:ekman/c0/default.nix
in {
"${host.name}" = {
cluster = {

View File

@@ -99,7 +99,11 @@ let
networking = {
domain = mkDefault "cluster.local";
<<<<<<<< HEAD:rossby/default.nix
defaultGateway = mkDefault "172.16.239.1";
========
defaultGateway = mkDefault "10.255.241.1";
>>>>>>>> ekman:ekman/default.nix
nameservers = mkDefault [ "8.8.8.8" ];
search = mkDefault [];
extraHosts = import ./hosts.nix;
@@ -144,12 +148,22 @@ let
mungeKey = ./munge.key;
mungeUid = mkDefault 994; # hack
# pkey = "0x7666";
<<<<<<<< HEAD:rossby/default.nix
controlMachine = "rossby-manage";
mailDomain = "oceanbox.io";
nodeName = [
"c0-[1-16] Sockets=2 CoresPerSocket=64 ThreadsPerCore=1 RealMemory=256000 TmpDisk=500000 State=UNKNOWN"
"rossby-login Sockets=2 CoresPerSocket=64 ThreadsPerCore=1 RealMemory=256000 TmpDisk=500000 State=UNKNOWN"
"rossby-manage Sockets=2 CoresPerSocket=64 ThreadsPerCore=1 RealMemory=256000 TmpDisk=500000 State=UNKNOWN"
========
controlMachine = "ekman-manage";
mailDomain = "oceanbox.io";
nodeName = [
"c0-[1-18] Sockets=2 CoresPerSocket=64 ThreadsPerCore=1 RealMemory=256000 TmpDisk=500000 State=UNKNOWN"
"c1-[1-8] Sockets=1 CoresPerSocket=64 ThreadsPerCore=1 RealMemory=256000 TmpDisk=100000 State=UNKNOWN"
"ekman Sockets=2 CoresPerSocket=64 ThreadsPerCore=2 RealMemory=256000 TmpDisk=500000 State=UNKNOWN"
"ekman-manage Sockets=2 CoresPerSocket=16 ThreadsPerCore=2 RealMemory=92000 TmpDisk=200000 State=UNKNOWN"
>>>>>>>> ekman:ekman/default.nix
];
partitionName = [
"batch Nodes=c0-[1-16] Default=YES MaxTime=INFINITE State=UP"
@@ -197,8 +211,13 @@ let
initca = ./ca;
cidr = "10.10.0.0/16";
master = {
<<<<<<<< HEAD:rossby/default.nix
name = "rossby-manage";
address = "172.16.239.221";
========
name = "ekman-manage";
address = "10.255.241.99";
>>>>>>>> ekman:ekman/default.nix
# extraSANs = [
# "rossby-manage.oceanbox.io"
# ];
@@ -237,17 +256,41 @@ let
};
programs.ssh.knownHosts = {
<<<<<<<< HEAD:rossby/default.nix
rossby-manage = {
hostNames = [
"manage" "manage.compute.local" "rossby-manage.oceanbox.io" "172.16.239.221" "172.16.240.221"
========
ekman-manage = {
hostNames = [
"ekman-manage" "ekman-manage.cluster.local" "frontend.oceanbox.io" "10.255.241.99" "10.255.243.99"
>>>>>>>> ekman:ekman/default.nix
];
publicKeyFile = ./manage/ssh_host_key.pub;
};
rossby-login = {
hostNames = [
<<<<<<<< HEAD:rossby/default.nix
"rossby" "rpssby-login" "rossby-login.compute.local" "rossby.compute.local" "rossby.oceanbox.io" "172.16.239.222" "172.16.240.222"
];
publicKeyFile = ./login/ssh_host_key.pub;
========
"ekman" "ekman.cluster.local" "ekman.oceanbox.io" "10.255.241.100" "10.255.243.100"
];
publicKeyFile = ./logon/ssh_host_key.pub;
};
fs-work = {
hostNames = [
"fs-work" "fs-work.cluster.local" "10.255.241.90" "10.255.243.90"
];
publicKeyFile = ./fs-work/ssh_host_key.pub;
};
fs-backup = {
hostNames = [
"fs-backup" "fs-backup.cluster.local" "10.255.241.80" "10.255.243.80"
];
publicKeyFile = ./fs-backup/ssh_host_key.pub;
>>>>>>>> ekman:ekman/default.nix
};
# fs-work = {
# hostNames = [
@@ -261,9 +304,15 @@ let
"${x.name}" = {
hostNames = [
"${x.name}"
<<<<<<<< HEAD:rossby/default.nix
"${x.name}.compute.local"
"172.16.239.${n}"
"172.16.240.${n}"
========
"${x.name}.cluster.local"
"10.255.241.${n}"
"10.255.243.${n}"
>>>>>>>> ekman:ekman/default.nix
];
publicKeyFile = x.pubkey;
};

22
rossby/hive.nix Normal file
View File

@@ -0,0 +1,22 @@
let
# Pin the deployment package-set to a specific version of nixpkgs
# pkgs = import (builtins.fetchTarball {
# url = "https://github.com/NixOS/nixpkgs/archive/e6377ff35544226392b49fa2cf05590f9f0c4b43.tar.gz";
# sha256 = "1fra9wwy5gvj5ibayqkzqpwdf715bggc0qbmrfch4fghwvl5m70l";
# }) {};
pkgs = import <nixpkgs> {};
rossby-manage = {
deployment = {
tags = [ "manage" "login" ];
allowLocalDeployment = true;
targetHost = null;
};
imports = [ ./manage ];
};
rossby-login = import ./login { inherit pkgs; };
c0 = import ./c0 { inherit pkgs; };
fs-work = import ./fs-work { inherit pkgs; };
in
{ inherit rossby-manage; } // rossby-login // c0 // fs-work

View File

@@ -113,10 +113,17 @@ in
networking = {
useDHCP = false;
hostName = name;
<<<<<<<< HEAD:rossby/login/default.nix
interfaces.enp129s0f0 = {
useDHCP = false;
ipv4.addresses = [ {
inherit address;
========
interfaces.enp33s0f3np3 = {
useDHCP = false;
ipv4.addresses = [ {
address = address;
>>>>>>>> ekman:ekman/login/default.nix
prefixLength = 24;
} ];
# ipv4.routes = [

View File

@@ -9,8 +9,13 @@ let
users =
if cfg.users then {
<<<<<<<< HEAD:rossby/mounts.nix
"/users" = {
device = "172.16.239.222:/home";
========
"/frontend" = {
device = "10.255.241.100:/home";
>>>>>>>> ekman:ekman/mounts.nix
fsType = "nfs4";
options = [
"soft"
@@ -72,7 +77,11 @@ let
};
} else {};
<<<<<<<< HEAD:rossby/mounts.nix
fileSystems = users // opt // data // work // ceph;
========
fileSystems = users // opt // data // work // backup // ceph;
>>>>>>>> ekman:ekman/mounts.nix
automount = mountpoint:
if cfg.automount.enable && builtins.hasAttr mountpoint fileSystems then