aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-03-05 09:29:58 +0000
committerChristopher Baines <mail@cbaines.net>2021-03-05 09:29:58 +0000
commitc6c48494e318defbe28bcc6d37f28d59c30dbf32 (patch)
tree0766a56ccf344b5400fdd89520172df65efadf96
parent6891f95739c733df217ceaf5d0787cbed380ec1c (diff)
downloadguix-c6c48494e318defbe28bcc6d37f28d59c30dbf32.tar
guix-c6c48494e318defbe28bcc6d37f28d59c30dbf32.tar.gz
services: guix-build-coordinator: Add dynamic auth with file record.
* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth-with-file, guix-build-coordinator-agent-dynamic-auth-with-filen?, guix-build-coordinator-agent-dynamic-auth-with-file-agent-name, guix-build-coordinator-agent-dynamic-auth-with-file-token-file): New procedures. (guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth with file record. * doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth with file record.
-rw-r--r--doc/guix.texi17
-rw-r--r--gnu/services/guix.scm20
2 files changed, 36 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e8fb346d73..763603b41b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31034,6 +31034,23 @@ database, and is used by the agent to authenticate.
@end table
@end deftp
+@deftp {Data Type} guix-build-coordinator-agent-dynamic-auth-with-file
+Data type representing an agent authenticating with a coordinator via a
+dyanmic auth token read from a file and agent name.
+
+@table @asis
+@item @code{agent-name}
+Name of an agent, this is used to match up to an existing entry in the
+database if there is one. When no existing entry is found, a new entry
+is automatically added.
+
+@item @code{token-file}
+File containing the dynamic auth token, this is created and stored in
+the coordinator database, and is used by the agent to authenticate.
+
+@end table
+@end deftp
+
The Guix Build Coordinator package contains a script to query an
instance of the Guix Data Service for derivations to build, and then
submit builds for those derivations to the coordinator. The service
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index b0d2c05bcf..d1d31febdc 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -76,6 +76,11 @@
guix-build-coordinator-agent-dynamic-auth-agent-name
guix-build-coordinator-agent-dynamic-auth-token
+ guix-build-coordinator-agent-dynamic-auth-with-file
+ guix-build-coordinator-agent-dynamic-auth-with-file?
+ guix-build-coordinator-agent-dynamic-auth-with-file-agent-name
+ guix-build-coordinator-agent-dynamic-auth-with-file-token-file
+
guix-build-coordinator-agent-service-type
guix-build-coordinator-queue-builds-configuration
@@ -180,6 +185,13 @@
(agent-name guix-build-coordinator-agent-dynamic-auth-agent-name)
(token guix-build-coordinator-agent-dynamic-auth-token))
+(define-record-type* <guix-build-coordinator-agent-dynamic-auth-with-file>
+ guix-build-coordinator-agent-dynamic-auth-with-file
+ make-guix-build-coordinator-agent-dynamic-auth-with-file
+ guix-build-coordinator-agent-dynamic-auth-with-file?
+ (agent-name guix-build-coordinator-agent-dynamic-auth-with-file-agent-name)
+ (token-file guix-build-coordinator-agent-dynamic-auth-with-file-token-file))
+
(define-record-type* <guix-build-coordinator-queue-builds-configuration>
guix-build-coordinator-queue-builds-configuration
make-guix-build-coordinator-queue-builds-configuration
@@ -381,7 +393,13 @@
(($ <guix-build-coordinator-agent-dynamic-auth>
agent-name token)
#~(#$(string-append "--name=" agent-name)
- #$(string-append "--dynamic-auth-token=" token))))
+ #$(string-append "--dynamic-auth-token=" token)))
+ (($
+ <guix-build-coordinator-agent-dynamic-auth-with-file>
+ agent-name token-file)
+ #~(#$(string-append "--name=" agent-name)
+ #$(string-append "--dynamic-auth-token-file="
+ token-file))))
#$(simple-format #f "--max-parallel-builds=~A"
max-parallel-builds)
#$@(if derivation-substitute-urls