From edb6a815a09b34255f6fa88027eb8189d163c670 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Tue, 15 Oct 2024 09:01:21 +0200 Subject: [PATCH] testing caddy service --- glicid/services/caddy.scm | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/glicid/services/caddy.scm b/glicid/services/caddy.scm index 4e78cb7..b118f09 100644 --- a/glicid/services/caddy.scm +++ b/glicid/services/caddy.scm @@ -29,9 +29,9 @@ (define-record-type* caddy-configuration make-caddy-configuration 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")) + (caddy caddy (default caddy-dirty)) + (config-file config-file (default "/etc/caddy/Caddyfile")) + (log-file log-file (default "/var/log/caddy.log")) ) (define caddy-service @@ -41,30 +41,35 @@ (documentation "Run caddy.") (requirement '(user-processes)) (respawn? #t) + (respawn-delay 10) (start #~(make-forkexec-constructor (list #$(file-append caddy "/sbin/caddy") + "run" "-c" - #$config-file) + #$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")))) + #:environment-variables (list "PATH=/run/current-system/profile/bin:/run/current-system/profile/sbin:/run/current-system/profile/libexec") + #:user "caddy" + #:group "caddy" + )) (stop #~(make-kill-destructor))))))) +(define %caddy-priv + (list + (privileged-program + (program (file-append caddy-dirty "/sbin/caddy")) + (capabilities "cap_net_bind_service=+ep") + ))) + (define caddy-service-type (service-type (name 'caddy) (default-value (caddy-configuration)) (extensions (list - (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")) - (capabilities "cap_net_bind_service=+ep") - (user "caddy") - (group "caddy") - )))) + (service-extension shepherd-root-service-type caddy-service) + (service-extension privileged-program-service-type (const %caddy-priv)) + (service-extension account-service-type (const %caddy-accounts)) )) (description "run caddy web server service"))) +