diff --git a/nixos/boxes/colony/vms/default.nix b/nixos/boxes/colony/vms/default.nix index 6df91c9..ef7bf51 100644 --- a/nixos/boxes/colony/vms/default.nix +++ b/nixos/boxes/colony/vms/default.nix @@ -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") ]; }; }; diff --git a/nixos/boxes/colony/vms/whale2/gitea-actions.nix b/nixos/boxes/colony/vms/whale2/gitea-actions.nix index a331557..0bd9943 100644 --- a/nixos/boxes/colony/vms/whale2/gitea-actions.nix +++ b/nixos/boxes/colony/vms/whale2/gitea-actions.nix @@ -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";