1import ./make-test-python.nix ({ lib, pkgs, ... }:
2
3{
4 name = "buildkite-agent";
5 meta.maintainers = with lib.maintainers; [ flokli ];
6
7 nodes.machine = { pkgs, ... }: {
8 services.buildkite-agents = {
9 one = {
10 privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
11 tokenPath = (pkgs.writeText "my-token" "5678");
12 };
13 two = {
14 tokenPath = (pkgs.writeText "my-token" "1234");
15 };
16 };
17 };
18
19 testScript = ''
20 start_all()
21 # we can't wait on the unit to start up, as we obviously can't connect to buildkite,
22 # but we can look whether files are set up correctly
23
24 machine.wait_for_file("/var/lib/buildkite-agent-one/buildkite-agent.cfg")
25 machine.wait_for_file("/var/lib/buildkite-agent-one/.ssh/id_rsa")
26
27 machine.wait_for_file("/var/lib/buildkite-agent-two/buildkite-agent.cfg")
28 '';
29})