From 9ade8f6eb774dc7d19d82a070199b5024786b819 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 17 May 2019 01:43:18 +0200 Subject: [PATCH] Use acme directory config rather than hardcoding the value --- modules/private/databases/mariadb.nix | 4 ++-- modules/private/databases/openldap/default.nix | 6 +++--- modules/private/databases/postgresql.nix | 4 ++-- modules/websites/default.nix | 8 ++++---- nixops/modules/certificates.nix | 14 +++++++------- nixops/modules/ftp.nix | 2 +- nixops/modules/irc.nix | 2 +- nixops/modules/task/default.nix | 6 +++--- nixops/modules/websites/default.nix | 2 +- 9 files changed, 24 insertions(+), 24 deletions(-) diff --git a/modules/private/databases/mariadb.nix b/modules/private/databases/mariadb.nix index 21f4359..cc99c3c 100644 --- a/modules/private/databases/mariadb.nix +++ b/modules/private/databases/mariadb.nix @@ -54,8 +54,8 @@ in { dataDir = cfg.dataDir; extraOptions = '' ssl_ca = ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt - ssl_key = /var/lib/acme/mysql/key.pem - ssl_cert = /var/lib/acme/mysql/fullchain.pem + ssl_key = ${config.security.acme.directory}/mysql/key.pem + ssl_cert = ${config.security.acme.directory}/mysql/fullchain.pem ''; }; diff --git a/modules/private/databases/openldap/default.nix b/modules/private/databases/openldap/default.nix index 850f3ff..46f85d2 100644 --- a/modules/private/databases/openldap/default.nix +++ b/modules/private/databases/openldap/default.nix @@ -33,9 +33,9 @@ let directory ${cfg.dataDir} overlay memberof - TLSCertificateFile /var/lib/acme/ldap/cert.pem - TLSCertificateKeyFile /var/lib/acme/ldap/key.pem - TLSCACertificateFile /var/lib/acme/ldap/fullchain.pem + TLSCertificateFile ${config.security.acme.directory}/ldap/cert.pem + TLSCertificateKeyFile ${config.security.acme.directory}/ldap/key.pem + TLSCACertificateFile ${config.security.acme.directory}/ldap/fullchain.pem TLSCACertificatePath ${pkgs.cacert.unbundled}/etc/ssl/certs/ #This makes openldap crash #TLSCipherSuite DEFAULT diff --git a/modules/private/databases/postgresql.nix b/modules/private/databases/postgresql.nix index 26242a8..8c36d84 100644 --- a/modules/private/databases/postgresql.nix +++ b/modules/private/databases/postgresql.nix @@ -73,8 +73,8 @@ in { lc_time = 'en_US.UTF-8' default_text_search_config = 'pg_catalog.english' ssl = on - ssl_cert_file = '/var/lib/acme/postgresql/fullchain.pem' - ssl_key_file = '/var/lib/acme/postgresql/key.pem' + ssl_cert_file = '${config.security.acme.directory}/postgresql/fullchain.pem' + ssl_key_file = '${config.security.acme.directory}/postgresql/key.pem' ''; authentication = '' local all postgres ident diff --git a/modules/websites/default.nix b/modules/websites/default.nix index b76aeea..e57f505 100644 --- a/modules/websites/default.nix +++ b/modules/websites/default.nix @@ -102,7 +102,7 @@ in serverAliases = [ "*" ]; enableSSL = false; logFormat = "combinedVhost"; - documentRoot = "/var/lib/acme/acme-challenge"; + documentRoot = "${config.security.acme.directory}/acme-challenge"; extraConfig = '' RewriteEngine on RewriteCond "%{REQUEST_URI}" "!^/\.well-known" @@ -131,9 +131,9 @@ in }; toVhost = ips: vhostConf: { enableSSL = true; - sslServerCert = "/var/lib/acme/${vhostConf.certName}/cert.pem"; - sslServerKey = "/var/lib/acme/${vhostConf.certName}/key.pem"; - sslServerChain = "/var/lib/acme/${vhostConf.certName}/chain.pem"; + sslServerCert = "${config.security.acme.directory}/${vhostConf.certName}/cert.pem"; + sslServerKey = "${config.security.acme.directory}/${vhostConf.certName}/key.pem"; + sslServerChain = "${config.security.acme.directory}/${vhostConf.certName}/chain.pem"; logFormat = "combinedVhost"; listen = map (ip: { inherit ip; port = 443; }) ips; hostName = builtins.head vhostConf.hosts; diff --git a/nixops/modules/certificates.nix b/nixops/modules/certificates.nix index 9a9974e..72896fd 100644 --- a/nixops/modules/certificates.nix +++ b/nixops/modules/certificates.nix @@ -3,7 +3,7 @@ options.services.myCertificates = { certConfig = lib.mkOption { default = { - webroot = "/var/lib/acme/acme-challenge"; + webroot = "${config.security.acme.directory}/acme-challenge"; email = "ismael@bouya.org"; postRun = '' systemctl reload httpdTools.service httpdInte.service httpdProd.service @@ -29,14 +29,14 @@ systemd.services = lib.attrsets.mapAttrs' (k: v: lib.attrsets.nameValuePair "acme-selfsigned-${k}" (lib.mkBefore { script = (lib.optionalString (builtins.elem "cert.pem" v.plugins) '' - cp $workdir/server.crt /var/lib/acme/${k}/cert.pem - chown '${v.user}:${v.group}' /var/lib/acme/${k}/cert.pem - chmod ${if v.allowKeysForGroup then "750" else "700"} /var/lib/acme/${k}/cert.pem + cp $workdir/server.crt ${config.security.acme.directory}/${k}/cert.pem + chown '${v.user}:${v.group}' ${config.security.acme.directory}/${k}/cert.pem + chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.directory}/${k}/cert.pem '') + (lib.optionalString (builtins.elem "chain.pem" v.plugins) '' - cp $workdir/ca.crt /var/lib/acme/${k}/chain.pem - chown '${v.user}:${v.group}' /var/lib/acme/${k}/chain.pem - chmod ${if v.allowKeysForGroup then "750" else "700"} /var/lib/acme/${k}/chain.pem + cp $workdir/ca.crt ${config.security.acme.directory}/${k}/chain.pem + chown '${v.user}:${v.group}' ${config.security.acme.directory}/${k}/chain.pem + chmod ${if v.allowKeysForGroup then "750" else "700"} ${config.security.acme.directory}/${k}/chain.pem '') ; }) ) config.security.acme.certs // { diff --git a/nixops/modules/ftp.nix b/nixops/modules/ftp.nix index 871e9ef..842d2d6 100644 --- a/nixops/modules/ftp.nix +++ b/nixops/modules/ftp.nix @@ -102,7 +102,7 @@ MaxDiskUsage 99 CustomerProof yes TLS 1 - CertFile /var/lib/acme/ftp/full.pem + CertFile ${config.security.acme.directory}/ftp/full.pem ''; in { description = "Pure-FTPd server"; diff --git a/nixops/modules/irc.nix b/nixops/modules/irc.nix index a4f6f93..363bfef 100644 --- a/nixops/modules/irc.nix +++ b/nixops/modules/irc.nix @@ -40,7 +40,7 @@ bitlbee = { accept = 6697; connect = 6667; - cert = "/var/lib/acme/irc/full.pem"; + cert = "${config.security.acme.directory}/irc/full.pem"; }; }; }; diff --git a/nixops/modules/task/default.nix b/nixops/modules/task/default.nix index 426aa68..e1c933f 100644 --- a/nixops/modules/task/default.nix +++ b/nixops/modules/task/default.nix @@ -236,9 +236,9 @@ in { inherit fqdn; listenHost = "::"; pki.manual.ca.cert = "${server_vardir}/keys/ca.cert"; - pki.manual.server.cert = "/var/lib/acme/task/fullchain.pem"; - pki.manual.server.crl = "/var/lib/acme/task/invalid.crl"; - pki.manual.server.key = "/var/lib/acme/task/key.pem"; + pki.manual.server.cert = "${config.security.acme.directory}/task/fullchain.pem"; + pki.manual.server.crl = "${config.security.acme.directory}/task/invalid.crl"; + pki.manual.server.key = "${config.security.acme.directory}/task/key.pem"; requestLimit = 104857600; }; diff --git a/nixops/modules/websites/default.nix b/nixops/modules/websites/default.nix index 5b839af..432ad3c 100644 --- a/nixops/modules/websites/default.nix +++ b/nixops/modules/websites/default.nix @@ -179,7 +179,7 @@ in system.activationScripts = { httpd = '' - install -d -m 0755 /var/lib/acme/acme-challenge + install -d -m 0755 ${config.security.acme.directory}/acme-challenge install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions/adminer install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/tmp/adminer -- 2.41.0