Hi,

I use certificates from let's encrypt for my website and mail servers, and found that there was an issue with certificates generated by the certbot service in Guix: the generated private keys are world-readable (in a directory that cannot be accessed by anyone but root, so it's OK I guess). OpenSMTPD is not happy with that though, so I have to chmod the files every time. I came up with a variant of the deploy-hook that's presented in the manual, and I'd like to update the example with it. Here it is:

;; Find running nginx and reload its configuration (for certificates)
(define %my-deploy-hook
  (program-file
   "my-deploy-hook"
   #~(let* ((pid (call-with-input-file "/var/run/nginx/pid" read))
            (cert-dir (getenv "RENEWED_LINEAGE"))
            (privkey (string-append cert-dir "/privkey.pem")))
;; certbot private keys are world-readable by default, and smtpd complains
       ;; about that, refusing to start otherwise
       (chmod privkey #o600)
       (kill pid SIGHUP))))

What do you think?

Reply via email to