Add runner to jude plus module
This commit is contained in:
Generated
+3
-3
@@ -7,11 +7,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690228878,
|
||||
"narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=",
|
||||
"lastModified": 1701216516,
|
||||
"narHash": "sha256-jKSeJn+7hZ1dZdiH1L+NWUGT2i/BGomKAJ54B9kT06Q=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "d8c973fd228949736dedf61b7f8cc1ece3236792",
|
||||
"rev": "13ac9ac6d68b9a0896e3d43a082947233189e247",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
imports = [
|
||||
../../vscodium.nix
|
||||
];
|
||||
home.packages = [
|
||||
(pkgs.mumble.override { pulseSupport = true; })
|
||||
home.packages = with pkgs; [
|
||||
(mumble.override { pulseSupport = true; })
|
||||
fluffychat
|
||||
];
|
||||
}
|
||||
|
||||
@@ -33,4 +33,15 @@
|
||||
users.extraGroups.vboxusers.members = [ "greg" ];
|
||||
|
||||
boot.extraModprobeConfig = "options kvm_amd nested=1";
|
||||
|
||||
greg.ci-runner = {
|
||||
qemu = {
|
||||
labels = [
|
||||
"qemu:host"
|
||||
];
|
||||
packages = with pkgs; [
|
||||
qemu
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.greg.ci-runner;
|
||||
runnerNames = (builtins.attrNames cfg);
|
||||
makeRunner = name: value: {
|
||||
enable = true;
|
||||
hostPackages = with pkgs; [
|
||||
bashInteractive
|
||||
podman
|
||||
git
|
||||
nodejs
|
||||
] ++ value.packages;
|
||||
labels = lib.mkIf ( builtins.hasAttr "labels" value) value.labels;
|
||||
name = config.networking.hostName;
|
||||
tokenFile = config.age.secrets.forgejo-runner.path;
|
||||
url = "https://src.thehellings.com";
|
||||
settings.runner.capacity = value.parallel;
|
||||
};
|
||||
|
||||
userName = "gitea-runner";
|
||||
|
||||
in with lib; {
|
||||
options = {
|
||||
greg.ci-runner = mkOption {
|
||||
default = {};
|
||||
description = "List of gitea/forgejo runners to configure";
|
||||
example = ''
|
||||
```
|
||||
greg.ci-runner.snarfblatt = {
|
||||
labels = [ "ubuntu-latest:docker://ubuntu:latest" ];
|
||||
};
|
||||
```
|
||||
'';
|
||||
|
||||
type = with types; attrsOf ( submodule (
|
||||
{ name, config, options, ... }:
|
||||
{
|
||||
options.labels = mkOption {
|
||||
type = (types.listOf types.str);
|
||||
default = [];
|
||||
description = ''List of labels. The syntax is
|
||||
more or less going to be something along the lines
|
||||
of `<runs-on-label>:docker://<actual docker image>` or
|
||||
`native:host` for a system that will support running
|
||||
commands directly on the server.'';
|
||||
};
|
||||
|
||||
options.packages = mkOption {
|
||||
type = (types.listOf types.package);
|
||||
default = [];
|
||||
description = ''List of extra packages that will be needed
|
||||
in the running environment for this worker.'';
|
||||
};
|
||||
|
||||
options.parallel = mkOption {
|
||||
type = types.int;
|
||||
default = 3;
|
||||
description = "The maximum number of parallel jobs this runner will support.";
|
||||
};
|
||||
})
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf ( runnerNames != [] ) {
|
||||
services.gitea-actions-runner.instances = ( mapAttrs makeRunner cfg);
|
||||
|
||||
age.secrets.forgejo-runner = let
|
||||
aName = builtins.elemAt runnerNames 0;
|
||||
target = "gitea-runner-${aName}";
|
||||
in {
|
||||
file = ../secrets/${config.networking.hostName}-forgejo-runner.age;
|
||||
owner = userName;
|
||||
group = userName;
|
||||
};
|
||||
|
||||
users.users."${userName}" = {
|
||||
isSystemUser = true;
|
||||
group = "${userName}";
|
||||
};
|
||||
users.groups."${userName}" = {};
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./ci-runner.nix
|
||||
];
|
||||
|
||||
# Enable flakes
|
||||
nix = {
|
||||
package = pkgs.nixFlakes;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 mOmPfg 1Q/zfHlucVlB8FkxpOSYnWgFBJre3KeW+uANvUC/PFU
|
||||
/uuW2lV2SwdekZPeJsCXK4T+msMtBFVio5fvFPOlcCI
|
||||
-> ssh-ed25519 YJiRbw 4s8W7hOd8/kxQ4lImUYmF0DhXCuUZeCWXE+ueAFRbzg
|
||||
el12BcxbsdyDHHalcucjqZz/Hzegg1J+Nvr0BFXXpu8
|
||||
-> ssh-ed25519 Nl/5yA CP6ofzQfDKGGv2yFhjBx58xHPOaTazZ0jW0R6WXRiX8
|
||||
+jOI7EIa0O1qh4ARyctAr8NHvp8Y8HSkA9tT8ybNrUg
|
||||
-> ssh-ed25519 tOH/HQ oI1ltqtnlvl5WUrebrdy8LErHleiNHQJVc9FXuUwZ28
|
||||
FNeE2F6tM6CWXiFwJnguL/0BGMz1oejyV+vX25UN3cY
|
||||
-> ssh-ed25519 FpzvfQ XeYdcSTqUtY6mNwzZ9vfohJ/4y17OdoaYCNpGZxWrjw
|
||||
3qA8Wsik3/JH+JVOr8T9ue2Y9wDzwrf6rWsfwbGTJAE
|
||||
-> ssh-ed25519 GdLgCQ dAfetOmfUR4G4qcS4mjw2Z1h0iFt22Yh4GioqpJpimo
|
||||
HQ5auu9P454fqMgCeYu5ynMXqyM35kvzlK4DFozhcC0
|
||||
-> FilBs@/-grease %U4V^CDH 6'KK:"`
|
||||
dirZXZvJaCxTTtTT
|
||||
--- qvxgsWakIV8/n+LxUXw9WQ1nkKEfEBRv6oBSsc6KFJ4
|
||||
ÓD¹p¼Y´Ö¤àðÏÓœI¶p)ö>ÿNdÕ�r~x÷¶'ð‡¥¼`ë~+ÁUWF¿ï $™�.¾2ºùÒ%9>ʺ<Iôâ:ŠdNwûØå
|
||||
+2
-1
@@ -9,7 +9,7 @@ let
|
||||
user5 = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDR4vmc5TiymSjMB7E+oYsiTxOg+2xwnLAILYjQKPA7dIvz/A/HW31R1aVVxNEgkHm8qeqmgE1bUysMMl128zvdKmwkMmq2uagx9hboyfCwOYRaQOtpS0dlgSllhM654vL9553t94sTuMIfNUiXBD3EV2Z5JJ1RteCkBTJjzmXQnV9he0xozBYOdGv35UGneQzAr7Pps9iK81mR4yW+vLcW3pAaPmDBbN7C6WFxqcEBWsaJZK0rLCTrQo+6B130XgH6gPgh4GyDaRmtRJl63yANiP/RfkDFTPKOh87slLLZaHJUe94P2CTZw0e9xSzWuzx71nBp9JhkoZkI9XD+AnbHIZ9X3twIADUf+D0fivzOH+Yzne0gNRFa+O4x8xd/xj8QeM+Rr1ATikBf/FRfyx+RzHgHS1ZyOKfIpQbrm44E8Smv7FzS5RcCfAScSn0npOqP0cilYjtDCEoeMVsx4XQy4+iYLOA/EaMICSz2PwQFG/KXe7NK30Cc5flq5qUiz8TX1Mzlxuro4qTktYSXZBs5YyEg3Za/hcqMV52kVn0W8S1DatHOL4TlRKYeKsg1hWNvtm2MRqJvWkqK9vNNL86Ew5D5hgXdCk+AiRzOhQxfprPYMea2Vx1Mkaq3VYHWmJBWc/m4aOKUSajhFu8KG7l8bc4IkgC+qQCYzr6pCUDlCaCEF1iQ3lItSkbJJmRBHKEOb85lsIJ/SZ0bhsMl8bc9z33zY+bwv2NezG/aKVGrny4ZTAI1BKkZN/60L0yzJihyKamEa442jjnvG1jzC2wEtd/0gCGWScfZsQWqDu97spbeq8jrc67U9xqlGTrWyyNsCW2lpu26cQWWRC8ufl5zBNRDFDSYKceBaJ2+sx1GPj3YYdJSlTt5JvxNyBg0BGfGqCTd0w4IXF3KP9IZRWWAKPaOZcil2MRZwYhWEd7p+CtKVAL93uW0sE+0C13+iFMnBUkFBJ2dZH+tWpywCRYcrVNvrBlsHe2XniwBwvQHUFgKaQAB8upFTK1xBWTh2S+CVyNed/fckAUrPDj4sI2NERGcyPC5Oi6r0fUPtcWvKRfA/yXx5A0iNWc6acTqd5wwSO3s8rOCjIwdczZmkmnjAf3UKhmtDnwRd9rbO5Hanom80re9Dk0W+z9E2+70b9iYvZ60pbw+cG4WqEQnr02RS8hKvU0CsYFoDMTzV4snqTKNrl0IeD+Fmjl7oDkcC4YQbZd2902qVL3WHHvW+p0WQ1B/rk8BPVRYVmrUQbqwPFCQlmTe3Zy+LpqbWYemhQJGVSiEiioVNCc7pHO6RyWLCoEQKwKHAoNleKtkG94hT/d0z+1RYpB/nbJ51BPihK5EMlXbw/Hu1SVaaDLOSL6p greg@mm";
|
||||
|
||||
user_genesis_virt = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFWPSFQT0AH77wrwRhiskcBS0w4ZakBRdJywYYBsnm3S greg@genesis";
|
||||
user_jude = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQCgg6FGmtWPjw5iYTlxJLz1WBCE7zhYhXgmfPvFRt6cd+sPdBdD3axkYPwuUxIa1dxwLEHn8BY9ZajFNrbD+Y0C82stxbBGLRhScj9phGP6LPJhNJsqeuU1rXcnUS127GlFayBb92UajpgMBVlQVJVgOikdK0GZWS4LMsTafkldS5leYr4o8pJ94ZQUk04m9Y2AhkLOMWDdLqqbVS7rFDKsfNDm6YUIrc4fCFvMwo2IhKb3VMv/CqPBFWx9YWFnLoNRAUhVTbcpDWBprvgAirf1rI9jXihX78gBLYqaI0shZg3mldIfQPaPudxXAYXZBFxZkcdnlEwOIL3jvR1bQKfRroAsLs4Nz66RDMIEC6cYm6QEIppFzx5pAXmjBHk8RPYPV0Z7gHxlp2yL0C3K6E1XN/A6cvK719VxEI8Sqmzl7Dd9/wikuyZhA/ZJfShpGTFX7M4wWKd9ZB6F01ATqAqACs4BHIIakl01C+lad2WQwxCXZo3dxGTMGoUrWTlTcAIKYHA0uun0k3oU0KRcSojpGMFCedR/HfLXZ/3TxeUHAZzSFKAQqZPE+6AZMoDSqVgWW6gPvRqVbtgG17qf6kPXM7XQRw/mNnjUWYrqSzDU4eEyN0AcfWhAN7defp+ERNlDyIdvYSiTniONuBMR5nz5xhLctKosJ1DaQcyNxYok9kGhG92pShRW11JmU/AmM3K6svD2tMRNRg2sJUNYHVzr/P65vZ43jXFV9hn5VTvhNofiDmAgTiPP+4Xo25FHtzu2CDwd7ve1zZZ8WyunmHx5kevdCQBcscKnpHO5MK1EBG2acThWD3HbfzncLkP6w5ZkLngGieIB1C3UjpzbbcBTeQ2NJnra59ZpouZ/ivqoxr/xqCakKlRmi201PV4DzB3HEYhODnmieykZcpSU77EuQb5H5w4k/YY0I9ZVrwyBuMfEducUPV8ghV6HRuZYUNWhOOr+rSmPSvi24kH8kkuoG7D+6aZbLpezyl6u6RvFuwGC784nr1nLXFSMOQpjND23SuGWn6iAcSCqxJ5eBIh50U2ZylsavBjaMDp94esBEG/YyWKcFO5b3xPr75/cwaeLGttdrnMfyWFG6Iz1yFxiMvTNqLKRlGNduK6OPTet89ymu1Gau+l5kfn9YE22gvwCRWU2GuCyTk/PigFyrAKmKduglUecW+Wgylh2OQ6YLJkE3nnJ2u+ujEJsqNdoQBJRFYm4efPFp0WK6DrAmOT/fAD6TyLitWwH+1XFgDR3IKynHgTVaG5SVhjBrT9NA59b90FDmQJmKiVMItDFTn6Ir2+qMw3mvl/xHoXJ6QRuNEOTWtqh8QeJIU5+tjr0pfW+Dz4/fydmOYX3khVZADR9 greg@jude";
|
||||
user_jude = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINnRc/kBhxcjpUtiRQY+BXnSObdp0jFL1395wAQxJip7 greg@jude";
|
||||
user_linode = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINAX6pNx5mbwIa8X+GzktyNijfYmJUpgROFpRxSW9js0 greg@linode";
|
||||
user_ivr = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMYzms+KIe5/bYF3uCyFjA5e1AgMPLIA3c4k417coqBe gregory.hellings@ls23003";
|
||||
|
||||
@@ -37,4 +37,5 @@ in
|
||||
"monica.age".publicKeys = everyone;
|
||||
|
||||
"linode-forgejo-runner.age".publicKeys = everyone;
|
||||
"jude-forgejo-runner.age".publicKeys = everyone;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user