mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-08-22 14:16:53 +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
|
(caddyfile
|
||||||
file-like
|
file-like
|
||||||
|
"")
|
||||||
|
;; Shepherd
|
||||||
|
(shepherd-provision
|
||||||
|
(list-of-symbols '(caddy))
|
||||||
|
"")
|
||||||
|
(shepherd-requirement
|
||||||
|
(list-of-symbols '())
|
||||||
|
"")
|
||||||
|
(auto-start?
|
||||||
|
(boolean #t)
|
||||||
""))
|
""))
|
||||||
|
|
||||||
(define (caddy-accounts config)
|
(define (caddy-accounts config)
|
||||||
@ -91,10 +101,12 @@
|
|||||||
(chown file (passwd:uid user) (passwd:gid user)))
|
(chown file (passwd:uid user) (passwd:gid user)))
|
||||||
(find-files data-dir #:directories? #t)))))))
|
(find-files data-dir #:directories? #t)))))))
|
||||||
|
|
||||||
(define (caddy-shepherd-services config)
|
(define caddy-shepherd-services
|
||||||
|
(match-record-lambda <caddy-configuration>
|
||||||
|
(shepherd-provision shepherd-requirement auto-start?)
|
||||||
(list (shepherd-service
|
(list (shepherd-service
|
||||||
(provision '(caddy))
|
(provision shepherd-provision)
|
||||||
(requirement '(user-processes loopback))
|
(requirement `(user-processes loopback ,@shepherd-requirement))
|
||||||
(start
|
(start
|
||||||
#~(make-forkexec-constructor
|
#~(make-forkexec-constructor
|
||||||
(list "/run/privileged/bin/caddy" "run"
|
(list "/run/privileged/bin/caddy" "run"
|
||||||
@ -106,7 +118,8 @@
|
|||||||
#:resource-limits '((nofile 1048576 1048576))
|
#:resource-limits '((nofile 1048576 1048576))
|
||||||
#:environment-variables '("HOME=/var/lib/caddy")))
|
#:environment-variables '("HOME=/var/lib/caddy")))
|
||||||
(stop
|
(stop
|
||||||
#~(make-kill-destructor)))))
|
#~(make-kill-destructor))
|
||||||
|
(auto-start? auto-start?)))))
|
||||||
|
|
||||||
(define caddy-service-type
|
(define caddy-service-type
|
||||||
(service-type
|
(service-type
|
||||||
|
Loading…
Reference in New Issue
Block a user