feat(grfn/system): Set up a buildkite agent on ogopogo

Change-Id: Ica7729d4f08b5345dfd50c22cae388d8bc014a3c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/10662
Autosubmit: aspen <root@gws.fyi>
Reviewed-by: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Aspen Smith 2024-01-18 10:30:10 -05:00 committed by clbot
parent 713b9d4396
commit ff144d8c62
7 changed files with 54 additions and 10 deletions

View file

@ -3,6 +3,7 @@
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
(depot.third_party.agenix.src + "/modules/age.nix")
../modules/common.nix
../modules/xserver.nix
../modules/fonts.nix
@ -94,4 +95,46 @@
wal_level = "logical";
};
};
services.buildkite-agents.ogopogo-1 = rec {
enable = true;
tokenPath = config.age.secretsDir + "/buildkite-token";
privateSshKeyPath = config.age.secretsDir + "/buildkite-ssh-key";
runtimePackages = with pkgs; [
docker
nix
gnutar
gzip
bash
];
tags = {
queue = "ogopogo";
};
dataDir = "/home/grfn/buildkite-agent";
hooks.environment = ''
export BUILDKITE_AGENT_HOME=${dataDir}
'';
};
systemd.services.buildkite-agent-ogopogo-1.serviceConfig.User =
lib.mkForce "grfn";
users.users.grfn.extraGroups = [ "keys" ];
age.secrets =
let
secret = name: depot.users.grfn.secrets."${name}.age";
in
{
buildkite-ssh-key = {
file = secret "buildkite-ssh-key";
group = "keys";
mode = "0440";
};
buildkite-token = {
file = secret "buildkite-token";
group = "keys";
mode = "0440";
};
};
}