diff --git a/letsencrypt/acme.nix b/letsencrypt/acme.nix index ea2467e..892e762 100644 --- a/letsencrypt/acme.nix +++ b/letsencrypt/acme.nix @@ -8,7 +8,10 @@ in }; security.acme = { acceptTerms = true; - email = "${cfg.username}@${cfg.domain}"; + defaults = { + email = "${cfg.username}@${cfg.domain}"; + server = if cfg.dns.useStagingACME then "https://acme-staging-v02.api.letsencrypt.org/directory" else "https://acme-v02.api.letsencrypt.org/directory"; + }; certs = lib.mkForce { "${cfg.domain}" = { domain = "*.${cfg.domain}"; diff --git a/variables-module.nix b/variables-module.nix index 1e1c01f..6fd24f9 100644 --- a/variables-module.nix +++ b/variables-module.nix @@ -90,6 +90,10 @@ in description = "DNS provider that was defined at the initial setup process. Default is ClOUDFLARE"; type = types.nullOr types.str; }; + useStagingACME = mkOption { + description = "Use staging ACME server. Default is false"; + type = types.nullOr types.bool; + }; }; backup = { bucket = mkOption { diff --git a/variables.nix b/variables.nix index bd7e3f0..d129077 100644 --- a/variables.nix +++ b/variables.nix @@ -20,6 +20,7 @@ in }; dns = { provider = lib.attrsets.attrByPath [ "dns" "provider" ] "CLOUDFLARE" jsonData; + useStagingACME = lib.attrsets.attrByPath [ "dns" "useStagingACME" ] false jsonData; }; backup = { bucket = lib.attrsets.attrByPath [ "backup" "bucket" ] (lib.attrsets.attrByPath [ "backblaze" "bucket" ] "" jsonData) jsonData;