2024-02-07 18:47:07 +01:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
sources,
|
|
|
|
...
|
|
|
|
}:
|
2024-01-10 13:59:11 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
url = "https://git.dgnum.eu";
|
|
|
|
|
2024-02-02 10:51:31 +01:00
|
|
|
mkRunner =
|
|
|
|
{
|
|
|
|
labels,
|
|
|
|
name,
|
|
|
|
token,
|
|
|
|
}:
|
|
|
|
{
|
|
|
|
enable = true;
|
2024-01-10 13:59:11 +01:00
|
|
|
|
2024-02-02 10:51:31 +01:00
|
|
|
inherit
|
|
|
|
name
|
|
|
|
labels
|
|
|
|
token
|
|
|
|
url
|
|
|
|
;
|
2024-01-10 13:59:11 +01:00
|
|
|
|
2024-02-02 10:51:31 +01:00
|
|
|
settings.container = {
|
|
|
|
network = "host";
|
|
|
|
options = "--cpus=4";
|
|
|
|
};
|
2024-01-10 13:59:11 +01:00
|
|
|
};
|
2024-02-02 10:51:31 +01:00
|
|
|
in
|
|
|
|
{
|
2024-01-10 13:59:11 +01:00
|
|
|
services.forgejo-nix-runners = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
inherit url;
|
|
|
|
|
|
|
|
storePath = "/data/slow/nix";
|
|
|
|
tokenFile = config.age.secrets."forgejo_runners-token_file".path;
|
|
|
|
|
2024-02-02 10:51:31 +01:00
|
|
|
dependencies = [
|
|
|
|
pkgs.colmena
|
|
|
|
pkgs.npins
|
|
|
|
pkgs.tea
|
2024-02-07 18:47:07 +01:00
|
|
|
(import sources.nixpkgs { }).nixfmt-rfc-style
|
2024-02-02 10:51:31 +01:00
|
|
|
];
|
2024-01-10 13:59:11 +01:00
|
|
|
|
|
|
|
containerOptions = [ "--cpus=4" ];
|
2024-01-12 11:01:41 +01:00
|
|
|
|
|
|
|
nbRunners = 6;
|
2024-01-10 13:59:11 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
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";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|