nixos/whale2: Move actions cache to a separate disk
This commit is contained in:
parent
5ddcf927e3
commit
3ae6725f0e
@ -7,14 +7,13 @@
|
|||||||
|
|
||||||
nixos.systems.colony.configuration = { lib, pkgs, config, systems, ... }:
|
nixos.systems.colony.configuration = { lib, pkgs, config, systems, ... }:
|
||||||
let
|
let
|
||||||
inherit (builtins) listToAttrs;
|
|
||||||
inherit (lib) mkIf mkMerge optionals;
|
inherit (lib) mkIf mkMerge optionals;
|
||||||
|
|
||||||
vmLVM = vm: lv: {
|
lvmDisk' = name: lv: {
|
||||||
name = lv;
|
inherit name;
|
||||||
backend = {
|
backend = {
|
||||||
driver = "host_device";
|
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
|
# It appears this needs to be set on the backend _and_ the format
|
||||||
discard = "unmap";
|
discard = "unmap";
|
||||||
};
|
};
|
||||||
@ -24,6 +23,8 @@
|
|||||||
};
|
};
|
||||||
frontend = "virtio-blk";
|
frontend = "virtio-blk";
|
||||||
};
|
};
|
||||||
|
lvmDisk = lv: lvmDisk' lv lv;
|
||||||
|
vmLVM = vm: lv: lvmDisk' lv "vm-${vm}-${lv}";
|
||||||
|
|
||||||
installerDisk = {
|
installerDisk = {
|
||||||
name = "installer";
|
name = "installer";
|
||||||
@ -141,45 +142,10 @@
|
|||||||
(mkMerge [ (vmLVM "shill" "esp") { frontendOpts.bootindex = 0; } ])
|
(mkMerge [ (vmLVM "shill" "esp") { frontendOpts.bootindex = 0; } ])
|
||||||
(vmLVM "shill" "nix")
|
(vmLVM "shill" "nix")
|
||||||
(vmLVM "shill" "persist")
|
(vmLVM "shill" "persist")
|
||||||
{
|
|
||||||
name = "media";
|
(lvmDisk "media")
|
||||||
backend = {
|
(lvmDisk "minio")
|
||||||
driver = "host_device";
|
(lvmDisk "git")
|
||||||
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";
|
|
||||||
}
|
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -197,19 +163,9 @@
|
|||||||
(mkMerge [ (vmLVM "whale2" "esp") { frontendOpts.bootindex = 0; } ])
|
(mkMerge [ (vmLVM "whale2" "esp") { frontendOpts.bootindex = 0; } ])
|
||||||
(vmLVM "whale2" "nix")
|
(vmLVM "whale2" "nix")
|
||||||
(vmLVM "whale2" "persist")
|
(vmLVM "whale2" "persist")
|
||||||
{
|
|
||||||
name = "oci";
|
(lvmDisk "oci")
|
||||||
backend = {
|
(lvmDisk "gitea-actions-cache")
|
||||||
driver = "host_device";
|
|
||||||
filename = "/dev/main/oci";
|
|
||||||
discard = "unmap";
|
|
||||||
};
|
|
||||||
format = {
|
|
||||||
driver = "raw";
|
|
||||||
discard = "unmap";
|
|
||||||
};
|
|
||||||
frontend = "virtio-blk";
|
|
||||||
}
|
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -247,19 +203,7 @@
|
|||||||
cleanShutdown.timeout = 120;
|
cleanShutdown.timeout = 120;
|
||||||
drives = [
|
drives = [
|
||||||
(mkMerge [ (vmLVM "darts" "root") { frontendOpts.bootindex = 0; } ])
|
(mkMerge [ (vmLVM "darts" "root") { frontendOpts.bootindex = 0; } ])
|
||||||
{
|
(lvmDisk' "media" "darts-media")
|
||||||
name = "media";
|
|
||||||
backend = {
|
|
||||||
driver = "host_device";
|
|
||||||
filename = "/dev/main/darts-media";
|
|
||||||
discard = "unmap";
|
|
||||||
};
|
|
||||||
format = {
|
|
||||||
driver = "raw";
|
|
||||||
discard = "unmap";
|
|
||||||
};
|
|
||||||
frontend = "virtio-blk";
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -8,10 +8,21 @@ let
|
|||||||
container = {
|
container = {
|
||||||
network = "colony";
|
network = "colony";
|
||||||
};
|
};
|
||||||
|
cache = {
|
||||||
|
enabled = true;
|
||||||
|
dir = "/var/cache/gitea-runner";
|
||||||
|
};
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
|
fileSystems = {
|
||||||
|
"/var/cache/gitea-runner" = {
|
||||||
|
device = "/dev/disk/by-label/actions-cache";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
gitea-actions-runner.instances = {
|
gitea-actions-runner.instances = {
|
||||||
main = {
|
main = {
|
||||||
@ -42,6 +53,7 @@ in
|
|||||||
services = {
|
services = {
|
||||||
gitea-runner-main.serviceConfig = {
|
gitea-runner-main.serviceConfig = {
|
||||||
# Needs to be able to read its secrets
|
# Needs to be able to read its secrets
|
||||||
|
CacheDirectory = "gitea-runner";
|
||||||
DynamicUser = mkForce false;
|
DynamicUser = mkForce false;
|
||||||
User = "gitea-runner";
|
User = "gitea-runner";
|
||||||
Group = "gitea-runner";
|
Group = "gitea-runner";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user