nixos/acme: rename option credentialsFile to environmentFile

datafoo ade414b6 5f105f87

Changed files
+11 -7
nixos
modules
security
tests
+2 -2
nixos/modules/security/acme/default.md
···
security.acme.certs."example.com" = {
domain = "*.example.com";
dnsProvider = "rfc2136";
-
credentialsFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};
···
security.acme.defaults.email = "admin+acme@example.com";
security.acme.defaults = {
dnsProvider = "rfc2136";
-
credentialsFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};
···
security.acme.certs."example.com" = {
domain = "*.example.com";
dnsProvider = "rfc2136";
+
environmentFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};
···
security.acme.defaults.email = "admin+acme@example.com";
security.acme.defaults = {
dnsProvider = "rfc2136";
+
environmentFile = "/var/lib/secrets/certs.secret";
# We don't need to wait for propagation since this is a local DNS server
dnsPropagationCheck = false;
};
+8 -4
nixos/modules/security/acme/default.nix
···
"/var/lib/acme/.lego/${cert}/${certDir}:/tmp/certificates"
];
-
# Only try loading the credentialsFile if the dns challenge is enabled
-
EnvironmentFile = mkIf useDns data.credentialsFile;
Environment = mkIf useDns
(mapAttrsToList (k: v: ''"${k}=%d/${k}"'') data.credentialFiles);
···
defaultText = if isDefaults then default else literalExpression "config.security.acme.defaults.${name}";
};
in {
options = {
validMinDays = mkOption {
type = types.int;
···
'';
};
-
credentialsFile = mkOption {
type = types.nullOr types.path;
-
inherit (defaultAndText "credentialsFile" null) default defaultText;
description = lib.mdDoc ''
Path to an EnvironmentFile for the cert's service containing any required and
optional environment variables for your selected dnsProvider.
···
"/var/lib/acme/.lego/${cert}/${certDir}:/tmp/certificates"
];
+
# Only try loading the environmentFile if the dns challenge is enabled
+
EnvironmentFile = mkIf useDns data.environmentFile;
Environment = mkIf useDns
(mapAttrsToList (k: v: ''"${k}=%d/${k}"'') data.credentialFiles);
···
defaultText = if isDefaults then default else literalExpression "config.security.acme.defaults.${name}";
};
in {
+
imports = [
+
(mkRenamedOptionModule [ "credentialsFile" ] [ "environmentFile" ])
+
];
+
options = {
validMinDays = mkOption {
type = types.int;
···
'';
};
+
environmentFile = mkOption {
type = types.nullOr types.path;
+
inherit (defaultAndText "environmentFile" null) default defaultText;
description = lib.mdDoc ''
Path to an EnvironmentFile for the cert's service containing any required and
optional environment variables for your selected dnsProvider.
+1 -1
nixos/tests/acme.nix
···
dnsConfig = nodes: {
dnsProvider = "exec";
dnsPropagationCheck = false;
-
credentialsFile = pkgs.writeText "wildcard.env" ''
EXEC_PATH=${dnsScript nodes}
EXEC_POLLING_INTERVAL=1
EXEC_PROPAGATION_TIMEOUT=1
···
dnsConfig = nodes: {
dnsProvider = "exec";
dnsPropagationCheck = false;
+
environmentFile = pkgs.writeText "wildcard.env" ''
EXEC_PATH=${dnsScript nodes}
EXEC_POLLING_INTERVAL=1
EXEC_PROPAGATION_TIMEOUT=1