I was not able to fix my hydra configuration. So I am trying Buildbot instead.
But now I am struggling in configuring the credentials.
I get the following SystemD error:
× buildbot-master.service - Buildbot Continuous Integration Server.
Loaded: loaded (/etc/systemd/system/buildbot-master.service; enabled; preset: ignored)
Active: failed (Result: exit-code) since Wed 2024-12-04 16:41:04 CET; 3s ago
Invocation: 3c18ff1e637643499a93afdd3d7f02f3
Process: 462366 ExecStartPre=/nix/store/m5yzgbhrb1yxi3vk8p3vk7jh1g505xsf-unit-script-buildbot-master-pre-start/bin/buildbot-master-pre-start (code=exited, status=243/CREDENTIALS)
IP: 0B in, 0B out
IO: 0B read, 0B written
Mem peak: 1.8M
CPU: 15ms
Dez 04 16:41:04 server systemd[1]: Starting Buildbot Continuous Integration Server....
Dez 04 16:41:04 server (re-start)[462366]: buildbot-master.service: Failed to set up credentials: Protocol error
Dez 04 16:41:04 server (re-start)[462366]: buildbot-master.service: Failed at step CREDENTIALS spawning /nix/store/m5yzgbhrb1yxi3vk8p3vk7jh1g505xsf-unit-script-buildbot-master-pre-start/bin/buildbot-master-pre-start: Protocol error
Dez 04 16:41:04 server systemd[1]: buildbot-master.service: Control process exited, code=exited, status=243/CREDENTIALS
Dez 04 16:41:04 server systemd[1]: buildbot-master.service: Failed with result 'exit-code'.
Dez 04 16:41:04 server systemd[1]: Failed to start Buildbot Continuous Integration Server..
The error is propably in the way i configured the workersFile:
{ inputs, config, ... }:
let
hostName = config.networking.hostName;
cfg = config.sops;
in {
imports = [ inputs.sops-nix.nixosModules.sops ];
sops = {
secrets = {
codeberg-token = {
owner = "buildbot";
group = "buildbot";
};
cb-buildbot-secret = {
owner = "buildbot";
group = "buildbot";
};
buildbot-webhook = {
owner = "buildbot";
group = "buildbot";
};
hetzbox-buildbot-worker-password = {
owner = "buildbot-worker";
group = "buildbot-worker";
};
};
templates = {
"buildbot-workers.json" =
let
masterCfg = config.services.buildbot-nix.master;
backendPort =
if (masterCfg.accessMode ? "fullyPrivate") then
masterCfg.accessMode.fullyPrivate.port
else
config.services.buildbot-master.port;
in {
content = ''
[
{
"name": "${hostName}",
"password": "${cfg.placeholder.hetzbox-buildbot-worker-password}",
"host": "${hostName}",
"port": ${(toString backendPort)}
}
]
'';
owner = "buildbot";
group = "buildbot";
};
};
};
}
Help is very apreciated