(define-module (metznet machines ldap) #:use-module (gnu system) #:use-module (guix gexp) #:use-module (metznet system base-system) #:use-module (gnu packages slapd) #:use-module (gnu services) #:use-module (gnu services certbot) #:use-module (gnu services slapd) #:export (ldap.metznet.ca)) (define-public ldap.metznet.ca (operating-system (inherit %metznet-base-server-system) (host-name "ldap.guix.metznet.ca") (services (append (list (service certbot-service-type (certbot-configuration (email "admin@metznet.ca") (certificates (list (certificate-configuration (domains ' ("ldap.guix.metznet.ca"))))))) (service slapd-service-type (slapd-configuration (uris "ldap:// ldapi:// ldaps:// ldapis://") (backups (let ((slapd-seeds (getenv "SLAPD_SEEDS"))) (if slapd-seeds (map (lambda (ldif) (local-file ldif)) (string-split slapd-seeds #\:)) '())))))) %metznet-server-services))))