diff --git a/glicid/services/openldap.scm b/glicid/services/openldap.scm index 4ee36fd..b0d50a7 100644 --- a/glicid/services/openldap.scm +++ b/glicid/services/openldap.scm @@ -1,5 +1,10 @@ (define-module (glicid services openldap) #:use-module (glicid packages openldap) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (guix) + #:use-module (guix records) + #:use-module (ice-9 match) #: export ( openldap-configuration openldap-configuration? @@ -7,69 +12,69 @@ ) ) - (define-record-type* - openldap-configuration make-openldap-configuration - openldap-configuration? - (openldap openldap-configuration-openldap ; - (default openldap-glicid) - ) - (arguments openldap-configuration-arguments ;list of strings - (default '()) - ) - (logflags openldap-configuration-logflags ;number - (default "0") - ) - (log-file openldap-configuration-log-file ; string - (default "/var/log/slapd.log") - ) - (pid-file openldap-configuration-pid-file ; string - (default "/var/run/openldap/slapd.pid") - ) - (config-file openldap-configuration-config-file ; string - (default %default-slapd.conf) - ) - (schema-dir openldap-configuration-schema-dir ; string - (default '()) - ) +(define-record-type* + openldap-configuration make-openldap-configuration + openldap-configuration? + (openldap openldap-configuration-openldap ; + (default openldap-glicid) ) - (define %default-slapd.conf - (plain-file "slapd.conf" " - # Empty file for test - ")) - (define schema_dir (local-file "ldap_schema" #:recursive? #t)) - (define openldap-shepherd-service - (match-lambda - (($ openldap arguments logflags log-file pid-file config-file schema-dir) - (list - (shepherd-service - (provision '(slapd) ) - (documentation "Run openldap.") - (requirement '(user-processes)) - (respawn? #f) - (start #~(make-forkexec-constructor - (list - #$(file-append openldap-glicid "/libexec/slapd") - "-h 'ldap:/// ldaps:///'" - "-d" #$logflags - "-f" #$config-file - ) - #:pid-file #$pid-file - )) - (stop #~(make-kill-destructor)) - ) + (arguments openldap-configuration-arguments ;list of strings + (default '()) + ) + (logflags openldap-configuration-logflags ;number + (default "0") + ) + (log-file openldap-configuration-log-file ; string + (default "/var/log/slapd.log") + ) + (pid-file openldap-configuration-pid-file ; string + (default "/var/run/openldap/slapd.pid") + ) + (config-file openldap-configuration-config-file ; string + (default %default-slapd.conf) + ) + (schema-dir openldap-configuration-schema-dir ; string + (default '()) + ) +) +(define %default-slapd.conf + (plain-file "slapd.conf" " + # Empty file for test +")) +(define schema_dir (local-file "ldap_schema" #:recursive? #t)) +(define openldap-shepherd-service + (match-lambda + (($ openldap arguments logflags log-file pid-file config-file schema-dir) + (list + (shepherd-service + (provision '(slapd) ) + (documentation "Run openldap.") + (requirement '(user-processes)) + (respawn? #f) + (start #~(make-forkexec-constructor + (list + #$(file-append openldap-glicid "/libexec/slapd") + "-h 'ldap:/// ldaps:///'" + "-d" #$logflags + "-f" #$config-file + ) + #:pid-file #$pid-file + )) + (stop #~(make-kill-destructor)) ) ) ) ) - (define openldap-service-type - (service-type (name 'slapd) - (extensions - (list ( - service-extension - shepherd-root-service-type - openldap-shepherd-service - )) - ) - (description "Run @uref{https://www.openldap.org, Openldap} community developped LDAP software.") +) +(define openldap-service-type + (service-type (name 'slapd) + (extensions + (list ( + service-extension + shepherd-root-service-type + openldap-shepherd-service + )) ) + (description "Run @uref{https://www.openldap.org, Openldap} community developped LDAP software.") ) +)