Enable cross-compiling, add k3s9 and k3s10

This commit is contained in:
asonix 2023-04-21 14:36:45 -05:00
parent b220a0b7d1
commit 885fa36058

View file

@ -73,13 +73,13 @@
] ++ modules;
};
makeRock64K3sConfig = makeBoardK3sConfig sd-images.packages.aarch64-linux.Rock64.modules;
makeRock64K3sConfig = system: makeBoardK3sConfig sd-images.packages.${system}.Rock64.modules;
makeRockPro64K3sConfig = makeBoardK3sConfig sd-images.packages.aarch64-linux.RockPro64v2.modules;
makeRockPro64K3sConfig = system: makeBoardK3sConfig sd-images.packages.${system}.RockPro64v2.modules;
makeQuartz64AK3sConfig = makeBoardK3sConfig sd-images.packages.aarch64-linux.Quartz64A.modules;
makeQuartz64AK3sConfig = system: makeBoardK3sConfig sd-images.packages.${system}.Quartz64A.modules;
makeOldSoQuartzK3sConfig = { hostname, enableK3s ? true, unlockMounts ? true, mountVolumes ? true, selfIp, serverIp ? null }:
makeOldSoQuartzK3sConfig = system: { hostname, enableK3s ? true, unlockMounts ? true, mountVolumes ? true, selfIp, serverIp ? null }:
let
device = "/dev/mapper/cryptdrive1";
device2 = "/dev/mapper/cryptdrive2";
@ -96,7 +96,7 @@
enableK3s = unlockMounts && mountVolumes && enableK3s;
extraModules = sd-images.packages.aarch64-linux.SoQuartzBlade.modules ++ [
extraModules = sd-images.packages.${system}.SoQuartzBlade.modules ++ [
(networkModule {
inherit selfIp;
})
@ -269,7 +269,7 @@
];
};
makeSoQuartzK3sConfig = { hostname, enableK3s ? true, unlockMounts ? true, mountVolumes ? true, selfIp, serverIp ? null }:
makeSoQuartzK3sConfig = system: { hostname, enableK3s ? true, unlockMounts ? true, mountVolumes ? true, selfIp, serverIp ? null }:
let
device = "/dev/mapper/cryptdrive1";
subvolumes = [
@ -285,7 +285,7 @@
enableK3s = unlockMounts && mountVolumes && enableK3s;
extraModules = sd-images.packages.aarch64-linux.SoQuartzBlade.modules ++ [
extraModules = sd-images.packages.${system}.SoQuartzBlade.modules ++ [
(networkModule {
inherit selfIp;
})
@ -420,7 +420,7 @@
];
};
makeBuildConfig = { hostname, macAddress ? null, selfIp }:
makeBuildConfig = system: { hostname, macAddress ? null, selfIp }:
let
device = "/btrfs.4G";
mountDir = "/btrfs/loop";
@ -431,7 +431,7 @@
makeConfig {
inherit hostname;
extraModules = sd-images.packages.aarch64-linux.RockPro64v2.modules ++ [
extraModules = sd-images.packages.${system}.RockPro64v2.modules ++ [
dockerModule
(networkModule { inherit macAddress selfIp; })
(btrbkModule {
@ -454,11 +454,11 @@
];
};
makeGarageConfig = { hostname, selfIp, unlockMounts ? true, mountVolumes ? true }:
makeGarageConfig = system: { hostname, selfIp, unlockMounts ? true, mountVolumes ? true }:
makeConfig {
inherit hostname;
extraModules = sd-images.packages.aarch64-linux.RockPro64v2.modules ++ [
extraModules = sd-images.packages.${system}.RockPro64v2.modules ++ [
dockerModule
(networkModule { inherit selfIp; })
(btrbkModule {
@ -578,7 +578,7 @@
];
};
makePostgresConfig = { hostname, selfIp, macAddress, keyFile, primaryIp ? null }:
makePostgresConfig = system: { hostname, selfIp, macAddress, keyFile, primaryIp ? null }:
let
device = "/dev/mapper/cryptdrive1";
mountDir = "/btrfs/ssd";
@ -590,7 +590,7 @@
makeConfig {
inherit hostname;
extraModules = sd-images.packages.aarch64-linux.Rock64.modules ++ [
extraModules = sd-images.packages.${system}.Rock64.modules ++ [
dockerModule
(networkModule { inherit macAddress selfIp; })
(btrbkModule {
@ -629,20 +629,22 @@
})
];
};
system = "x86_64-linux";
in
{
nixosConfigurations = {
garage1 = makeGarageConfig {
garage1 = makeGarageConfig system {
hostname = "garage1";
selfIp = "192.168.20.40";
};
garage2 = makeGarageConfig {
garage2 = makeGarageConfig system {
hostname = "garage2";
selfIp = "192.168.20.41";
};
redtail1 = makePostgresConfig {
redtail1 = makePostgresConfig system {
hostname = "redtail1";
selfIp = "192.168.20.23";
macAddress = "02:fe:30:d8:cf:64";
@ -650,7 +652,7 @@
primaryIp = "192.168.20.24";
};
redtail2 = makePostgresConfig {
redtail2 = makePostgresConfig system {
hostname = "redtail2";
selfIp = "192.168.20.24";
macAddress = "02:8a:70:2a:a8:5e";
@ -658,7 +660,7 @@
# primaryIp = "192.168.20.23";
};
whitestorm1 = makePostgresConfig {
whitestorm1 = makePostgresConfig system {
hostname = "whitestorm1";
selfIp = "192.168.20.26";
macAddress = "02:71:18:30:fc:0f";
@ -666,7 +668,7 @@
# primaryIp = "192.168.20.27";
};
whitestorm2 = makePostgresConfig {
whitestorm2 = makePostgresConfig system {
hostname = "whitestorm2";
selfIp = "192.168.20.27";
macAddress = "02:ff:ce:a9:d3:74";
@ -674,114 +676,127 @@
primaryIp = "192.168.20.11";
};
build2 = makeBuildConfig {
build2 = makeBuildConfig system {
hostname = "build2";
selfIp = "192.168.20.101";
};
k3s1 = makeOldSoQuartzK3sConfig {
k3s1 = makeOldSoQuartzK3sConfig system {
hostname = "k3s1";
selfIp = "192.168.20.120";
};
k3s2 = makeOldSoQuartzK3sConfig {
k3s2 = makeOldSoQuartzK3sConfig system {
hostname = "k3s2";
selfIp = "192.168.20.121";
serverIp = "192.168.20.120";
};
k3s3 = makeOldSoQuartzK3sConfig {
k3s3 = makeOldSoQuartzK3sConfig system {
hostname = "k3s3";
selfIp = "192.168.20.122";
serverIp = "192.168.20.120";
};
k3s4 = makeOldSoQuartzK3sConfig {
k3s4 = makeOldSoQuartzK3sConfig system {
hostname = "k3s4";
selfIp = "192.168.20.123";
serverIp = "192.168.20.120";
};
k3s5 = makeOldSoQuartzK3sConfig {
k3s5 = makeOldSoQuartzK3sConfig system {
hostname = "k3s5";
selfIp = "192.168.20.124";
serverIp = "192.168.20.120";
};
k3s6 = makeOldSoQuartzK3sConfig {
k3s6 = makeOldSoQuartzK3sConfig system {
hostname = "k3s6";
selfIp = "192.168.20.125";
serverIp = "192.168.20.120";
};
k3s7 = makeSoQuartzK3sConfig {
k3s7 = makeSoQuartzK3sConfig system {
hostname = "k3s7";
selfIp = "192.168.20.126";
serverIp = "192.168.20.120";
};
k3s8 = makeSoQuartzK3sConfig {
k3s8 = makeSoQuartzK3sConfig system {
hostname = "k3s8";
selfIp = "192.168.20.127";
serverIp = "192.168.20.120";
};
k3s-rock1 = makeRock64K3sConfig {
k3s9 = makeSoQuartzK3sConfig system {
hostname = "k3s9";
selfIp = "192.168.20.128";
serverIp = "192.168.20.120";
};
k3s10 = makeSoQuartzK3sConfig system {
hostname = "k3s10";
selfIp = "192.168.20.129";
serverIp = "192.168.20.120";
enableK3s = false;
};
k3s-rock1 = makeRock64K3sConfig system {
hostname = "k3s-rock1";
selfIp = "192.168.20.20";
serverIp = "192.168.20.120";
macAddress = "02:36:51:19:8c:5d";
};
k3s-rock2 = makeRock64K3sConfig {
k3s-rock2 = makeRock64K3sConfig system {
hostname = "k3s-rock2";
selfIp = "192.168.20.111";
serverIp = "192.168.20.120";
macAddress = "02:af:fa:0e:c5:41";
};
k3s-rock3 = makeRock64K3sConfig {
k3s-rock3 = makeRock64K3sConfig system {
hostname = "k3s-rock3";
selfIp = "192.168.20.112";
serverIp = "192.168.20.120";
macAddress = "02:86:c1:62:77:51";
};
k3s-rock4 = makeRock64K3sConfig {
k3s-rock4 = makeRock64K3sConfig system {
hostname = "k3s-rock4";
selfIp = "192.168.20.113";
serverIp = "192.168.20.120";
macAddress = "02:7a:2e:2c:bb:99";
};
k3s-rock5 = makeRock64K3sConfig {
k3s-rock5 = makeRock64K3sConfig system {
hostname = "k3s-rock5";
selfIp = "192.168.20.114";
serverIp = "192.168.20.120";
macAddress = "02:76:67:0f:a0:b7";
};
k3s-rock6 = makeRock64K3sConfig {
k3s-rock6 = makeRock64K3sConfig system {
hostname = "k3s-rock6";
selfIp = "192.168.20.115";
serverIp = "192.168.20.120";
macAddress = "02:6b:c5:f0:d7:6d";
};
k3s-rock7 = makeRock64K3sConfig {
k3s-rock7 = makeRock64K3sConfig system {
hostname = "k3s-rock7";
selfIp = "192.168.20.116";
serverIp = "192.168.20.120";
macAddress = "02:5b:c4:cf:25:c2";
};
k3s-quartza1 = makeQuartz64AK3sConfig {
k3s-quartza1 = makeQuartz64AK3sConfig system {
hostname = "k3s-quartza1";
selfIp = "192.168.20.160";
serverIp = "192.168.20.120";
};
k3s-rockpro1 = makeRockPro64K3sConfig {
k3s-rockpro1 = makeRockPro64K3sConfig system {
hostname = "k3s-rockpro1";
selfIp = "192.168.20.180";
serverIp = "192.168.20.120";
@ -804,6 +819,8 @@
{ name = "k3s6"; ip = "192.168.20.125"; }
{ name = "k3s7"; ip = "192.168.20.126"; }
{ name = "k3s8"; ip = "192.168.20.127"; }
{ name = "k3s9"; ip = "192.168.20.128"; }
{ name = "k3s10"; ip = "192.168.20.129"; }
{ name = "k3s-rock1"; ip = "192.168.20.20"; }
{ name = "k3s-rock2"; ip = "192.168.20.111"; }
{ name = "k3s-rock3"; ip = "192.168.20.112"; }