diff options
author | Christopher Baines <mail@cbaines.net> | 2021-03-05 09:29:58 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-03-05 09:29:58 +0000 |
commit | c6c48494e318defbe28bcc6d37f28d59c30dbf32 (patch) | |
tree | 0766a56ccf344b5400fdd89520172df65efadf96 | |
parent | 6891f95739c733df217ceaf5d0787cbed380ec1c (diff) | |
download | 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.texi | 17 | ||||
-rw-r--r-- | gnu/services/guix.scm | 20 |
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 |