infrastructure/machines/storage01/forgejo-runners.nix
2024-08-14 18:56:11 +02:00

91 lines
1.6 KiB
Nix

{
config,
pkgs,
nixpkgs,
sources,
...
}:
let
url = "https://git.dgnum.eu";
mkRunner =
{
labels,
name,
token,
}:
{
enable = true;
inherit
name
labels
token
url
;
settings.container = {
network = "host";
options = "--cpus=4";
};
};
nix-pkgs = import sources.nix-pkgs { inherit pkgs; };
in
{
services.forgejo-nix-runners = {
enable = true;
inherit url;
storePath = "/data/slow/nix";
tokenFile = config.age.secrets."forgejo_runners-token_file".path;
dependencies = [
nix-pkgs.colmena
pkgs.npins
pkgs.tea
nixpkgs.unstable.nixfmt-rfc-style
];
containerOptions = [ "--cpus=4" ];
nbRunners = 6;
};
services.gitea-actions-runner.instances = builtins.mapAttrs (_: mkRunner) {
runner01 = {
token = "qT9nZXKgLcb3fWOj7VTj3S58raiCWwF0weuIIKlY";
name = "storage01 [debian]";
labels = [ "debian-latest:docker://node:20-bookworm" ];
};
runner02 = {
token = "m0rUDBxxkMb6xLTmPFwIieHswJFROqPFByPlT3V9";
name = "storage01 [debian]";
labels = [ "debian-latest:docker://node:20-bookworm" ];
};
};
virtualisation = {
podman = {
enable = true;
defaultNetwork.settings = {
dns_enable = true;
ipv6_enabled = true;
};
};
containers.storage.settings = {
storage = {
driver = "overlay";
graphroot = "/data/slow/containers/storage";
runroot = "/run/containers/storage";
};
};
};
}