chore(nfs): goliath

This commit is contained in:
arcnmx 2024-11-23 13:24:19 -08:00
parent db8981cad0
commit 681e25cd9c
4 changed files with 37 additions and 3 deletions

View file

@ -14,6 +14,7 @@
systems = "${nfsRoot}/kyuuto/systems"; systems = "${nfsRoot}/kyuuto/systems";
gengetsu = "${nfsRoot.systems}/gengetsu"; gengetsu = "${nfsRoot.systems}/gengetsu";
mugetsu = "${nfsRoot.systems}/mugetsu"; mugetsu = "${nfsRoot.systems}/mugetsu";
goliath = "${nfsRoot.systems}/goliath";
}; };
in { in {
services.nfs = { services.nfs = {
@ -82,6 +83,24 @@ in {
}; };
}; };
}; };
"${nfsRoot.goliath}/root" = {
flags = flagSets.common ++ ["fsid=172"] ++ ["async"];
clients = {
goliath = {
machine = flagSets.goliathClients;
flags = flagSets.metal;
};
};
};
"${nfsRoot.goliath}/boot" = {
flags = flagSets.common ++ ["fsid=173"] ++ ["async"];
clients = {
goliath = {
machine = flagSets.goliathClients;
flags = flagSets.metal;
};
};
};
}; };
}; };
}; };
@ -130,5 +149,15 @@ in {
what = "${kyuuto.dataDir}/systems/mugetsu/fs/boot"; what = "${kyuuto.dataDir}/systems/mugetsu/fs/boot";
where = "${nfsRoot.mugetsu}/boot"; where = "${nfsRoot.mugetsu}/boot";
} }
{
inherit type options wantedBy before;
what = "${kyuuto.dataDir}/systems/goliath/fs/root";
where = "${nfsRoot.goliath}/root";
}
{
inherit type options wantedBy before;
what = "${kyuuto.dataDir}/systems/goliath/fs/boot";
where = "${nfsRoot.goliath}/boot";
}
]; ];
} }

View file

@ -66,6 +66,7 @@ in {
if addrs != [] then addrs if addrs != [] then addrs
else lib.warn "${name} NFS: falling back to all LAN" cidrForNetwork.allLan.all; else lib.warn "${name} NFS: falling back to all LAN" cidrForNetwork.allLan.all;
in allowed; in allowed;
mkC4130Client = name: mkMetalClient name ++ mkMetalClient "idrac-${name}";
in { in {
common = [ common = [
"no_subtree_check" "no_subtree_check"
@ -103,8 +104,9 @@ in {
tailClients = optionals config.services.tailscale.enable cidrForNetwork.tail.all; tailClients = optionals config.services.tailscale.enable cidrForNetwork.tail.all;
localClients = cidrForNetwork.allLan.all ++ flagSets.tailClients; localClients = cidrForNetwork.allLan.all ++ flagSets.tailClients;
allClients = flagSets.clientGroups ++ flagSets.trustedClients ++ flagSets.localClients; allClients = flagSets.clientGroups ++ flagSets.trustedClients ++ flagSets.localClients;
gengetsuClients = mkMetalClient "gengetsu"; gengetsuClients = mkC4130Client "gengetsu";
mugetsuClients = mkMetalClient "mugetsu"; mugetsuClients = mkC4130Client "mugetsu";
goliathClients = flagSets.gengetsuClients ++ flagSets.mugetsuClients;
}; };
root = { root = {
path = "/srv/fs"; path = "/srv/fs";

View file

@ -7,6 +7,9 @@
"/mnt/kyuuto-data/systems/gengetsu/fs/boot mnt/kyuuto-data/systems/gengetsu/fs/boot none bind,optional,create=dir", "/mnt/kyuuto-data/systems/gengetsu/fs/boot mnt/kyuuto-data/systems/gengetsu/fs/boot none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/mugetsu/fs/root mnt/kyuuto-data/systems/mugetsu/fs/root none bind,optional,create=dir", "/mnt/kyuuto-data/systems/mugetsu/fs/root mnt/kyuuto-data/systems/mugetsu/fs/root none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/mugetsu/fs/boot mnt/kyuuto-data/systems/mugetsu/fs/boot none bind,optional,create=dir", "/mnt/kyuuto-data/systems/mugetsu/fs/boot mnt/kyuuto-data/systems/mugetsu/fs/boot none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/goliath mnt/kyuuto-data/systems/goliath none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/goliath/fs/root mnt/kyuuto-data/systems/goliath/fs/root none bind,optional,create=dir",
"/mnt/kyuuto-data/systems/goliath/fs/boot mnt/kyuuto-data/systems/goliath/fs/boot none bind,optional,create=dir",
"/dev/net/tun dev/net/tun none bind,optional,create=file" "/dev/net/tun dev/net/tun none bind,optional,create=file"
], ],
"lxc.cgroup2.devices.allow": [ "lxc.cgroup2.devices.allow": [

View file

@ -203,7 +203,7 @@ chmod 0775 /mnt/kyuuto-data/minecraft/simplebackups
mkkyuuto data/systems 0 0 0775 mkkyuuto data/systems 0 0 0775
nfsystemroot=/mnt/kyuuto-data/systems nfsystemroot=/mnt/kyuuto-data/systems
for nfsystem in gengetsu mugetsu; do for nfsystem in gengetsu mugetsu goliath; do
mkkyuuto data/systems/$nfsystem 0 0 0750 mkkyuuto data/systems/$nfsystem 0 0 0750
if [[ ! -d $nfsystemroot/$nfsystem/fs ]]; then if [[ ! -d $nfsystemroot/$nfsystem/fs ]]; then