nixfiles/hosts/koi/services/actions-runner/default.nix

58 lines
1.7 KiB
Nix
Raw Normal View History

2024-12-11 08:59:22 +03:00
{ config, pkgs, ... }:
{
imports = [ ./buildkitd.nix ];
2025-01-03 21:49:41 +03:00
desu.secrets.forgejo-runners-token-sf = {};
2024-12-11 08:59:22 +03:00
systemd.services.actions-runner-build-buildkit = {
description = "buildkit image builder for actions runner";
2024-12-11 08:59:22 +03:00
after = [ "docker.service" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.docker}/bin/docker build -t local/actions-runner-buildkit ${pkgs.copyPathToStore ./image-buildkit}";
2024-12-11 08:59:22 +03:00
};
};
systemd.services.gitea-runner-koi-buildkit.requires = [
"actions-runner-build-buildkit.service"
"docker-act-runner-buildkitd.service"
];
2024-12-11 08:59:22 +03:00
services.gitea-actions-runner = {
package = pkgs.forgejo-runner;
instances.koi = {
name = "koi";
enable = true;
url = "https://git.stupid.fish";
tokenFile = config.desu.secrets.forgejo-runners-token-sf.path;
2024-12-11 08:59:22 +03:00
labels = [
2025-01-14 05:28:54 +03:00
"node18:docker://node:18-bookworm"
"node20:docker://node:20-bookworm"
"node22:docker://node:22-bookworm"
# fun fact: the actual image doesnt matter! it's only used to determine the runner
2025-01-14 05:28:54 +03:00
"docker:docker://node:22-bookworm"
2024-12-11 08:59:22 +03:00
];
settings = {
runner.capacity = 8;
};
};
instances.koi-buildkit = {
name = "koi-buildkit";
2025-01-03 21:49:41 +03:00
enable = true;
url = "https://git.stupid.fish";
tokenFile = config.desu.secrets.forgejo-runners-token-sf.path;
labels = [
"buildkit:docker://local/actions-runner-buildkit"
2025-01-03 21:49:41 +03:00
];
settings = {
runner.capacity = 4;
container = {
valid_volumes = [ "/var/run/act-runner-buildkit" ];
options = "--user=1000:1000 --mount=type=bind,source=/var/run/act-runner-buildkit,target=/var/run/buildkit";
};
2025-01-03 21:49:41 +03:00
};
};
2024-12-11 08:59:22 +03:00
};
}