disable exec agent

make service group setting conditional

make secrets conditional

make things conditional

rm group
This commit is contained in:
Kiara Grouwstra 2025-07-27 10:30:23 +02:00
parent 87fb01b37d
commit 3c3df517d4
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU

View file

@ -22,12 +22,28 @@
inherit group; inherit group;
mode = "440"; mode = "440";
}) })
(
{ {
woodpecker-gitea-client = "woodpecker-server"; woodpecker-gitea-client = "woodpecker-server";
woodpecker-gitea-secret = "woodpecker-server"; woodpecker-gitea-secret = "woodpecker-server";
}
// (
if config.services.woodpecker-agents.agents.exec.enable then
{
woodpecker-agent-exec = "woodpecker-agent-exec"; woodpecker-agent-exec = "woodpecker-agent-exec";
}
else
{ }
)
// (
if config.services.woodpecker-agents.agents.docker.enable then
{
woodpecker-agent-container = "woodpecker-agent-docker"; woodpecker-agent-container = "woodpecker-agent-docker";
}; }
else
{ }
)
);
# needs `sudo generate-vars` # needs `sudo generate-vars`
vars.settings.on-machine.enable = true; vars.settings.on-machine.enable = true;
@ -53,12 +69,13 @@
vars.generators.woodpecker = vars.generators.woodpecker =
let let
fileNames = [ fileNames =
[
"woodpecker-gitea-client" "woodpecker-gitea-client"
"woodpecker-gitea-secret" "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 in
{ {
runtimeInputs = [ runtimeInputs = [
@ -126,6 +143,7 @@
WOODPECKER_GRPC_SECURE=false WOODPECKER_GRPC_SECURE=false
''; '';
in in
(lib.mkMerge [
{ {
# https://woodpecker-ci.org/docs/administration/configuration/server # https://woodpecker-ci.org/docs/administration/configuration/server
"woodpecker-server.conf" = { "woodpecker-server.conf" = {
@ -148,7 +166,8 @@
WOODPECKER_GRPC_ADDR=:9000 WOODPECKER_GRPC_ADDR=:9000
''; '';
}; };
}
(lib.mkIf config.services.woodpecker-agents.agents.exec.enable {
# https://woodpecker-ci.org/docs/administration/configuration/backends/local#environment-variables # https://woodpecker-ci.org/docs/administration/configuration/backends/local#environment-variables
"woodpecker-agent-exec.conf" = { "woodpecker-agent-exec.conf" = {
secret = true; secret = true;
@ -163,7 +182,8 @@
] ]
); );
}; };
})
(lib.mkIf config.services.woodpecker-agents.agents.docker.enable {
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#environment-variables # https://woodpecker-ci.org/docs/administration/configuration/backends/docker#environment-variables
"woodpecker-agent-podman.conf" = { "woodpecker-agent-podman.conf" = {
secret = true; secret = true;
@ -179,7 +199,8 @@
] ]
); );
}; };
}; })
]);
}; };
# enable git-lfs # enable git-lfs
@ -212,7 +233,7 @@
# https://woodpecker-ci.org/docs/administration/configuration/agent # https://woodpecker-ci.org/docs/administration/configuration/agent
woodpecker-agents.agents = { woodpecker-agents.agents = {
exec = { exec = {
enable = true; # enable = true;
path = with pkgs; [ path = with pkgs; [
git git
git-lfs git-lfs
@ -250,9 +271,10 @@
}; };
}; };
systemd.services.woodpecker-agent-docker = { systemd.services = {
woodpecker-agent-docker = lib.mkIf config.services.woodpecker-agents.agents.docker.enable {
wants = [ "podman.socket" ]; wants = [ "podman.socket" ];
after = [ "podman.socket" ]; after = [ "podman.socket" ];
serviceConfig.SupplementaryGroups = [ "podman" ]; };
}; };
} }