nixos/gitlab-runner: allow access to podman socket

Allows access to podman control socket to gitlab-runner.
This commit is contained in:
Tim Schubert
2024-06-25 14:45:04 +02:00
parent 9c513fc6fb
commit fc0fdbe85e
@@ -4,6 +4,7 @@ with lib;
let
cfg = config.services.gitlab-runner;
hasDocker = config.virtualisation.docker.enable;
hasPodman = config.virtualisation.podman.enable && config.virtualisation.podman.dockerSocket.enable;
/* The whole logic of this module is to diff the hashes of the desired vs existing runners
The hash is recorded in the runner's name because we can't do better yet
@@ -539,8 +540,11 @@ in {
description = "Gitlab Runner";
documentation = [ "https://docs.gitlab.com/runner/" ];
after = [ "network.target" ]
++ optional hasDocker "docker.service";
requires = optional hasDocker "docker.service";
++ optional hasDocker "docker.service"
++ optional hasPodman "podman.service";
requires = optional hasDocker "docker.service"
++ optional hasPodman "podman.service";
wantedBy = [ "multi-user.target" ];
environment = config.networking.proxy.envVars // {
HOME = "/var/lib/gitlab-runner";
@@ -562,7 +566,8 @@ in {
# Make sure to restart service or changes won't apply.
DynamicUser = true;
StateDirectory = "gitlab-runner";
SupplementaryGroups = optional hasDocker "docker";
SupplementaryGroups = optional hasDocker "docker"
++ optional hasPodman "podman";
ExecStartPre = "!${configureScript}/bin/gitlab-runner-configure";
ExecStart = "${startScript}/bin/gitlab-runner-start";
ExecReload = "!${configureScript}/bin/gitlab-runner-configure";