diff options
Diffstat (limited to 'src/org/euandre/queue.scm')
-rw-r--r-- | src/org/euandre/queue.scm | 174 |
1 files changed, 87 insertions, 87 deletions
diff --git a/src/org/euandre/queue.scm b/src/org/euandre/queue.scm index 6d4f450..fab13a9 100644 --- a/src/org/euandre/queue.scm +++ b/src/org/euandre/queue.scm @@ -126,37 +126,37 @@ internet-postfix-service-type - <dovecot2-configuration> - dovecot2-configuration - make-dovecot2-configuration - dovecot2-configuration? - - dovecot2-configuration-package - dovecot2-configuration-mail-location - dovecot2-configuration-raw-file - dovecot2-configuration-extra-content - dovecot2-configuration-config-dirname - dovecot2-configuration-config-filename - dovecot2-configuration-user - dovecot2-configuration-group - dovecot2-configuration-supplementary-groups - dovecot2-configuration-auth-worker-group - dovecot2-configuration-untrusted-user - dovecot2-configuration-untrusted-group - dovecot2-configuration-untrusted-supplementary-groups - dovecot2-configuration-base-dir - dovecot2-configuration-state-dir - dovecot2-configuration-hostname - dovecot2-configuration-run-in-container? - dovecot2-configuration-container-name - dovecot2-configuration-container-namespaces - dovecot2-configuration-extra-mappings - - dovecot2-etc-files - dovecot2-accounts - dovecot2-activation - dovecot2-shepherd-service - dovecot2-service-type)) + <dovecot-configuration> + dovecot-configuration + make-dovecot-configuration + dovecot-configuration? + + dovecot-configuration-package + dovecot-configuration-mail-location + dovecot-configuration-raw-file + dovecot-configuration-extra-content + dovecot-configuration-config-dirname + dovecot-configuration-config-filename + dovecot-configuration-user + dovecot-configuration-group + dovecot-configuration-supplementary-groups + dovecot-configuration-auth-worker-group + dovecot-configuration-untrusted-user + dovecot-configuration-untrusted-group + dovecot-configuration-untrusted-supplementary-groups + dovecot-configuration-base-dir + dovecot-configuration-state-dir + dovecot-configuration-hostname + dovecot-configuration-run-in-container? + dovecot-configuration-container-name + dovecot-configuration-container-namespaces + dovecot-configuration-extra-mappings + + dovecot-etc-files + dovecot-accounts + dovecot-activation + dovecot-shepherd-service + dovecot-service-type)) (use-package-modules admin check @@ -1462,33 +1462,33 @@ correctly."))) -(define-record-type* <dovecot2-configuration> - dovecot2-configuration - make-dovecot2-configuration - dovecot2-configuration? - (package dovecot2-configuration-package (default dovecotx)) - (mail-location dovecot2-configuration-mail-location (default "/var/mail/")) - (raw-file dovecot2-configuration-raw-file (default #f)) - (extra-content dovecot2-configuration-extra-content (default "")) - (config-dirname dovecot2-configuration-config-dirname (default "dovecot2")) - (config-filename dovecot2-configuration-config-filename (default "dovecot2.conf")) - (user dovecot2-configuration-user (default "dovecot2")) - (group dovecot2-configuration-group (default "dovecot2")) - (supplementary-groups dovecot2-configuration-supplementary-groups (default '())) - (auth-worker-group dovecot2-configuration-auth-worker-group (default "etc-shadow")) - (untrusted-user dovecot2-configuration-untrusted-user (default "dovenull")) - (untrusted-group dovecot2-configuration-untrusted-group (default "dovenull")) - (untrusted-supplementary-groups dovecot2-configuration-untrusted-supplementary-groups (default '())) - (base-dir dovecot2-configuration-base-dir (default "/var/run/dovecot2")) - (state-dir dovecot2-configuration-state-dir (default "/var/lib/dovecot2")) - (hostname dovecot2-configuration-hostname (default (gethostname))) - (run-in-container? dovecot2-configuration-run-in-container? (default #f)) - (container-name dovecot2-configuration-container-name (default "dovecot2")) - (container-namespaces dovecot2-configuration-container-namespaces (default (s1:fold delq container:%namespaces '(net)))) - (extra-mappings dovecot2-configuration-extra-mappings (default '()))) - -(define (generate-dovecot2-config config) - (match-record config <dovecot2-configuration> +(define-record-type* <dovecot-configuration> + dovecot-configuration + make-dovecot-configuration + dovecot-configuration? + (package dovecot-configuration-package (default dovecotx)) + (mail-location dovecot-configuration-mail-location (default "/var/mail/")) + (raw-file dovecot-configuration-raw-file (default #f)) + (extra-content dovecot-configuration-extra-content (default "")) + (config-dirname dovecot-configuration-config-dirname (default "dovecot")) + (config-filename dovecot-configuration-config-filename (default "dovecot.conf")) + (user dovecot-configuration-user (default "dovecot")) + (group dovecot-configuration-group (default "dovecot")) + (supplementary-groups dovecot-configuration-supplementary-groups (default '())) + (auth-worker-group dovecot-configuration-auth-worker-group (default "etc-shadow")) + (untrusted-user dovecot-configuration-untrusted-user (default "dovenull")) + (untrusted-group dovecot-configuration-untrusted-group (default "dovenull")) + (untrusted-supplementary-groups dovecot-configuration-untrusted-supplementary-groups (default '())) + (base-dir dovecot-configuration-base-dir (default "/var/run/dovecot")) + (state-dir dovecot-configuration-state-dir (default "/var/lib/dovecot")) + (hostname dovecot-configuration-hostname (default (gethostname))) + (run-in-container? dovecot-configuration-run-in-container? (default #f)) + (container-name dovecot-configuration-container-name (default "dovecot")) + (container-namespaces dovecot-configuration-container-namespaces (default (s1:fold delq container:%namespaces '(net)))) + (extra-mappings dovecot-configuration-extra-mappings (default '()))) + +(define (generate-dovecot-config config) + (match-record config <dovecot-configuration> (mail-location user group auth-worker-group untrusted-user hostname base-dir state-dir extra-content) (format #f @@ -1560,18 +1560,18 @@ namespace inbox { mail-location extra-content))) -(define (dovecot2-etc-files config) - (match-record config <dovecot2-configuration> +(define (dovecot-etc-files config) + (match-record config <dovecot-configuration> (raw-file config-dirname config-filename) `((,config-dirname ,(file-union config-dirname `((,config-filename ,(plain-file config-filename (or raw-file - (generate-dovecot2-config config)))))))))) + (generate-dovecot-config config)))))))))) -(define (dovecot2-accounts config) - (match-record config <dovecot2-configuration> +(define (dovecot-accounts config) + (match-record config <dovecot-configuration> ( user group supplementary-groups untrusted-user untrusted-group untrusted-supplementary-groups) (list @@ -1579,7 +1579,7 @@ namespace inbox { (name user) (group group) (supplementary-groups supplementary-groups) - (comment "Dovecot2 system user") + (comment "Dovecot system user") (home-directory "/var/empty") (create-home-directory? #f) (shell @@ -1589,7 +1589,7 @@ namespace inbox { (name untrusted-user) (group untrusted-group) (supplementary-groups untrusted-supplementary-groups) - (comment "Dovecot2 user for untrusted logins") + (comment "Dovecot user for untrusted logins") (home-directory "/var/empty") (create-home-directory? #f) (shell @@ -1602,15 +1602,15 @@ namespace inbox { (name untrusted-group) (system? #t))))) -(define (dovecot2-activation config) - (match-record config <dovecot2-configuration> +(define (dovecot-activation config) + (match-record config <dovecot-configuration> (base-dir state-dir) #~(begin (use-modules (guix build utils)) (let ((user (getpwnam "root")) (dhparam.pem (string-append #$state-dir "/dhparam.pem"))) (format (current-error-port) - "Creating Dovecot2 base_dir directory: \"~a\".~%" #$base-dir) + "Creating Dovecot base_dir directory: \"~a\".~%" #$base-dir) (mkdir-p/perms #$base-dir user #o755) (mkdir-p/perms #$state-dir user #o755) (unless (file-exists? dhparam.pem) @@ -1625,8 +1625,8 @@ namespace inbox { (format (current-error-port) "Failed to create dhparam.pem file: \"~a\".~%" dhparam.pem)))))))) -(define (dovecot2-shepherd-service config) - (match-record config <dovecot2-configuration> +(define (dovecot-shepherd-service config) + (match-record config <dovecot-configuration> (package config-dirname config-filename run-in-container? container-name container-namespaces extra-mappings) (let* ((config-file (string-append "/etc/" config-dirname "/" config-filename)) @@ -1645,8 +1645,8 @@ namespace inbox { extra-mappings))))) (list (shepherd-service - (provision '(dovecot2)) - (documentation "Run the Dovecot2 daemon.") + (provision '(dovecot)) + (documentation "Run the Dovecot daemon.") (start #~(make-forkexec-constructor (list #$cmd "-F" "-c" #$config-file))) (stop #~(make-kill-destructor)) @@ -1660,7 +1660,7 @@ namespace inbox { (format #t "~a~%" #$config-file)))) (shepherd-action (name 'reload) - (documentation "Re-read the configuration file without restarting the running dovecot2 daemon.") + (documentation "Re-read the configuration file without restarting the running dovecot daemon.") (procedure #~(lambda _ (invoke #$(file-append package "/bin/doveadm") @@ -1668,32 +1668,32 @@ namespace inbox { #$config-file "reload"))))))))))) -(define dovecot2-service-type +(define dovecot-service-type (service-type - (name 'dovecot2) + (name 'dovecot) (extensions (list (service-extension etc-service-type - dovecot2-etc-files) + dovecot-etc-files) (service-extension account-service-type - dovecot2-accounts) + dovecot-accounts) (service-extension activation-service-type - dovecot2-activation) + dovecot-activation) (service-extension profile-service-type - (compose list dovecot2-configuration-package)) + (compose list dovecot-configuration-package)) (service-extension shepherd-root-service-type - dovecot2-shepherd-service))) - (default-value (dovecot2-configuration)) - (description "Run the Dovecot2 IMAP @code{dovecot2} daemon. + dovecot-shepherd-service))) + (default-value (dovecot-configuration)) + (description "Run the Dovecot IMAP @code{dovecot} daemon. -This is the top-level system service for Dovecot2, using the UNIX password stored +This is the top-level system service for Dovecot, using the UNIX password stored at @file{/etc/shadow} for authenticating IMAP connections. It includes: @itemize -@item creating the configuration file at @file{/etc/dovecot2/dovecot2.conf} by +@item creating the configuration file at @file{/etc/dovecot/dovecot.conf} by default; -@item the user and groups used by Dovecot2 both system and untrusted users; +@item the user and groups used by Dovecot both system and untrusted users; @item the activation script for creating the required directories and the @file{dhparam.pem} file if it is missing; @item the Shepherd service for starting, stopping and @emph{reloading} the @@ -1706,9 +1706,9 @@ An extension to the log-rotation service isn't included: the default rottlog configuration already includes @file{/var/log/maillog} in its routine, so it is kept out. -The defaults of @code{<dovecot2-configuration>} provides sane default values for +The defaults of @code{<dovecot-configuration>} provides sane default values for most things, such as group names, data and mail directories, etc. When used -as-is, it creates a Dovecot2 server that and serve and authenticate IMAP +as-is, it creates a Dovecot server that and serve and authenticate IMAP connections correctly."))) |