Rework how gitlab-runners are defined
This commit is contained in:
+46
-15
@@ -14,9 +14,48 @@ let
|
||||
];
|
||||
in
|
||||
{
|
||||
greg.vmdev.enable = true;
|
||||
specialisation = {
|
||||
vbox.configuration = {
|
||||
|
||||
age.secrets.runner-reg.file = ../../secrets/gitlab/isaiah-vbox-runner-reg.age;
|
||||
greg = {
|
||||
podman.enable = lib.mkForce false;
|
||||
vmdev.enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
users.extraGroups.vboxusers.members = [ "greg" ];
|
||||
|
||||
virtualisation = {
|
||||
virtualbox.host = {
|
||||
enable = true;
|
||||
enableExtensionPack = true;
|
||||
};
|
||||
};
|
||||
|
||||
services.gitlab-runner.services = lib.mkForce {
|
||||
vbox = {
|
||||
authenticationTokenConfigFile = config.age.secrets.vbox.path;
|
||||
environmentVariables = {
|
||||
EFI_DIR = "${pkgs.OVMF.fd}/FV/";
|
||||
};
|
||||
executor = "shell";
|
||||
limit = 5;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.gitlab-runner = {
|
||||
serviceConfig = {
|
||||
DevicePolicy = lib.mkForce "auto";
|
||||
User = "root";
|
||||
DynamicUser = lib.mkForce false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
age.secrets = {
|
||||
qemu.file = ../../secrets/gitlab/nixos-qemu-shell.age;
|
||||
vbox.file = ../../secrets/gitlab/nixos-vbox-shell.age;
|
||||
};
|
||||
|
||||
# These options enable sharing of the GPU with the VM
|
||||
boot = {
|
||||
@@ -39,15 +78,18 @@ in
|
||||
("vfio-pci.ids=" + (lib.concatStringsSep "," passthru))
|
||||
];
|
||||
};
|
||||
|
||||
greg.vmdev.enable = true;
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
services.gitlab-runner = {
|
||||
enable = true;
|
||||
settings.concurrent = 5;
|
||||
services.vbox = {
|
||||
services.qemu = {
|
||||
executor = "shell";
|
||||
limit = 5;
|
||||
authenticationTokenConfigFile = config.age.secrets.runner-reg.path;
|
||||
authenticationTokenConfigFile = config.age.secrets.qemu.path;
|
||||
environmentVariables = {
|
||||
EFI_DIR = "${pkgs.OVMF.fd}/FV/";
|
||||
};
|
||||
@@ -55,17 +97,6 @@ in
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
gitlab-runner = {
|
||||
conflicts = [ "libvirtd.service" ];
|
||||
preStart = builtins.concatStringsSep "\n" [
|
||||
"${pkgs.kmod}/bin/modprobe vboxnetflt vboxdrv"
|
||||
"${pkgs.kmod}/bin/modprobe vboxnetadp"
|
||||
];
|
||||
postStop = "${pkgs.kmod}/bin/rmmod vboxnetflt vboxnetadp vboxdrv";
|
||||
wantedBy = pkgs.lib.mkForce [ ];
|
||||
serviceConfig.User = "root";
|
||||
};
|
||||
|
||||
"libvirt-nosleep@" = {
|
||||
description = "Prevent sleep while %i is running";
|
||||
serviceConfig = {
|
||||
|
||||
@@ -58,36 +58,8 @@ with lib;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualbox.host = {
|
||||
enable = true;
|
||||
enableExtensionPack = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Configuration for vbox user performance
|
||||
users.extraGroups.vboxusers.members = [ cfg.user ];
|
||||
|
||||
boot.extraModprobeConfig = "options kvm_${cfg.system} nested=1";
|
||||
|
||||
# Configure the services more
|
||||
systemd.services = {
|
||||
libvirtd = {
|
||||
preStart = "${pkgs.kmod}/bin/modprobe kvm_${cfg.system}";
|
||||
postStop = "${pkgs.kmod}/bin/rmmod kvm_${cfg.system} kvm";
|
||||
conflicts = [ "vbox.service" ];
|
||||
#overrideStrategy = "asDropin";
|
||||
};
|
||||
vbox = {
|
||||
preStart = "${pkgs.kmod}/bin/modprobe vboxdrv vboxnetadp vboxnetflt";
|
||||
postStop = "${pkgs.kmod}/bin/rmmod vboxnetadp vboxnetflt vboxdrv";
|
||||
script = "echo Started";
|
||||
conflicts = [ "libvirtd.service" ];
|
||||
unitConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 64uajw Owu2iq5FOcCnfmc7WkPZjpje4+l/Y9JpadTmc8ChxW4
|
||||
kpN4BikG6+7GCSplNVFDrQtc0hKpVf7MGeLBdEtxvY4
|
||||
-> ssh-ed25519 oyEmTw e0Irdtmkgx3pHkJKZ0M2wzfVmE+b/tsQ+a1mZTtW8XM
|
||||
sjJNMwLtamfVYpM5nxvcTVverm41U3xpwTYQ63Q/N84
|
||||
-> ssh-ed25519 mOmPfg On+SiDGuqOceWJOF8XZNWVHlseoJ7SWmrv2L7NXsjXQ
|
||||
83KaBly8y4n8L9vclbojrKMTI71uuyvYgey0b9cxy4g
|
||||
-> ssh-ed25519 YJiRbw vdtkHgNYQsmiSqEQMAstt1mUIDQV8ZYd/zm6BJYpFGo
|
||||
zFXmTVzZbPJTdM/hRPVXaIj0JSl9OuWY3Rb91/y0dBc
|
||||
-> ssh-ed25519 aY2AXA 9wbue2xbS4RCxt9Qv75oPDxc4ccCPdSnlRG758OGW0k
|
||||
/5vK7IO8KafpczgAqtPx2wppxa6moy1/Lvnfxn5H02s
|
||||
-> ssh-ed25519 xNtnoA aVFWpqxsXmmzd8qGM2ZKM8PjYutfaYm/ZRgjMeCR9j8
|
||||
+xBg6M9RnnlsA1Ahb4gZOywOnWr+3bs3bRTYFVIKr38
|
||||
-> ssh-ed25519 AQhf1g 7uTLGKz6PRaEypfKxVhHladHaTOxXzLDCwSaguVpEU0
|
||||
ruCZuzyZB2MzO8On2JYae3jycom0sTDoY8Bkh4ruQyo
|
||||
-> ssh-ed25519 B8wa7Q gxEB1ehbBnd4hcHWhSXKzXUfC8Nvkhis3c8FXtbfaQA
|
||||
jHfJtyqB2kt0GqaRPtLc3gIcjh/YGhfgvGzXw3rm9DA
|
||||
-> ssh-ed25519 8UnW5Q wJF80kCk+LgGpYPTreA3iTwY/QrhR/rLagNyWKerGzw
|
||||
eZnYt6N7Trr3J1WGB0Nv3zHJTnML+n+iNkvzdL3jm4w
|
||||
-> ssh-ed25519 0/WsKg bcN7gFP1Vm0MpWWuPW795gD8Q1E3xLr1CMycggtSqRA
|
||||
6m1NXOBG/Wyz21hCRrj/VbfmhX7QzI8ekAQ+XXnyy38
|
||||
-> ssh-ed25519 Nl/5yA PoO47KPvS1RXL3QA7PjQDdxL/Z5oYTPivx/gMBXOBWE
|
||||
yTw7f+qbRyerQQ7JR6DqgkfKDTajkanhMlEmQIV0kCI
|
||||
-> ssh-ed25519 GdLgCQ gI8fo4YpyT/qIEZPn3XIa4R+38ICcTIG1BdTMP+iUH8
|
||||
RbU4uOP6RMQZ+DRKrEcZN+GwjLzjq+2pUdk9xm3Xlr4
|
||||
-> ssh-ed25519 tOH/HQ mIrauZ8OfOElsomdivvcdgpsSSDPPjrlJ/YQmnf5g18
|
||||
Mq/vcFQ2mGIPVB0uZS/qtO13WMTcs4CLRwl4YWrreJg
|
||||
-> ssh-ed25519 FpzvfQ lC5aVnyJYH6t/PDDnQQNRqwOX4shQS3Ys1aOWfQ8sw4
|
||||
xgdHax+M3voH8OquVY0SqmSoODJCCVrWZJL1bPFlsp4
|
||||
-> ssh-ed25519 kdPvzQ kHJVlbRYWqubO9xDybSQ1awWZW/OZRp76z/Hmny5dQY
|
||||
B1n6XLWZ2KBfzN0qniNBMKdZM40fjDogKkpHfEEQnW4
|
||||
-> ssh-ed25519 onmXpg fHjrAjDy5Ce/hg1WNJc7IWEk8IxYXdR6h2asJ+1Uajs
|
||||
VxVISuHeVJ6NKTmGLNY7AbyGgdOVPIZoWkGNH8C7xJ0
|
||||
-> ssh-ed25519 CnhD0g +JqkpM0pFRZiaNP49Y8IPDo9w5KqahsqJYugsYmIe3Y
|
||||
M44lsxcLqBh6AW/sf8zMcOg2euOqOytmOTtFtfMFHHc
|
||||
-> ssh-ed25519 4ep2UA QvvgFgNihOAnItEV5W/MWkPOjrFALbTrQQf6PMO3CWw
|
||||
rLJIh6PomyyT/nJXdi2WRIpzZymNqWQ4QuHp2olJI0M
|
||||
--- m9Xw9hvo+ZLlW8pe2/YdH5rqL0cUFPcTicrExwC7DGQ
|
||||
¯…ÀÜ6è²`ç@{XhçÅ ®Âœ10à–�¶= ½éý÷ìëËÏÏR’�LÜÿòw]�Ðûhxõþã£ú6¾’ÐéûÉÛ\íÑ÷ƒ1Ò¨)Ô¼yo¥ƒi¤úžgê)nÛY␍-÷މågàëý„¬ˆcˆŽ�:#�ìqÀ¬(‰_‘6²I|,§éºôéžHB>Êö˜á)K¿B5²Ô‹L¯æœ³yâ†ÖÑlUêekvZ␍Ç)•‚¼Ô=Bƒ”N¼”þ̨wØÇ¬“0y[ëÖÝÕƒãð*�òí‘ð'W”éê—¯‡mG¢úgè ‰Í
|
||||
¹±ÌBU¼¹¥âYkÙ�¦ó™#…R!]µ š"gt^N¦Ÿúþq€ƒ+šPadÁwÿÞ$0޳Ä%*wi(T0ªÈ?^ì�ß÷Ÿ$S‡¦˜Bx7¢u¬ç�ÙÙêýä�0ÊÉJBFãX'”@dj6<eo™éÒ&´œú°®”¬-`™ŸöÀ^}» ¹Ä.ttLTÿRDZGË&Øè|Î*óS¶U¬\DÉÑÝaL¦U¾Ü¯í",ûÛTҷ̰-¢=èç-•8ŸVL.o(>·‚¬äÙÌPx¯åPnqmaö51
|
||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
||||
age-encryption.org/v1
|
||||
-> ssh-ed25519 64uajw zaw1VrAOKf7WH+2V4MPaJ2NGfdRq2TPYV5LW10niQwI
|
||||
yt3kmG5Pi13ALMjusVxuydh/j6xMLNJP5hLp/ePKxcs
|
||||
-> ssh-ed25519 oyEmTw a9q3TpbESuMSh2ut7D/JfgA4KV0e8c6/JQySA1uh3Wk
|
||||
haasKx1ZqqMf4tP1upDtgw7LOIw7J1D699Dl75LQ8IQ
|
||||
-> ssh-ed25519 mOmPfg YDmQILepyMgtgVzriyRWks2QZpvt8zCsAhlrZI1Fl0o
|
||||
scnIfvhOAVAHh31EIBqmFBNbqXleJ2pcFPuMjDEnZ/w
|
||||
-> ssh-ed25519 YJiRbw O6Ar5fSR+6OTZ/MMACKg+SOIRV4NtmMJ3MPexY/fAHs
|
||||
sBGDGkW5vfZcyQ/Hv/5xdAlOz1hYGRWMcO7tgDrNlG4
|
||||
-> ssh-ed25519 aY2AXA oE4aRUnvlKUkrXkLxqdlmSeTblfk9uTWGzoMU/D22EE
|
||||
XaRuO3ORNgb0LRZKzRj0sMpJDFzyzhDIuXBYs/OxxWw
|
||||
-> ssh-ed25519 xNtnoA TLM/kPHULyiUEymgksLHLVhhCT5rIMRc9etjkINaE0c
|
||||
JdDX25lXPXStWwoSWp1/WmgMeb3SDI8Z/OyiGyVF6mI
|
||||
-> ssh-ed25519 AQhf1g pNMD0U938a14qqiMUFxTw8073SNF25IDJfjXGm7q9Ss
|
||||
Yuf5Z6AoHW9uj5hOWSc5eirqP+xH9wbuwknqh2JW4K0
|
||||
-> ssh-ed25519 B8wa7Q KXIt7sQKcZpSnKbs30fT5ybgBwFghhmM/Ov8OjQsfxE
|
||||
BtZysD+2DVUcivWXnJdlW4Y2pLCoXLF7jP4IGj12Xo8
|
||||
-> ssh-ed25519 8UnW5Q nLn5gfsYNAxDl8GatHyEyQMhpy+A5XvykowBYlVbPQ8
|
||||
w+XlgXrE0KcfDWZC+ya0tnyDXshDw582B803CItqLFc
|
||||
-> ssh-ed25519 0/WsKg TbGuq0eETh1mVmsqtqkvhCiXAliz5WS7iqQ+OY01nXY
|
||||
GTXIQZf44Sjg4mVxQtD7+VOSx1eAOIr0gBxhAjMXK5U
|
||||
-> ssh-ed25519 Nl/5yA fjC2SY379C5o9jBUetLXQApy00YVEa4A7Jr61yoCI0U
|
||||
/350ThLM1JCvg1E8kJib2ESP9nXRUI5QqTTun0QQtO4
|
||||
-> ssh-ed25519 GdLgCQ H7g+SuknwgOy8PDEwK8UqrNG82ZoLisCSSFTxaNS1EU
|
||||
JVd1nDmgTSZ6oLdnp29Qlor39RHZN1q+hPEJl1RSw5s
|
||||
-> ssh-ed25519 tOH/HQ PFuIUIqN8K9GoLsLOIdRHaFj5KclCuwGoRSoyH9WRHQ
|
||||
fkQNV36OpzgiufqmTyJYHsNlfa6THDrDzvVyaVVrtzI
|
||||
-> ssh-ed25519 FpzvfQ +HL0H1U9HYiMuyVjd9hosnTntjV3Bf8N/KhdfbZSgV4
|
||||
rd7CNDUSU5GYRVfuPy8aEVNdWAv1DektrVb+JES5vTk
|
||||
-> ssh-ed25519 kdPvzQ EsizsHpgHDbBWwDnRgPmSMy2Cmpvqpjd2wriSiW+xxg
|
||||
tGd9x8NQMMLaqYDFKWWfJvvdPyTS63OZOZGWqvfj1+I
|
||||
-> ssh-ed25519 onmXpg u4zMl21Un8YqsRaH4STYGbI53K364RJ9fMDCKmUcbCY
|
||||
XHtAV9Z9jpPPVYGOPq7/jS0ZiTy4E9As2Dv4fAJUSVM
|
||||
-> ssh-ed25519 CnhD0g 4VejzPLVJcGXdLQBY6/Fb4PKtrzvRpMltKBMjMM4UFk
|
||||
4IwAQAJxOZA3EYa816SbQeM61y2yV23fIDPe7w2wGUw
|
||||
-> ssh-ed25519 4ep2UA PTIWvjuv8m66h8E6+QZJKxEmZ4RyoI4qwiMMrYhVDS4
|
||||
/28djh64HqyGhdOKzwFEseIH8BYGljkcQScV6rBx/Yk
|
||||
--- UINMhgQK2hWVetzQg4cNYxksN4G+pOKGqvZ+Jl4Zl/k
|
||||
]á·Mƒ>;¹I9oæ�Z~/P*Tîö5sñÒ58åW–ùŽ”¤K
|
||||
g
|
||||
¡Ó7™ú<ôÀ&ËŽvªöL„³kQ=-“ÿµ³0aRôIã•Ekæ}lµ‡ýœxAJâÈ}–Jä`Ü
|
||||
/TÄl”Pv\SõûÎì|tÿžAH„‰ÑºGÝá‘Ý{P�ü‘@:3%HmÍ×c¹?d$ö€”µJ.C3ð‘ÖLõ©zZŒì’ÌÚ×qÀzNžEÕ‡‘¼Â¸
|
||||
ȹeü¸v7A�o…¥>euòsuÇ9êrào~ˆXyñVU^È6-ïÊŸ±‹„�2ÍÝJÄ,&ËF^Âìan—}3ªe¦bsÉÅy_^2&á{§–r “Î=Úq”ía<L-§N ²à¦É‘Ù2YFŒ2Ü–�Æ.ôèù”ßFá(ðØ…Èow*bøq"§ø,»e£‘@±èõwfĤ:zÈ(êý[
|
||||
añnݯG–¢_à¼Â"+.z÷?ß0À'›X6OŒ¾ªôÐÑ»Á¾ò7Vôv;\ g
|
||||
Binary file not shown.
Reference in New Issue
Block a user