summaryrefslogtreecommitdiff
path: root/modules/nixos/traits/hercules.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/traits/hercules.nix')
-rw-r--r--modules/nixos/traits/hercules.nix53
1 files changed, 0 insertions, 53 deletions
diff --git a/modules/nixos/traits/hercules.nix b/modules/nixos/traits/hercules.nix
deleted file mode 100644
index 14e8c12..0000000
--- a/modules/nixos/traits/hercules.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- config,
- lib,
- unstable,
- secretsDir,
- ...
-}: let
- cfg = config.traits.hercules-ci;
-in {
- options.traits.hercules-ci = {
- enable = lib.mkEnableOption "hercules-ci";
- manageSecrets =
- lib.mkEnableOption "automatic secrets management"
- // {
- default = config.traits.secrets.enable;
- };
- };
-
- config = lib.mkIf cfg.enable (
- lib.mkMerge [
- {
- services.hercules-ci-agent = {
- enable = true;
- package = unstable.hercules-ci-agent;
- };
- }
-
- (let
- secretNames = [
- "binaryCaches"
- "clusterJoinToken"
- "secretsJson"
- ];
- in
- lib.mkIf cfg.manageSecrets {
- age.secrets = lib.genAttrs secretNames (
- file: {
- file = "${secretsDir}/${file}.age";
- mode = "400";
- owner = "hercules-ci-agent";
- group = "hercules-ci-agent";
- }
- );
-
- services.hercules-ci-agent = {
- settings = lib.mapAttrs' (name: lib.nameValuePair (name + "Path")) (
- lib.genAttrs secretNames (name: config.age.secrets.${name}.path)
- );
- };
- })
- ]
- );
-}