aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-12-26 10:07:55 +0000
committerChristopher Baines <mail@cbaines.net>2019-12-26 10:07:55 +0000
commita3ea38d54592d615c8423d693e88a1af6fa61df4 (patch)
tree5e3523781b4f522d104ef9a32cfd8a213bf4bb7c /guix-data-service
parent66e886a6b4c228421d45023ffa75817c65a4f954 (diff)
downloaddata-service-a3ea38d54592d615c8423d693e88a1af6fa61df4.tar
data-service-a3ea38d54592d615c8423d693e88a1af6fa61df4.tar.gz
Serve the /nix-cache-info response
This should be the last piece of the puzzle for providing substitutes for derivations.
Diffstat (limited to 'guix-data-service')
-rw-r--r--guix-data-service/web/nar/controller.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/guix-data-service/web/nar/controller.scm b/guix-data-service/web/nar/controller.scm
index 783fd12..e7debea 100644
--- a/guix-data-service/web/nar/controller.scm
+++ b/guix-data-service/web/nar/controller.scm
@@ -45,6 +45,11 @@
(define %narinfo-signing-public-key
(make-parameter #f))
+(define %nix-cache-info
+ `(("StoreDir" . "/gnu/store")
+ ("WantMassQuery" . 0)
+ ("Priority" . 100)))
+
(define (nar-controller request
method-and-path-components
mime-types
@@ -54,6 +59,13 @@
(string-suffix? ".narinfo" s))
(match method-and-path-components
+ (('GET "nix-cache-info")
+ (render-text
+ (string-concatenate
+ (map (match-lambda
+ ((key . value)
+ (format #f "~a: ~a~%" key value)))
+ %nix-cache-info))))
(('GET "nar" derivation)
(render-nar request
mime-types