diff --git a/.gitea/workflows/hydra-callback.yml b/.gitea/workflows/hydra-callback.yml index 4ac0d44..9e96223 100644 --- a/.gitea/workflows/hydra-callback.yml +++ b/.gitea/workflows/hydra-callback.yml @@ -60,4 +60,4 @@ jobs: timeout-minutes: 200 run: | echo "Running now @ master" - nix run nixpkgs#hydra-cli -- -H https://hydra.malobeo.org jobset-wait malobeo master \ No newline at end of file + nix run nixpkgs#hydra-cli -- -H https://hydra.malobeo.org jobset-wait malobeo master diff --git a/machines/albert/configuration.nix b/machines/albert/configuration.nix index cca7e9f..a202102 100644 --- a/machines/albert/configuration.nix +++ b/machines/albert/configuration.nix @@ -27,6 +27,7 @@ in inputs.self.nixosModules.malobeo.users inputs.self.nixosModules.malobeo.backup ./hydra.nix + ./gitea_runner.nix ]; virtualisation.vmVariantWithDisko = { diff --git a/machines/albert/dummy.yaml b/machines/albert/dummy.yaml new file mode 100644 index 0000000..81ae58d --- /dev/null +++ b/machines/albert/dummy.yaml @@ -0,0 +1,67 @@ +wg_private: ENC[AES256_GCM,data:yHkjJjW/I/5mFJuMQR0XpoMqPDt9b/ZZRmLiqJjug31p5aV6AC7Pk7bhNN8=,iv:OjRVJCCO0WTUSd6w5oeZbEeilcffJQOOrudIkss9VaE=,tag:t5N0tNjrfM8/pKbJMMDEig==,type:str] +gitea_token: ENC[AES256_GCM,data:+zHmfVfdheo4KzOBjDr8WNcJh78ReZ7CWiiG9fAcXpQw21yWb4/jq3RqqIenB2p1EEtF0OlSUr3lu478gEBmxlilBCpEaEzNJKfOFL77P66OYLo7RJkp3TE0sILDCaVwGDkCWQKd05zqJzbb5opHE5B0NUf9dOgs8CuYZPelrTzGsTfWjdZWxweSrOcFtsGLJcR0hLd9obAuqOxi2vID2YY/uIguGEhZYHshTlZSzMTg+8k2UCe/x+LOitCkLqFJfS5b+1HJpD6R1dKsVKtSjXtzLHzfIMy28xYvqgIju0JtUA==,iv:Kah6BYvKCe06/yHBICp2YOdJfSqktNrZl5kKYgs/AY0=,tag:3B+g6zqW7vcT1t/wfmYfUg==,type:str] +cache_priv: ENC[AES256_GCM,data:CpxYGSSdSZoULqH/AJdaYWiuAgI8Spuf/lod8x5bFEnFB2KlRFp7vBjwwRzxykurbezP2/c938NL2WxI+sDw7UV6LAG+E5KmYxXQpOJZgIPx3YcEidyp5HWq628lf1k=,iv:t7BFA4IM6eFl+Uuq7k7OR26+wHVKbvWi+yV0xg2xFGs=,tag:9hpxyjEUnbOz1NFc2JctEA==,type:str] +gitea_runner_token: ENC[AES256_GCM,data:wUHExAD2tf1bKc3W3GXHcPg6WS8OqQK7efcR4SBMSQnSIo/E32lo9w==,iv:P9JouWGa8c4NNTua2OhqJzjjj37mLmkYmJ+c4mogH20=,tag:dLR06+PBBl1SodaLH7ElqQ==,type:str] +sops: + age: + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMRnE5OFQwdlV1bTJwdmZ0 + Q2pLVGcyOXlILy9selVYeERGcFFyenRrcVRVClNaMWRPNllHS0ZEYlkvaUp2di9N + cDNuY2syKzZ5WTlKTndXQnMyQkp2RGsKLS0tIEVGYVcxUTU1NVhFZnBsR1Z3RDNH + RTJscHI0SmtUTzA3R3JkYTBZRUxlL3MKzEajq1IEBOjiF431vtkqnT3VWC2D+vGW + C5dTc/stQ0PXvfuTlRTKKTBlaSdnwBu/pKQ5/QtqwKee2Z3nxySziQ== + -----END AGE ENCRYPTED FILE----- + recipient: age18jn5mrfs4gqrnv0e2sxsgh3kq4sgxx39hwr8z7mz9kt7wlgaasjqlr88ng + - enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGaVNOSHZvSmJ0ZFhSVVhs + Z3ZvTU9jRytLaUJwd3VCZ0NJb3NGRzE1MVFvCnRYaTI2MHJRZnhhZjBmZkdqMTQ3 + Rkh2WDVoUHZCY0Z2YlFlakVKTzUxUm8KLS0tIENjVXlxcWRjRXVjVFBNMVJSeTNs + YXU5TEpNeE9oMTZpbW10ekU3Z09EbEEKYr5TMIs9KmrHZqhhc6GZx6tM78XOXYAq + PffqNVDxsFbxAUK7dd5WPw++dE4W1gwRxI+sSPQ2H8ZvjqB8ff3TYw== + -----END AGE ENCRYPTED FILE----- + recipient: age1ljpdczmg5ctqyeezn739hv589fwhssjjnuqf7276fqun6kc62v3qmhkd0c + lastmodified: "2026-09-11T11:23:55Z" + mac: ENC[AES256_GCM,data:swEaZC/CLOdrjDSEYsaWBnl7cew01eUraa4ORkJljlqKusr0BdYFozjR3Rxc66JWRChc4bP0ckeDhU6AOiXk4k4zL8CJ3S4eY3111z36xjZXY9LXxMVn0oTx+3SrD6pOttTxZUkcdogRsi/jOsMPoTgSQN5OwvV8RTLF5waxU4I=,iv:ISZk4qsmmy4RYy1cxjpE/vbcCp6UoArtOqzd1ePYL0c=,tag:N68qZyHsiOFkfNM7e+t2zQ==,type:str] + pgp: + - created_at: "2026-09-11T11:23:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQGMA5HdvEwzh/H7AQv8D1hDUkuvip430Qe/djdEP6N26XQkqcZVfuzdhgQOwdTC + N1ou9MPJ0D0gIk72uYExHGDTwhvOEBTMuDk+te9foffcj6MHzUUpqI+TKsjV/PeY + Xpj9YGNjmGI7hz0ERyALMDpfFbkLPIDP3LwbxM+UFpe0weGoxfROVFWlFnXi6Rrg + MoFgDOUD9Ku7v9dkMkMcmoZULAozf5fcVMFe1mpByEh9LuATQRkuAO7Uf6nH46Qa + n7rMm04CNdBtmVSEPsU3CZ4C9+kyOzH1xwynb6MVDnY3j6sUGr3Seu7nCfMPDjmU + l2wcv4THJbUU+0gM9+Y3zSZlRYa0xe05D8CfpASnZ4FamFZOwuAJAgiKc8y3DEp6 + kQMK76ncZQLhOIS//1tXkD3iIeLgr6D7VCjP23IaOV/7cakmqL7mbCdA6es9tXBm + 7Hy0p7xkSVpJrxiV3NbiN84MILxpJey/usq9VEBUf3oRtVBHt3uxVnL33Txc7PRg + JimkwsrGi9JV1YiF3Y1Q0lgBxOYufbPdYJ9n5Ki/unD1AJI/WBm/ii2Kt5RY0L2X + JY3AguNG29wBBWJg4hyCq7fisI88TBJh6syUb91UHHMloOVe1Pk3Bb7oMWMgLl0g + YLU07kt67eaX + =xifQ + -----END PGP MESSAGE----- + fp: c4639370c41133a738f643a591ddbc4c3387f1fb + - created_at: "2026-09-11T11:23:21Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA98TrrsQEbXUARAApu96xR6Fy6Y0dAHzM9CjnFuSFLlUbU0yRWksHCFoo6XS + acRWL0pVlwCWt3sR+tjpd1tEvQZFspqq+UhDLlaz+qS2dpI0IkjNEbD/0uTTcqkn + 0wlKcvDdRGv5Mb2wjFp5Q0VBIDC2nRbK579IghaEIoRRN9j2VfksracmfrvEpuuL + 5rF4Uvpzc5VLQyf9hy53j9MXuiTfWv4xEPC3zfcbxeOKaXPKEVkc0e8QyNPes3Q2 + AefQBd+QRBSCDc9P6V5Xb2r+K52k6zWxpoeR1oyJbAv5c4NKWtKtdackIyPoLF4N + 9TtcidG2OTtuIqIAmSix23KVBgJB0nESSuUhy4f0YUUnGNWpu4TDGzB9BNmiob9K + 0fO/awGV87kYKPcjdj/XLgVB+zZ/5T7b3dL6tl4lpwMf69qzq0Io/CffnYpTItGJ + A/3G0rokjmicGSme5nNkZKXXwxNidaxvSOLXd+yAmInMcXacvO2WuA1CmCnU4Px/ + igA19i1GDc9OS1qGhIdrG14iUf1820DACdsPlg3jFEys7dpkGDIOiMAqo66OhX9Q + gYN4Dz2PaPSrTJl0rkBds1qiGI4TN6AKQlLlwkowx465lX8UsjvaYT4z7d2JWYN2 + VHMaeEBZvO688oFYA/wn/b+OHUkRIkL1oIeU2G5Pw9m5wQbgd8DMgvYZKe3rzrbS + WAGKWwzwHc4BjBzL1PxcwMchMfiZJ0Ltel5dcXHkHi7VV+O7dIQiseZwfHBbGyIa + uXogIDlqULSiRxw9oht3hVDS90uW2riMEoDcr47hh1oFaGBHoY7/kf8= + =+ckT + -----END PGP MESSAGE----- + fp: aef8d6c7e4761fc297cda833df13aebb1011b5d4 + unencrypted_suffix: _unencrypted + version: 3.13.1 diff --git a/machines/albert/gitea_runner.nix b/machines/albert/gitea_runner.nix new file mode 100644 index 0000000..6acc92c --- /dev/null +++ b/machines/albert/gitea_runner.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +let + mkRunner = runnerName: { + enable = true; + name = runnerName; + url = "https://git.dynamicdiscord.de/"; + tokenFile = config.sops.secrets.gitea_runner_token.path; + labels = [ + "ubuntu-latest:docker://node:latest" + ]; + + settings = { + runner = { + devices = [ "/dev/kvm" ]; + }; + }; + }; +in +{ + sops.secrets.gitea_runner_token = {}; + + virtualisation.docker.enable = true; + users.users.admin.extraGroups = [ "docker" ]; + + services.gitea-actions-runner.instances = { + albert01 = mkRunner "albert01"; + albert02 = mkRunner "albert02"; + }; +} + diff --git a/machines/albert/secrets.yaml b/machines/albert/secrets.yaml index 3eb4a26..55eb44d 100644 --- a/machines/albert/secrets.yaml +++ b/machines/albert/secrets.yaml @@ -1,6 +1,7 @@ wg_private: ENC[AES256_GCM,data:rSENHGEat9wre1bFcM3LYnlGjf9gmcE9FmeCySzbGZ4SCCUl5QLQN/quXw0=,iv:Bdwlk5UHSiyA9gSW91LUPJyBG50FG/hpwyClzTOUoUI=,tag:/Jw549R5Qmg4WblL7rUE8w==,type:str] gitea_token: ENC[AES256_GCM,data:1LevtPr5awIu2rcCGbLIsQA5QO0AhFk5Rep7RG28QdlFHDADCaEoS18pEEZ9NMYMZaGWIBA8Zq/NsCYxQGzuWh3TESZW7CO5kzCaSVG1aqjGpjfbeyG+xQEDtab2Owh+TVN/wVGUUDR1NBlWqE4Shw7mO228CWbxQRSQo3lsLhmf69fLEV1DDnH0Xt7Ml8tr7yLIeWHlG0BeOMKSkY17APahxqBx547Zw+kgaUW3WgTyxeWZaDjk/prK6bYV2euK4Il/4vTZE/x0mThmTThjszcAvdaon+V8y1Ax34gTyAgjvpFC2kE=,iv:1A8YNv/A0MEkGKV5Z9WPI4LwQFu2Z9BWuN2yfFHCPLI=,tag:hEfskDEAQiriXNjcYzziSg==,type:str] cache_priv: ENC[AES256_GCM,data:NbfyBv68UCWuSjbUu5lFUXPgG+vYrxbAQeD77YlklTRm6MVS4lAEjUzjnjewcX6Khca1N7r7vGieFyaBlQm0264KGTP5tc7BnEIKJDOD/UHQBdMpZgUzd2cKQWK7Kx0=,iv:6VWsZd/VDjQ/BhfwHZBcL3Zp0W/9sO/ZC9sF1Jnqguo=,tag:/gSe6TyaZDKoRFaRKiYyzw==,type:str] +gitea_runner_token: ENC[AES256_GCM,data:CLVJQkSB/b2yNmx+yMxbHt05TlJnAGypIDkGZly0ntvjPDEZk0l2Ng==,iv:QuPnTKibAsUO1Z4+jt2Q8WQfxRCoKdJ1iDrc+QTp2yY=,tag:AfXUV27DuQm85zzJdXWH4w==,type:str] sops: age: - enc: | @@ -21,8 +22,8 @@ sops: N6DSIVisJf7qNuNw6M0J5nny6xfWeIEZJettF0xSHM1gSfr7oUbHOQ== -----END AGE ENCRYPTED FILE----- recipient: age1mfarz0n7qfa7vg8zz355qf8eregm6myl38lld0h767nuvhgjqd4qruxuhn - lastmodified: "2026-08-26T17:31:59Z" - mac: ENC[AES256_GCM,data:G0Xpe7zJZh4xAwFRUXSbR11ENqRd4UoU7gFK3nDM7Icm9DMyqyi3uBfg1j0c8yTCInIrnyX1dy7zUWjns+OAbXv8CMLXVUPdomgCxX0zUWEkTzgQqnJy97KFAmPPPMCGTUby3TMVQkcrk5/iATmydSMhs0lKErS4737u9jen/3I=,iv:YB3BqypuvamDJy64FeaSUQBCAdlr7a9UWJDNhGsTRvo=,tag:lXc7heG+MRiUo+SfRcRDNg==,type:str] + lastmodified: "2026-09-11T11:22:54Z" + mac: ENC[AES256_GCM,data:lpaFsWXMdJCgsvZPG9BTbntyk1FbjiFySUEUyymbBAJttvTToJSSDG3YgcB1J80+K0Unap0/5V4XP49OvBInj+jEbmXGbYwK9ayfHQ/jIyzKfLFJFhvsMuWvo3++W17Txdw3X8g8F5YEhkxBzgeLtbT6IPwXEgFPb/YUEpnHh1Y=,iv:JYt+YHLhZaiShlTh1Ik3le4+pIz2/ioOznihj0XQFdE=,tag:8K+7fjPjfg1oBEpu5GXPQg==,type:str] pgp: - created_at: "2026-08-20T15:43:21Z" enc: |-