nixos/whale2: Move actions cache to a separate disk

This commit is contained in:
Jack O'Sullivan 2023-11-16 19:39:53 +00:00
parent 5ddcf927e3
commit 3ae6725f0e
2 changed files with 25 additions and 69 deletions

View File

@ -7,14 +7,13 @@
nixos.systems.colony.configuration = { lib, pkgs, config, systems, ... }:
let
inherit (builtins) listToAttrs;
inherit (lib) mkIf mkMerge optionals;
vmLVM = vm: lv: {
name = lv;
lvmDisk' = name: lv: {
inherit name;
backend = {
driver = "host_device";
filename = "/dev/main/vm-${vm}-${lv}";
filename = "/dev/main/${lv}";
# It appears this needs to be set on the backend _and_ the format
discard = "unmap";
};
@ -24,6 +23,8 @@
};
frontend = "virtio-blk";
};
lvmDisk = lv: lvmDisk' lv lv;
vmLVM = vm: lv: lvmDisk' lv "vm-${vm}-${lv}";
installerDisk = {
name = "installer";
@ -141,45 +142,10 @@
(mkMerge [ (vmLVM "shill" "esp") { frontendOpts.bootindex = 0; } ])
(vmLVM "shill" "nix")
(vmLVM "shill" "persist")
{
name = "media";
backend = {
driver = "host_device";
filename = "/dev/main/media";
discard = "unmap";
};
format = {
driver = "raw";
discard = "unmap";
};
frontend = "virtio-blk";
}
{
name = "minio";
backend = {
driver = "host_device";
filename = "/dev/main/minio";
discard = "unmap";
};
format = {
driver = "raw";
discard = "unmap";
};
frontend = "virtio-blk";
}
{
name = "git";
backend = {
driver = "host_device";
filename = "/dev/main/git";
discard = "unmap";
};
format = {
driver = "raw";
discard = "unmap";
};
frontend = "virtio-blk";
}
(lvmDisk "media")
(lvmDisk "minio")
(lvmDisk "git")
]);
};
@ -197,19 +163,9 @@
(mkMerge [ (vmLVM "whale2" "esp") { frontendOpts.bootindex = 0; } ])
(vmLVM "whale2" "nix")
(vmLVM "whale2" "persist")
{
name = "oci";
backend = {
driver = "host_device";
filename = "/dev/main/oci";
discard = "unmap";
};
format = {
driver = "raw";
discard = "unmap";
};
frontend = "virtio-blk";
}
(lvmDisk "oci")
(lvmDisk "gitea-actions-cache")
]);
};
@ -247,19 +203,7 @@
cleanShutdown.timeout = 120;
drives = [
(mkMerge [ (vmLVM "darts" "root") { frontendOpts.bootindex = 0; } ])
{
name = "media";
backend = {
driver = "host_device";
filename = "/dev/main/darts-media";
discard = "unmap";
};
format = {
driver = "raw";
discard = "unmap";
};
frontend = "virtio-blk";
}
(lvmDisk' "media" "darts-media")
];
};
};

View File

@ -8,10 +8,21 @@ let
container = {
network = "colony";
};
cache = {
enabled = true;
dir = "/var/cache/gitea-runner";
};
});
in
{
config = {
fileSystems = {
"/var/cache/gitea-runner" = {
device = "/dev/disk/by-label/actions-cache";
fsType = "ext4";
};
};
services = {
gitea-actions-runner.instances = {
main = {
@ -42,6 +53,7 @@ in
services = {
gitea-runner-main.serviceConfig = {
# Needs to be able to read its secrets
CacheDirectory = "gitea-runner";
DynamicUser = mkForce false;
User = "gitea-runner";
Group = "gitea-runner";