mirror of
https://codeberg.org/hako/Rosenthal.git
synced 2025-04-15 02:24:41 +00:00
services: cloudflare-tunnel-service-type: Add %cloudflare-tunnel-accounts.
* rosenthal/services/child-error.scm (%cloudflare-tunnel-accounts): New variable. (cloudflare-tunnel-shepherd-service,cloudflare-tunnel-service-type): Honor it.
This commit is contained in:
parent
2370498264
commit
0c0571462b
@ -8,9 +8,11 @@
|
|||||||
#:use-module (guix gexp)
|
#:use-module (guix gexp)
|
||||||
#:use-module (gnu home services)
|
#:use-module (gnu home services)
|
||||||
#:use-module (gnu home services shepherd)
|
#:use-module (gnu home services shepherd)
|
||||||
|
#:use-module (gnu packages admin)
|
||||||
#:use-module (gnu services)
|
#:use-module (gnu services)
|
||||||
#:use-module (gnu services configuration)
|
#:use-module (gnu services configuration)
|
||||||
#:use-module (gnu services shepherd)
|
#:use-module (gnu services shepherd)
|
||||||
|
#:use-module (gnu system shadow)
|
||||||
#:use-module (rosenthal utils home-services-utils)
|
#:use-module (rosenthal utils home-services-utils)
|
||||||
#:export (cloudflare-tunnel-configuration
|
#:export (cloudflare-tunnel-configuration
|
||||||
cloudflare-tunnel-service-type))
|
cloudflare-tunnel-service-type))
|
||||||
@ -47,6 +49,16 @@
|
|||||||
(extra-options cloudflare-tunnel-configuration-extra-options ;list of string
|
(extra-options cloudflare-tunnel-configuration-extra-options ;list of string
|
||||||
(default '())))
|
(default '())))
|
||||||
|
|
||||||
|
(define %cloudflare-tunnel-accounts
|
||||||
|
(list (user-group (name "cloudflared") (system? #t))
|
||||||
|
(user-account
|
||||||
|
(name "cloudflared")
|
||||||
|
(group "cloudflared")
|
||||||
|
(system? #t)
|
||||||
|
(comment "Cloudflare Tunnel user")
|
||||||
|
(home-directory "/var/empty")
|
||||||
|
(shell (file-append shadow "/sbin/nologin")))))
|
||||||
|
|
||||||
(define cloudflare-tunnel-shepherd-service
|
(define cloudflare-tunnel-shepherd-service
|
||||||
(match-lambda
|
(match-lambda
|
||||||
(($ <cloudflare-tunnel-configuration> cloudflared metrics
|
(($ <cloudflare-tunnel-configuration> cloudflared metrics
|
||||||
@ -69,8 +81,8 @@
|
|||||||
'("--post-quantum")
|
'("--post-quantum")
|
||||||
'())
|
'())
|
||||||
#$@extra-options)
|
#$@extra-options)
|
||||||
#:user "nobody"
|
#:user "cloudflared"
|
||||||
#:group "nogroup"
|
#:group "cloudflared"
|
||||||
#:log-file #$log-file))
|
#:log-file #$log-file))
|
||||||
(stop #~(make-kill-destructor))))))))
|
(stop #~(make-kill-destructor))))))))
|
||||||
|
|
||||||
@ -79,6 +91,8 @@
|
|||||||
(name 'cloudflare-tunnel)
|
(name 'cloudflare-tunnel)
|
||||||
(extensions
|
(extensions
|
||||||
(list (service-extension shepherd-root-service-type
|
(list (service-extension shepherd-root-service-type
|
||||||
cloudflare-tunnel-shepherd-service)))
|
cloudflare-tunnel-shepherd-service)
|
||||||
|
(service-extension account-service-type
|
||||||
|
(const %cloudflare-tunnel-accounts))))
|
||||||
(default-value (cloudflare-tunnel-configuration))
|
(default-value (cloudflare-tunnel-configuration))
|
||||||
(description "Run cloudflared, the Cloudflare Tunnel daemon.")))
|
(description "Run cloudflared, the Cloudflare Tunnel daemon.")))
|
||||||
|
Loading…
Reference in New Issue
Block a user