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.
This commit is contained in:
Christopher Baines 2021-03-05 09:29:58 +00:00
parent 6891f95739
commit c6c48494e3
No known key found for this signature in database
GPG Key ID: 5E28A33B0B84F577
2 changed files with 36 additions and 1 deletions

@ -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

@ -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