diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2022-08-09 11:23:00 +0300 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2022-08-09 11:23:00 +0300 |
commit | c1f62e9827efe7c8e303e3cfa70dac8f544312b1 (patch) | |
tree | d20ff0f367804bc87996c6312cebe2fa57b5bd4c /hosts/surtr/tls | |
parent | de66ba821b2851cb23bcc7b064e84de3dd848e26 (diff) | |
download | nixos-c1f62e9827efe7c8e303e3cfa70dac8f544312b1.tar nixos-c1f62e9827efe7c8e303e3cfa70dac8f544312b1.tar.gz nixos-c1f62e9827efe7c8e303e3cfa70dac8f544312b1.tar.bz2 nixos-c1f62e9827efe7c8e303e3cfa70dac8f544312b1.tar.xz nixos-c1f62e9827efe7c8e303e3cfa70dac8f544312b1.zip |
...
Diffstat (limited to 'hosts/surtr/tls')
-rw-r--r-- | hosts/surtr/tls/default.nix | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/hosts/surtr/tls/default.nix b/hosts/surtr/tls/default.nix index 0f3a7fec..9b1fd1f3 100644 --- a/hosts/surtr/tls/default.nix +++ b/hosts/surtr/tls/default.nix | |||
@@ -59,22 +59,19 @@ in { | |||
59 | let | 59 | let |
60 | domainAttrset = domain: let | 60 | domainAttrset = domain: let |
61 | tsigPath = ./tsig_keys + "/${domain}"; | 61 | tsigPath = ./tsig_keys + "/${domain}"; |
62 | tsigSecret = config.sops.secrets.${tsigSecretName domain}; | ||
63 | isTsig = pathExists tsigPath; | 62 | isTsig = pathExists tsigPath; |
64 | shared = { | 63 | shared = { |
65 | inherit domain; | 64 | inherit domain; |
66 | extraDomainNames = optional cfg.domains.${domain}.wildcard "*.${domain}"; | 65 | extraDomainNames = optional cfg.domains.${domain}.wildcard "*.${domain}"; |
67 | dnsResolver = "127.0.0.1:5353"; | 66 | dnsResolver = "127.0.0.1:5353"; |
68 | }; | 67 | }; |
69 | mkRFC2136 = let | 68 | mkRFC2136 = shared // { |
70 | tsigInfo = readYaml tsigPath; | ||
71 | in shared // { | ||
72 | dnsProvider = "rfc2136"; | 69 | dnsProvider = "rfc2136"; |
73 | credentialsFile = pkgs.writeText "${domain}_credentials.env" '' | 70 | credentialsFile = pkgs.writeText "${domain}_credentials.env" '' |
74 | RFC2136_NAMESERVER=127.0.0.1:53 | 71 | RFC2136_NAMESERVER=127.0.0.1:53 |
75 | RFC2136_TSIG_ALGORITHM=hmac-sha256. | 72 | RFC2136_TSIG_ALGORITHM=hmac-sha256. |
76 | RFC2136_TSIG_KEY=${domain}_acme_key | 73 | RFC2136_TSIG_KEY=${domain}_acme_key |
77 | RFC2136_TSIG_SECRET_FILE=${tsigSecret.path} | 74 | RFC2136_TSIG_SECRET_FILE=/run/credentials/acme-${domain}.service/tsig_secret |
78 | RFC2136_TTL=0 | 75 | RFC2136_TTL=0 |
79 | RFC2136_PROPAGATION_TIMEOUT=60 | 76 | RFC2136_PROPAGATION_TIMEOUT=60 |
80 | RFC2136_POLLING_INTERVAL=2 | 77 | RFC2136_POLLING_INTERVAL=2 |
@@ -90,8 +87,6 @@ in { | |||
90 | if v == "regular" || v == "symlink" | 87 | if v == "regular" || v == "symlink" |
91 | then nameValuePair (tsigSecretName n) { | 88 | then nameValuePair (tsigSecretName n) { |
92 | format = "binary"; | 89 | format = "binary"; |
93 | owner = if config.security.acme.useRoot then "root" else "acme"; | ||
94 | group = "acme"; | ||
95 | sopsFile = ./tsig_keys + "/${n}"; | 90 | sopsFile = ./tsig_keys + "/${n}"; |
96 | } else null; | 91 | } else null; |
97 | in mapFilterAttrs (_: v: v != null) toTSIGSecret (builtins.readDir ./tsig_keys); | 92 | in mapFilterAttrs (_: v: v != null) toTSIGSecret (builtins.readDir ./tsig_keys); |
@@ -101,11 +96,7 @@ in { | |||
101 | serviceAttrset = domain: { | 96 | serviceAttrset = domain: { |
102 | after = [ "knot.service" ]; | 97 | after = [ "knot.service" ]; |
103 | bindsTo = [ "knot.service" ]; | 98 | bindsTo = [ "knot.service" ]; |
104 | serviceConfig = { | 99 | serviceConfig.LoadCredential = ["tsig_secret:${config.sops.secrets.${tsigSecretName domain}.path}"]; |
105 | ReadWritePaths = ["/run/knot/knot.sock"]; | ||
106 | SupplementaryGroups = ["knot"]; | ||
107 | RestrictAddressFamilies = ["AF_UNIX"]; | ||
108 | }; | ||
109 | }; | 100 | }; |
110 | in mapAttrs' (domain: nameValuePair "acme-${domain}") (genAttrs (attrNames config.security.acme.certs) serviceAttrset); | 101 | in mapAttrs' (domain: nameValuePair "acme-${domain}") (genAttrs (attrNames config.security.acme.certs) serviceAttrset); |
111 | 102 | ||