(define-module (glicid services munged) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (guix) #:use-module (guix records) #:use-module (ice-9 match) #:use-module (gnu packages parallel) #:export ( munged-configuration munged-configuration? munged-service munged-service-type ) ) ; ; Munged ; (define-record-type* munged-configuration make-munged-configuration munged-configuration? (key-file munged-key-file (default "/etc/munge/munged.key") ) (log-file munged-log-file (default "/var/log/munged.log") ) ) (define munged-service (match-lambda (($ key-file log-file) (list (shepherd-service (provision '(munged) ) (documentation "Run munged.") (requirement '(user-processes)) (respawn? #f) (one-shot? #t) (start #~(make-forkexec-constructor (list #$(file-append munge "/sbin/munged") "-F" "--key-file=" #$key-file ) #:log-file #$log-file )) (stop #~(make-kill-destructor)) ) ) ) ) ) (define munged-service-type (service-type (name 'munged) (extensions (list ( service-extension shepherd-root-service-type munged-service )) ) (description "Run munged") ) ) ; ; slurmdbd ; (define-record-type* slurmdbd-configuration make-slurmdbd-configuration slurmdbd-configuration? (slurmdbd-conf slurmdbd-slurmdbd-conf (default "/etc/slurm/slurmdbd.conf") ) (log-file slurmdbd-log-file (default "/var/log/slurmdbd.log") ) ) (define slurmdbd-service (match-lambda (($ slurmdbd-conf log-file) (list (shepherd-service (provision '(slurmdbd) ) (documentation "Run slurmdbd.") (requirement '(user-processes)) (respawn? #f) (one-shot? #t) (start #~(make-forkexec-constructor (list #$(file-append slurm "/sbin/slurmdbd") "-D" ) #:log-file #$log-file )) (stop #~(make-kill-destructor)) ) ) ) ) ) (define slurmdbd-service-type (service-type (name 'slurmdbd) (extensions (list ( service-extension shepherd-root-service-type slurmdbd-service )) ) (description "Run slurmdbd") ) ) ; ; slurmctld ; (define-record-type* slurmctld-configuration make-slurmctld-configuration slurmctld-configuration? (slurmctld-conf slurmctld-slurmctld-conf (default "/etc/slurm/slurmctld.conf") ) (log-file slurmctld-log-file (default "/var/log/slurmctld.log") ) ) (define slurmctld-service (match-lambda (($ slurmctld-conf log-file) (list (shepherd-service (provision '(slurmctld) ) (documentation "Run slurmctld.") (requirement '(user-processes)) (respawn? #f) (one-shot? #t) (start #~(make-forkexec-constructor (list #$(file-append slurm "/sbin/slurmctld") "-D" "-R" "-f" #$slurmctld-conf ) #:log-file #$log-file )) (stop #~(make-kill-destructor)) ) ) ) ) ) (define slurmctld-service-type (service-type (name 'slurmctld) (extensions (list ( service-extension shepherd-root-service-type slurmctld-service )) ) (description "Run slurmctld") ) )