make things conditional

This commit is contained in:
Kiara Grouwstra 2025-07-27 10:43:25 +02:00
parent 6c105468d5
commit 6fc1dc7b8a
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU

View file

@ -64,12 +64,13 @@
vars.generators.woodpecker =
let
fileNames = [
"woodpecker-gitea-client"
"woodpecker-gitea-secret"
"woodpecker-agent-exec"
"woodpecker-agent-container"
];
fileNames =
[
"woodpecker-gitea-client"
"woodpecker-gitea-secret"
]
++ (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 = [
@ -137,60 +138,64 @@
WOODPECKER_GRPC_SECURE=false
'';
in
{
# https://woodpecker-ci.org/docs/administration/configuration/server
"woodpecker-server.conf" = {
secret = true;
template = pkgs.writeText "woodpecker-server.conf" ''
WOODPECKER_DATABASE_DRIVER=sqlite3
WOODPECKER_DISABLE_USER_AGENT_REGISTRATION=false
WOODPECKER_OPEN=false
WOODPECKER_ADMIN=kiara,fricklerhandwerk,niols
WOODPECKER_HOST=https://woodpecker.fediversity.eu
WOODPECKER_GITEA=true
WOODPECKER_GITEA_URL=https://git.fediversity.eu
WOODPECKER_GITEA_CLIENT=${config.vars.generators.woodpecker.files.woodpecker-gitea-client.placeholder}
WOODPECKER_GITEA_SECRET=${config.vars.generators.woodpecker.files.woodpecker-gitea-secret.placeholder}
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker-agent-secret.files.my-secret.placeholder}
WOODPECKER_GRPC_SECRET=${config.vars.generators.woodpecker-rpc-secret.files.rpc-secret.placeholder}
WOODPECKER_LOG_LEVEL=info
WOODPECKER_DEFAULT_CLONE_PLUGIN=docker.io/woodpeckerci/plugin-git
WOODPECKER_SERVER_ADDR=:8000
WOODPECKER_GRPC_ADDR=:9000
'';
};
# https://woodpecker-ci.org/docs/administration/configuration/backends/local#environment-variables
"woodpecker-agent-exec.conf" = {
secret = true;
template = pkgs.writeText "woodpecker-agent-exec.conf" (
lib.concatStringsSep "\n" [
shared
''
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker.files.woodpecker-agent-exec.placeholder}
WOODPECKER_BACKEND=local
WOODPECKER_AGENT_LABELS=type=local
''
]
);
};
# https://woodpecker-ci.org/docs/administration/configuration/backends/docker#environment-variables
"woodpecker-agent-podman.conf" = {
secret = true;
template = pkgs.writeText "woodpecker-agent-podman.conf" (
lib.concatStringsSep "\n" [
shared
''
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker.files.woodpecker-agent-container.placeholder}
WOODPECKER_BACKEND=docker
WOODPECKER_AGENT_LABELS=type=docker
DOCKER_HOST=unix:///run/podman/podman.sock
''
]
);
};
};
(lib.mkMerge [
{
# https://woodpecker-ci.org/docs/administration/configuration/server
"woodpecker-server.conf" = {
secret = true;
template = pkgs.writeText "woodpecker-server.conf" ''
WOODPECKER_DATABASE_DRIVER=sqlite3
WOODPECKER_DISABLE_USER_AGENT_REGISTRATION=false
WOODPECKER_OPEN=false
WOODPECKER_ADMIN=kiara,fricklerhandwerk,niols
WOODPECKER_HOST=https://woodpecker.fediversity.eu
WOODPECKER_GITEA=true
WOODPECKER_GITEA_URL=https://git.fediversity.eu
WOODPECKER_GITEA_CLIENT=${config.vars.generators.woodpecker.files.woodpecker-gitea-client.placeholder}
WOODPECKER_GITEA_SECRET=${config.vars.generators.woodpecker.files.woodpecker-gitea-secret.placeholder}
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker-agent-secret.files.my-secret.placeholder}
WOODPECKER_GRPC_SECRET=${config.vars.generators.woodpecker-rpc-secret.files.rpc-secret.placeholder}
WOODPECKER_LOG_LEVEL=info
WOODPECKER_DEFAULT_CLONE_PLUGIN=docker.io/woodpeckerci/plugin-git
WOODPECKER_SERVER_ADDR=:8000
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;
template = pkgs.writeText "woodpecker-agent-exec.conf" (
lib.concatStringsSep "\n" [
shared
''
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker.files.woodpecker-agent-exec.placeholder}
WOODPECKER_BACKEND=local
WOODPECKER_AGENT_LABELS=type=local
''
]
);
};
})
(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;
template = pkgs.writeText "woodpecker-agent-podman.conf" (
lib.concatStringsSep "\n" [
shared
''
WOODPECKER_AGENT_SECRET=${config.vars.generators.woodpecker.files.woodpecker-agent-container.placeholder}
WOODPECKER_BACKEND=docker
WOODPECKER_AGENT_LABELS=type=docker
DOCKER_HOST=unix:///run/podman/podman.sock
''
]
);
};
})
]);
};
# enable git-lfs