test: forgejo microVM

This commit is contained in:
Nick 2025-11-09 02:42:22 -06:00
parent aedf6e4be4
commit 6d83b2b2f5
11 changed files with 270 additions and 294 deletions

View file

@ -6,9 +6,31 @@
}:
let
inherit (flake.config.people) user0;
inherit (flake.config.machines.devices) eris;
erisSecrets = config.sops.secrets."network/server".path;
rootDevice = "/dev/disk/by-label/root";
bootDevice = "/dev/disk/by-label/BOOT";
sambaDrives = [
"samba0"
];
sambaFolders = [
"raid0"
];
sambaMounts = sambaDrive: folder: {
name = "${eris.${sambaDrive}.mount}/${folder}";
value = {
device = "${eris.${sambaDrive}.device}/${folder}";
fsType = "cifs";
options = eris.${sambaDrive}.options ++ [
"credentials=${erisSecrets}"
];
};
};
in
{
fileSystems = {
@ -54,7 +76,11 @@ in
"/etc/ssh" = {
neededForBoot = true;
};
};
}
// (builtins.listToAttrs (
builtins.concatMap (drive: map (folder: sambaMounts drive folder) sambaFolders) sambaDrives
));
boot.initrd.postResumeCommands = lib.mkAfter ''
mkdir /btrfs_tmp
mount -o subvolid=5 ${rootDevice} /btrfs_tmp

11
systems/ceres/config/sops.nix Executable file
View file

@ -0,0 +1,11 @@
{
sops = {
secrets = {
"network/server" = {
path = "/var/lib/secrets/server";
owner = "root";
mode = "600";
};
};
};
}

View file

@ -5,7 +5,6 @@
}:
let
inherit (flake.config.machines.devices) ceres;
inherit (flake.config.services) instances;
ceresSecrets = config.sops.secrets."network/server".path;
sambaDrives = [
@ -13,7 +12,7 @@ let
];
sambaFolders = [
instances.jellyfin.name
"storage"
];
sambaMounts = sambaDrive: folder: {

View file

@ -5,9 +5,8 @@
}:
let
inherit (flake.config.people) user0;
inherit (flake.config.machines.devices) mars ceres;
inherit (flake.config.services) instances;
ceresSecrets = config.sops.secrets."network/server".path;
inherit (flake.config.machines.devices) mars eris;
erisSecrets = config.sops.secrets."network/server".path;
in
{
fileSystems =
@ -23,10 +22,7 @@ in
];
sambaFolders = [
instances.audiobookshelf.name
instances.jellyfin.name
instances.comfyui.name
# instances.opencloud.name
"raid0"
];
storageMounts = storageDrive: {
@ -39,12 +35,12 @@ in
};
sambaMounts = sambaDrive: folder: {
name = "${ceres.${sambaDrive}.mount}/${folder}";
name = "${eris.${sambaDrive}.mount}/${folder}";
value = {
device = "${ceres.${sambaDrive}.device}/${folder}";
device = "${eris.${sambaDrive}.device}/${folder}";
fsType = "cifs";
options = ceres.${sambaDrive}.options ++ [
"credentials=${ceresSecrets}"
options = eris.${sambaDrive}.options ++ [
"credentials=${erisSecrets}"
];
};
};
@ -59,11 +55,11 @@ in
fsType = "vfat";
options = mars.boot.options;
};
};
# // (builtins.listToAttrs (map storageMounts storageDrives))
# // (builtins.listToAttrs (
# builtins.concatMap (drive: map (folder: sambaMounts drive folder) sambaFolders) sambaDrives
# ));
}
// (builtins.listToAttrs (map storageMounts storageDrives))
// (builtins.listToAttrs (
builtins.concatMap (drive: map (folder: sambaMounts drive folder) sambaFolders) sambaDrives
));
swapDevices = [
{ device = "/dev/disk/by-uuid/6b56990c-545d-4d00-b93b-8ca1f143882e"; }