From 1770349884d9fe33fefb7cd728e6ce4af42136fb Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Mon, 14 Oct 2024 15:52:49 +0200 Subject: [PATCH] testing caddy service --- glicid/services/caddy.scm | 40 ++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index c304b30..4e78cb7 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -13,7 +13,7 @@ caddy-configuration? caddy-shepherd-service caddy-service-type - )) + )) (define %caddy-accounts @@ -31,32 +31,34 @@ caddy-configuration? (caddy caddy-configuration-caddy (default caddy-dirty)) (config-file caddy-config-file (default "/etc/caddy/Caddyfile")) + (log-file caddy-log-file (default "/var/log/caddy.log")) ) -(define (caddy-shepherd-service config) - (let* ((caddy (caddy-configuration-caddy config))) - (shepherd-service - (provision '(caddy)) - (documentation "Run caddy daemon.") - (requirement '(user-processes)) - (start #~(make-forkexec-constructor (list (string-append #$caddy "/sbin/caddy") - "run" - "-c" - #$config-file) - #:log-file "/var/log/caddy" - #:environment-variables (list - (string-append "PATH=" - "/run/current-system/profile/bin" - ":/run/current-system/profile/sbin" - ":/run/current-system/profile/libexec")))) - (stop #~(make-kill-destructor))))) +(define caddy-service + (match-lambda + (($ caddy config-file log-file) + (list (shepherd-service (provision '(caddy)) + (documentation "Run caddy.") + (requirement '(user-processes)) + (respawn? #t) + (start #~(make-forkexec-constructor (list #$(file-append caddy "/sbin/caddy") + "-c" + #$config-file) + #:log-file #$log-file + #:environment-variables (list + (string-append "PATH=" + "/run/current-system/profile/bin" + ":/run/current-system/profile/sbin" + ":/run/current-system/profile/libexec")))) + (stop #~(make-kill-destructor))))))) + (define caddy-service-type (service-type (name 'caddy) (default-value (caddy-configuration)) (extensions (list - (service-extension shepherd-root-service-type (compose list caddy-shepherd-service)) + (service-extension shepherd-root-service-type (compose list caddy-service)) (service-extension privileged-program-service-type (const (list (privileged-program (program (file-append caddy-dirty "/sbin/caddy"))