mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-08-20 05:19:13 +00:00
services: caddy: Expose configuration interfaces for shepherd service.
* modules/rosenthal/services/web.scm (caddy-configuration) [shepherd-provision, shepherd-requirement, auto-start?]: New fields. * modules/rosenthal/services/web.scm (caddy-shepherd-services): Use them.
This commit is contained in:
parent
8837ea1b4e
commit
55fbf529c7
@ -51,6 +51,16 @@
|
||||
"")
|
||||
(caddyfile
|
||||
file-like
|
||||
"")
|
||||
;; Shepherd
|
||||
(shepherd-provision
|
||||
(list-of-symbols '(caddy))
|
||||
"")
|
||||
(shepherd-requirement
|
||||
(list-of-symbols '())
|
||||
"")
|
||||
(auto-start?
|
||||
(boolean #t)
|
||||
""))
|
||||
|
||||
(define (caddy-accounts config)
|
||||
@ -91,22 +101,25 @@
|
||||
(chown file (passwd:uid user) (passwd:gid user)))
|
||||
(find-files data-dir #:directories? #t)))))))
|
||||
|
||||
(define (caddy-shepherd-services config)
|
||||
(list (shepherd-service
|
||||
(provision '(caddy))
|
||||
(requirement '(user-processes loopback))
|
||||
(start
|
||||
#~(make-forkexec-constructor
|
||||
(list "/run/privileged/bin/caddy" "run"
|
||||
"--environ" "--config" "/etc/caddy/Caddyfile")
|
||||
#:user "caddy"
|
||||
#:group "caddy"
|
||||
#:directory "/var/lib/caddy"
|
||||
#:log-file "/var/log/caddy.log"
|
||||
#:resource-limits '((nofile 1048576 1048576))
|
||||
#:environment-variables '("HOME=/var/lib/caddy")))
|
||||
(stop
|
||||
#~(make-kill-destructor)))))
|
||||
(define caddy-shepherd-services
|
||||
(match-record-lambda <caddy-configuration>
|
||||
(shepherd-provision shepherd-requirement auto-start?)
|
||||
(list (shepherd-service
|
||||
(provision shepherd-provision)
|
||||
(requirement `(user-processes loopback ,@shepherd-requirement))
|
||||
(start
|
||||
#~(make-forkexec-constructor
|
||||
(list "/run/privileged/bin/caddy" "run"
|
||||
"--environ" "--config" "/etc/caddy/Caddyfile")
|
||||
#:user "caddy"
|
||||
#:group "caddy"
|
||||
#:directory "/var/lib/caddy"
|
||||
#:log-file "/var/log/caddy.log"
|
||||
#:resource-limits '((nofile 1048576 1048576))
|
||||
#:environment-variables '("HOME=/var/lib/caddy")))
|
||||
(stop
|
||||
#~(make-kill-destructor))
|
||||
(auto-start? auto-start?)))))
|
||||
|
||||
(define caddy-service-type
|
||||
(service-type
|
||||
|
Loading…
Reference in New Issue
Block a user