jungle/m/hut/gitlab-runner.nix

57 lines
1.9 KiB
Nix
Raw Permalink Normal View History

2023-03-31 18:27:25 +02:00
{ pkgs, lib, config, ... }:
{
age.secrets.gitlabRunnerShellToken.file = ../../secrets/gitlab-runner-shell-token.age;
age.secrets.gitlabRunnerDockerToken.file = ../../secrets/gitlab-runner-docker-token.age;
2023-04-11 12:47:52 +02:00
2023-03-31 18:27:25 +02:00
services.gitlab-runner = {
enable = true;
settings.concurrent = 5;
services = let
common-shell = {
2023-03-31 18:27:25 +02:00
executor = "shell";
environmentVariables = {
SHELL = "${pkgs.bash}/bin/bash";
};
};
common-docker = {
executor = "docker";
2023-10-04 07:55:26 +02:00
dockerImage = "debian:stable";
registrationFlags = [
"--docker-network-mode host"
];
environmentVariables = {
https_proxy = "http://localhost:23080";
http_proxy = "http://localhost:23080";
};
};
in {
# For pm.bsc.es/gitlab
gitlab-pm-shell = common-shell // {
authenticationTokenConfigFile = config.age.secrets.gitlabRunnerShellToken.path;
};
gitlab-pm-docker = common-docker // {
authenticationTokenConfigFile = config.age.secrets.gitlabRunnerDockerToken.path;
};
2023-03-31 18:27:25 +02:00
};
};
#systemd.services.gitlab-runner.serviceConfig.Shell = "${pkgs.bash}/bin/bash";
systemd.services.gitlab-runner.serviceConfig.DynamicUser = lib.mkForce false;
systemd.services.gitlab-runner.serviceConfig.User = "gitlab-runner";
systemd.services.gitlab-runner.serviceConfig.Group = "gitlab-runner";
2023-04-06 13:56:52 +02:00
systemd.services.gitlab-runner.serviceConfig.ExecStart = lib.mkForce
2023-04-11 12:58:24 +02:00
''${pkgs.gitlab-runner}/bin/gitlab-runner run --config ''${HOME}/.gitlab-runner/config.toml --listen-address "127.0.0.1:9252" --working-directory ''${HOME}'';
2023-04-03 12:51:44 +02:00
2023-03-31 18:27:25 +02:00
users.users.gitlab-runner = {
uid = config.ids.uids.gitlab-runner;
#isNormalUser = true;
home = "/var/lib/gitlab-runner";
description = "Gitlab Runner";
group = "gitlab-runner";
2023-04-03 12:51:44 +02:00
extraGroups = [ "docker" ];
2023-03-31 18:27:25 +02:00
createHome = true;
};
users.groups.gitlab-runner.gid = config.ids.gids.gitlab-runner;
}