2025-05-24 23:40:23 +08:00
|
|
|
{ lib, pkgs, ... }:
|
2020-01-19 21:50:52 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
{
|
|
|
|
name = "buildkite-agent";
|
|
|
|
meta.maintainers = with lib.maintainers; [ flokli ];
|
2020-01-19 21:50:52 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
nodes.machine =
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
services.buildkite-agents = {
|
|
|
|
one = {
|
|
|
|
privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
|
|
|
|
tokenPath = (pkgs.writeText "my-token" "5678");
|
|
|
|
};
|
|
|
|
two = {
|
|
|
|
tokenPath = (pkgs.writeText "my-token" "1234");
|
2024-12-10 20:26:33 +01:00
|
|
|
};
|
2020-01-21 14:21:57 +01:00
|
|
|
};
|
2025-05-24 23:40:23 +08:00
|
|
|
};
|
2020-01-19 21:50:52 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
testScript = ''
|
|
|
|
start_all()
|
|
|
|
# we can't wait on the unit to start up, as we obviously can't connect to buildkite,
|
|
|
|
# but we can look whether files are set up correctly
|
2020-01-21 14:21:57 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg")
|
|
|
|
machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa")
|
2020-01-21 14:21:57 +01:00
|
|
|
|
2025-05-24 23:40:23 +08:00
|
|
|
machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg")
|
|
|
|
'';
|
|
|
|
}
|