Compare commits

...

4 commits

View file

@ -17,12 +17,28 @@
inherit group;
mode = "440";
})
(
{
woodpecker-gitea-client = "woodpecker-server";
woodpecker-gitea-secret = "woodpecker-server";
}
// (
if config.services.woodpecker-agents.agents.exec.enable then
{
woodpecker-agent-exec = "woodpecker-agent-exec";
}
else
{ }
)
// (
if config.services.woodpecker-agents.agents.docker.enable then
{
woodpecker-agent-container = "woodpecker-agent-docker";
};
}
else
{ }
)
);
# needs `sudo generate-vars`
vars.settings.on-machine.enable = true;
@ -48,12 +64,13 @@
vars.generators.woodpecker =
let
fileNames = [
fileNames =
[
"woodpecker-gitea-client"
"woodpecker-gitea-secret"
"woodpecker-agent-exec"
"woodpecker-agent-container"
];
]
++ (lib.lists.optional config.services.woodpecker-agents.agents.exec.enable "woodpecker-agent-exec")
++ (lib.lists.optional config.services.woodpecker-agents.agents.docker.enable "woodpecker-agent-container");
in
{
runtimeInputs = [
@ -121,6 +138,7 @@
WOODPECKER_GRPC_SECURE=false
'';
in
(lib.mkMerge [
{
# https://woodpecker-ci.org/docs/administration/configuration/server
"woodpecker-server.conf" = {
@ -143,7 +161,8 @@
WOODPECKER_GRPC_ADDR=:9000
'';
};
}
(lib.mkIf config.services.woodpecker-agents.agents.exec.enable {
# https://woodpecker-ci.org/docs/administration/configuration/backends/local#environment-variables
"woodpecker-agent-exec.conf" = {
secret = true;
@ -158,7 +177,8 @@
]
);
};
})
(lib.mkIf config.services.woodpecker-agents.agents.docker.enable {
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#environment-variables
"woodpecker-agent-podman.conf" = {
secret = true;
@ -174,7 +194,8 @@
]
);
};
};
})
]);
};
# enable git-lfs
@ -207,7 +228,7 @@
# https://woodpecker-ci.org/docs/administration/configuration/agent
woodpecker-agents.agents = {
exec = {
enable = true;
# enable = true;
path = with pkgs; [
git
git-lfs
@ -253,9 +274,13 @@
};
};
systemd.services.woodpecker-agent-docker = {
systemd.services = {
woodpecker-agent-docker = lib.mkIf config.services.woodpecker-agents.agents.docker.enable {
wants = [ "podman.socket" ];
after = [ "podman.socket" ];
serviceConfig.SupplementaryGroups = [ "podman" ];
serviceConfig = {
SupplementaryGroups = [ "podman" ];
};
};
};
}