From 03c5e14e01c3615ad9510473a62fb348943e7618 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Mon, 30 Dec 2024 18:47:38 +0100 Subject: [PATCH 1/2] clanModules: fix dyndns porkbun support --- clanModules/dyndns/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clanModules/dyndns/default.nix b/clanModules/dyndns/default.nix index 71856e48d..f22fda632 100644 --- a/clanModules/dyndns/default.nix +++ b/clanModules/dyndns/default.nix @@ -1,4 +1,5 @@ { + inputs, config, pkgs, lib, @@ -102,6 +103,7 @@ in "password" "token" "api_key" + "secret_api_key" ]; default = "password"; description = "The field name for the secret"; @@ -126,7 +128,8 @@ in }; imports = [ - ../nginx + #../nginx + inputs.clan-core.clanModules.nginx ]; config = lib.mkMerge [ @@ -197,6 +200,8 @@ in attrset['password'] = get_credential(attrset['password']) elif "token" in attrset: attrset['token'] = get_credential(attrset['token']) + elif "secret_api_key" in attrset: + attrset['secret_api_key'] = get_credential(attrset['secret_api_key']) elif "api_key" in attrset: attrset['api_key'] = get_credential(attrset['api_key']) else: From a67beea34a9f3ef61312b056f7c9fa14e7933ce4 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Mon, 30 Dec 2024 19:27:46 +0100 Subject: [PATCH 2/2] clanModules: migrate dyndns to vars. --- clanModules/dyndns/default.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/clanModules/dyndns/default.nix b/clanModules/dyndns/default.nix index f22fda632..7e3e5d4ed 100644 --- a/clanModules/dyndns/default.nix +++ b/clanModules/dyndns/default.nix @@ -1,5 +1,4 @@ { - inputs, config, pkgs, lib, @@ -13,7 +12,7 @@ let # We dedup secrets if they have the same provider + base domain secret_id = opt: "${name}-${opt.provider}-${opt.domain}"; secret_path = - opt: config.clan.core.facts.services."${secret_id opt}".secret."${secret_id opt}".path; + opt: config.clan.core.vars.generators."${secret_id opt}".files."${secret_id opt}".path; # We check that a secret has not been set in extraSettings. extraSettingsSafe = @@ -49,11 +48,12 @@ let secret_generator = _: opt: { name = secret_id opt; value = { - secret.${secret_id opt} = { }; - generator.prompt = "Dyndns passphrase for ${secret_id opt}"; - generator.script = '' - echo "$prompt_value" > $secrets/${secret_id opt} - ''; + share = true; + migrateFact = "${secret_id opt}"; + prompts.${secret_id opt} = { + type = "hidden"; + createFile = true; + }; }; }; in @@ -128,13 +128,12 @@ in }; imports = [ - #../nginx - inputs.clan-core.clanModules.nginx + ../nginx ]; config = lib.mkMerge [ (lib.mkIf (cfg.settings != { }) { - clan.core.facts.services = lib.mapAttrs' secret_generator cfg.settings; + clan.core.vars.generators = lib.mapAttrs' secret_generator cfg.settings; users.groups.${name} = { }; users.users.${name} = {