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

Binary file not shown.

View file

@ -1,9 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 CpJBgQ tWx7wXCFjOOfD0wKRHHvLUdR+SF0i43xvnQG9GKurnk
NRh7kSn7wqw80Y9EFr9Ccft+zYMadXZhYNPEaQlQXtQ
-> ssh-ed25519 LfBFbQ SPQMLC3Ehw00IG1CcbcLFZI2tHy89fjRgVgH4Iw2iBM
oo2gT9472/DFRoZ6TYxhnM9ylRUNzoS8mLQYvn+4OSM
-> D[7+*-grease `>j ~Jk Dz%o vaKET3
TkKVm8IpqfiVzETAi9+zuUtCdkReB+lHtthwNw
--- 3iOmY4TNICMi/Fz7k8pmoZlFym9uQBWNtHNlizoAMaM
ZPzQ6ÊäžÂ5¾½¼ATÀ ¸I¯·©;¾;Зy5]­œkÿ^!¶`¬ƒt™—$ÿRÖ<C396>tÞëK)ò<><Ýã§k¾ûû_°#XmASŠpU1©üŽ@šÂ)ûâc©ÖºÝqœÿj1zÑ,HÄÂÞgÈß:è‘
-> ssh-ed25519 CpJBgQ AVkUs8tuzVlDq3FH/zRrBr5f4KR05fONM6iCluq6hyM
feS2cxFowSWfDdUQjtmIiMc5338n805yownSZ/ZWfS8
-> ssh-ed25519 LfBFbQ F67irB+DYQ8WMhaFcO+3o0O0lJsf+tWFZ9cSGSuHgA8
EKS4zRGUEgeldjxdx4sIsnorWHoeTlXa9LJtNf9lkAM
-> QvY:XSvC-grease 04
pBnXsOF6qugcSBp+pw
--- +g65NbIxu6bVVerS93kYZpEO5ssUZfCD+sZMzOjDUdU
RîTÀmaF[BʺøÕ0ƒa_&Ë•<C38B>=3dlzRVi´6-9<>á:þü³¿U.EÈà… üª —JΙŒß÷ÆÛA·-€qྟ÷·Ð|¡™Ð}}a=žHº+]m™<6D><74><C380>¯Røà%9\˜õJt€š|1B¿

View file

@ -1,6 +1,7 @@
let
grfn = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMcBGBoWd5pPIIQQP52rcFOQN3wAY0J/+K2fuU6SffjA";
mugwump = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFE2fxPgWO+zeQoLBTgsgxP7Vg7QNHlrQ+Rb3fHFTomB";
ogopogo = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINoS7PqM8d7xc8nn0yfiPGfRaH8U/nq2Jm27nRO3L5P0";
bbbg = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL/VzrNEY47KPTce3dgfORkAbweWkr4BI8j54BAIs7bG";
in
@ -8,6 +9,6 @@ in
"bbbg.age".publicKeys = [ grfn mugwump bbbg ];
"cloudflare.age".publicKeys = [ grfn mugwump ];
"ddclient-password.age".publicKeys = [ grfn mugwump ];
"buildkite-ssh-key.age".publicKeys = [ grfn mugwump ];
"buildkite-token.age".publicKeys = [ grfn mugwump ];
"buildkite-ssh-key.age".publicKeys = [ grfn mugwump ogopogo ];
"buildkite-token.age".publicKeys = [ grfn mugwump ogopogo ];
}

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";
};
};
}