1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-28 12:01:49 +02:00

services: nar-herder: Add new configuration options.

* gnu/services/guix.scm (nar-herder-configuration-new-ttl,
nar-herder-cached-compression-configuration-unused-removal-duration,
nar-herder-cached-compression-configuration-ttl,
nar-herder-cached-compression-configuration-new-ttl): New procedure.
(nar-herder-shepherd-services): Handle the new options.
* doc/guix.texi (Guix Services): Document the new nar-herder options.

Change-Id: I161e490221a3ce394e32ada685dca27df60638bb
This commit is contained in:
Christopher Baines
2024-03-25 20:06:24 +00:00
parent 9b399add98
commit b538c1d7b9
2 changed files with 60 additions and 3 deletions
+37 -3
View File
@@ -719,6 +719,8 @@ ca-certificates.crt file in the system profile."
(default '()))
(ttl nar-herder-configuration-ttl
(default #f))
(new-ttl nar-herder-configuration-new-ttl
(default #f))
(negative-ttl nar-herder-configuration-negative-ttl
(default #f))
(log-level nar-herder-configuration-log-level
@@ -750,14 +752,22 @@ ca-certificates.crt file in the system profile."
(default #f))
(directory-max-size
nar-herder-cached-compression-configuration-directory-max-size
(default #f)))
(default #f))
(unused-removal-duration
nar-herder-cached-compression-configuration-unused-removal-duration
(default #f))
(ttl nar-herder-cached-compression-configuration-ttl
(default #f))
(new-ttl nar-herder-cached-compression-configuration-new-ttl
(default #f)))
(define (nar-herder-shepherd-services config)
(define (cached-compression-configuration->options cached-compression)
(match-record
cached-compression
<nar-herder-cached-compression-configuration>
(type level directory directory-max-size)
(type level directory directory-max-size
unused-removal-duration ttl new-ttl)
`(,(simple-format #f "--enable-cached-compression=~A~A"
type
@@ -775,6 +785,27 @@ ca-certificates.crt file in the system profile."
(simple-format #f "--cached-compression-directory-max-size=~A=~A"
type
directory-max-size))
'())
,@(if unused-removal-duration
(list
(simple-format
#f "--cached-compression-unused-removal-duration=~A=~A"
type
unused-removal-duration))
'())
,@(if ttl
(list
(simple-format
#f "--cached-compression-ttl=~A=~A"
type
ttl))
'())
,@(if new-ttl
(list
(simple-format
#f "--cached-compression-new-ttl=~A=~A"
type
new-ttl))
'()))))
(match-record config <nar-herder-configuration>
@@ -783,7 +814,7 @@ ca-certificates.crt file in the system profile."
database database-dump
host port
storage storage-limit storage-nar-removal-criteria
ttl negative-ttl log-level
ttl new-ttl negative-ttl log-level
cached-compressions cached-compression-min-uses
cached-compression-workers cached-compression-nar-source
extra-environment-variables)
@@ -825,6 +856,9 @@ ca-certificates.crt file in the system profile."
#$@(if ttl
(list (string-append "--ttl=" ttl))
'())
#$@(if new-ttl
(list (string-append "--new-ttl=" new-ttl))
'())
#$@(if negative-ttl
(list (string-append "--negative-ttl=" negative-ttl))
'())