aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/dns.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services/dns.scm')
-rw-r--r--gnu/services/dns.scm17
1 files changed, 12 insertions, 5 deletions
diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm
index 043c34599c..34ad95eb65 100644
--- a/gnu/services/dns.scm
+++ b/gnu/services/dns.scm
@@ -651,7 +651,11 @@ name server for the @acronym{DNS, Domain Name System}.")))
(kresd-config-file knot-resolver-kresd-config-file
(default %kresd.conf))
(garbage-collection-interval knot-resolver-garbage-collection-interval
- (default 1000)))
+ (default 1000))
+ (user knot-resolver-configuration-user
+ (default "knot-resolver"))
+ (group knot-resolver-configuration-group
+ (default "knot-resolver")))
(define %kresd.conf
(plain-file "kresd.conf" "-- -*- mode: lua -*-
@@ -685,7 +689,8 @@ cache.size = 100 * MB
(match-lambda
(($ <knot-resolver-configuration> package
kresd-config-file
- garbage-collection-interval)
+ garbage-collection-interval
+ user group)
(list
(shepherd-service
(provision '(kresd))
@@ -694,7 +699,9 @@ cache.size = 100 * MB
(start #~(make-forkexec-constructor
'(#$(file-append package "/sbin/kresd")
"-c" #$kresd-config-file "-n"
- "/var/cache/knot-resolver")))
+ "/var/cache/knot-resolver")
+ #:user #$user
+ #:group #$group))
(stop #~(make-kill-destructor)))
(shepherd-service
(provision '(kres-cache-gc))
@@ -704,8 +711,8 @@ cache.size = 100 * MB
'(#$(file-append package "/sbin/kres-cache-gc")
"-d" #$(number->string garbage-collection-interval)
"-c" "/var/cache/knot-resolver")
- #:user "knot-resolver"
- #:group "knot-resolver"))
+ #:user #$user
+ #:group #$group))
(stop #~(make-kill-destructor)))))))
(define knot-resolver-service-type