Archived
1
0
Fork 0

services: guix-build-coordinator: Add dynamic auth record.

* gnu/services/guix.scm (guix-build-coordinator-agent-dynamic-auth,
guix-build-coordinator-agent-dynamic-auth?,
guix-build-coordinator-agent-dynamic-auth-agent-name,
guix-build-coordinator-agent-dynamic-auth-token): New procedures.
(guix-build-coordinator-agent-shepherd-services): Handle new dynamic auth
record.
* doc/guix.texi (Guix Build Coordinator): Document the new dynamic auth
record.
This commit is contained in:
Christopher Baines 2021-02-28 21:35:36 +00:00
parent 7556130c2f
commit 8a7b4ce093
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577
2 changed files with 34 additions and 1 deletions

View file

@ -31017,6 +31017,23 @@ coordinator.
@end table @end table
@end deftp @end deftp
@deftp {Data Type} guix-build-coordinator-agent-dynamic-auth
Data type representing an agent authenticating with a coordinator via a
dyanmic auth token 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}
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 The Guix Build Coordinator package contains a script to query an
instance of the Guix Data Service for derivations to build, and then instance of the Guix Data Service for derivations to build, and then
submit builds for those derivations to the coordinator. The service submit builds for those derivations to the coordinator. The service

View file

@ -71,6 +71,11 @@
guix-build-coordinator-agent-password-file-auth-uuid guix-build-coordinator-agent-password-file-auth-uuid
guix-build-coordinator-agent-password-file-auth-password-file guix-build-coordinator-agent-password-file-auth-password-file
guix-build-coordinator-agent-dynamic-auth
guix-build-coordinator-agent-dynamic-auth?
guix-build-coordinator-agent-dynamic-auth-agent-name
guix-build-coordinator-agent-dynamic-auth-token
guix-build-coordinator-agent-service-type guix-build-coordinator-agent-service-type
guix-build-coordinator-queue-builds-configuration guix-build-coordinator-queue-builds-configuration
@ -168,6 +173,13 @@
(password-file (password-file
guix-build-coordinator-agent-password-file-auth-password-file)) guix-build-coordinator-agent-password-file-auth-password-file))
(define-record-type* <guix-build-coordinator-agent-dynamic-auth>
guix-build-coordinator-agent-dynamic-auth
make-guix-build-coordinator-agent-dynamic-auth
guix-build-coordinator-agent-dynamic-auth?
(agent-name guix-build-coordinator-agent-dynamic-auth-agent-name)
(token guix-build-coordinator-agent-dynamic-auth-token))
(define-record-type* <guix-build-coordinator-queue-builds-configuration> (define-record-type* <guix-build-coordinator-queue-builds-configuration>
guix-build-coordinator-queue-builds-configuration guix-build-coordinator-queue-builds-configuration
make-guix-build-coordinator-queue-builds-configuration make-guix-build-coordinator-queue-builds-configuration
@ -365,7 +377,11 @@
uuid password-file) uuid password-file)
#~(#$(string-append "--uuid=" uuid) #~(#$(string-append "--uuid=" uuid)
#$(string-append "--password-file=" #$(string-append "--password-file="
password-file)))) password-file)))
(($ <guix-build-coordinator-agent-dynamic-auth>
agent-name token)
#~(#$(string-append "--name=" agent-name)
#$(string-append "--dynamic-auth-token=" token))))
#$(simple-format #f "--max-parallel-builds=~A" #$(simple-format #f "--max-parallel-builds=~A"
max-parallel-builds) max-parallel-builds)
#$@(if derivation-substitute-urls #$@(if derivation-substitute-urls