diff --git a/machines/ci-runner/configuration.nix b/machines/ci-runner/configuration.nix index 2edd072..56544ec 100644 --- a/machines/ci-runner/configuration.nix +++ b/machines/ci-runner/configuration.nix @@ -2,8 +2,17 @@ # # SPDX-License-Identifier: AGPL-3.0-or-later -{ config, pkgs, ... }: - +{ config, lib, pkgs, ... }: +let + instances = { + personal = { + url = "https://git.sbruder.de"; + }; + codeberg = { + url = "https://codeberg.org"; + }; + }; +in { imports = [ ./hardware-configuration.nix @@ -18,18 +27,21 @@ system.stateVersion = "24.05"; - sops.secrets.forgejo-runner-token-personal = { - sopsFile = ./secrets.yaml; - }; + sops.secrets = lib.mapAttrs' + (name: _: lib.nameValuePair "forgejo-runner-token-${name}" { + sopsFile = ./secrets.yaml; + }) + instances; services.gitea-actions-runner = { package = pkgs.forgejo-runner; - instances = { - personal = { + instances = lib.mapAttrs + (name: cfg: { + inherit (cfg) url; + enable = true; name = "koyomi-vm"; - url = "https://git.sbruder.de"; - tokenFile = config.sops.secrets.forgejo-runner-token-personal.path; + tokenFile = config.sops.secrets."forgejo-runner-token-${name}".path; labels = [ "nix:host" ]; @@ -49,8 +61,8 @@ nodejs podman ]; - }; - }; + }) + instances; }; virtualisation = { diff --git a/machines/ci-runner/secrets.yaml b/machines/ci-runner/secrets.yaml index ed8eddd..fefd8b9 100644 --- a/machines/ci-runner/secrets.yaml +++ b/machines/ci-runner/secrets.yaml @@ -1,3 +1,4 @@ +forgejo-runner-token-codeberg: ENC[AES256_GCM,data:dOoTwNaXUDrkE5qUldDMI/SQt3mufCF4Aeua7jqvSFTXuB15rLgdbC99+7MlMTc=,iv:7jakhJ3gKWxN0ACG9MfkOeA/X2HnTKHXxMvLJ/b/9uM=,tag:i7uk5pjd5ALnQrH6F5WhZg==,type:str] forgejo-runner-token-personal: ENC[AES256_GCM,data:U2VmQW3mO+3lNBczxU5MmKjseCICXcu1q9g4xctrJMl7Hcau0Hfy2IT8YzaEnTo=,iv:IRf+5sTyx20cMyUCg8jffDiSIuNgVRySD7eqOlzzAXY=,tag:vLEo/E2VUZ4Uu/vTFDomUw==,type:str] sops: kms: [] @@ -5,8 +6,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-07-19T10:19:26Z" - mac: ENC[AES256_GCM,data:9btw7oa8ZNJYYW/TmsQYRMdW493PFV0oae/bp3r9mLZ8i272BJmvrsrLjuRTuyo9aMiE4DqtQ217723hMt+p7Q6WHqwgamlDU8PjZVCN3Q6t2dH7oZuTSq3bWxm4MQJH2fB77Bfk1M9YiUdNt4Lm/Mz1pxy8zLHCHWoLqN3XErI=,iv:JybjhZE0czAZhSByPGRJBnWwr/Y1y7D05G1WxiOgWh4=,tag:gT5qRCK+b2Gt7bG8jpl2VQ==,type:str] + lastmodified: "2024-07-31T15:26:48Z" + mac: ENC[AES256_GCM,data:qS+MsheUb+zsG5VuNqPAQz4QHDutltBQoY/qWWxSHpp5ty9O477mpsAGwP2okQJfrfbr5zfy9fUMOB/9GV3VWwhNfzmLSbSHM9f/0a1sgv7q2qsX3Z9HTyYoYJD1i9vfIX+AYCgeP7IlbPH/DOi5R6zYO34ETk1UqgSAtWjpu44=,iv:/oe5jlyzDTPZlNB0ToZpsJr/nwGU3QoGerHd7N4TjDY=,tag:U1R8PwdeWvViEhHJ04Un2w==,type:str] pgp: - created_at: "2024-07-19T10:09:12Z" enc: |-