Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


10.8.30 Services Guix

Guix Build Coordinator

Le Guix Build Coordinator aide à distribuer la construction de dérivations entre machines sur lesquelles tourne un agent. Le démon de construction est toujours utilisé pour construire les dérivations, mais Guix Build Coordinator gère l’allocation des construction et des résultats.

Remarque : Ce service est expérimental. Les options de configuration peuvent changer et être incompatibles, et tous les paramètres n’ont pas été testés.

Le coordinateur des constructions Guix consiste en un coordinateur, et un ou plus processus agents connectés. Le coordinateur gère les clients qui soumettent des constructions, et alloue les constructions aux agents. Les processus agents parlent au démon de construction pour effectuer les constructions, puis envoie les résultats au coordinateur.

Il y a un script pour lancer le composant du coordinateur de Guix Build Coordinator, mais le service Guix utilise un script Guile personnalisé à la place, pour fournir une meilleure intégration avec les G-expressions utilisées dans la configuration.

Variable : Variable Scheme guix-build-coordinator-service-type

Le type de service pour Guix Build Coordinator. Sa valeur doit être un guix-build-coordinator-configuration.

Type de données : guix-build-coordinator-configuration

Le type de données représentant la configuration de Guix Build Coordinator.

package (par défaut : guix-build-coordinator)

Le paquet Guix Build Coordinator à utiliser.

user (par défaut : "guix-build-coordinator")

L’utilisateur qui lance le service.

group (par défaut : "guix-build-coordinator")

Le groupe système qui lance le service.

database-uri-string (par défaut : "sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db")

L’URI à utiliser pour la base de données.

agent-communication-uri (par défaut : "http://0.0.0.0:8745")

L’URI décrivant comment écouter les requêtes des processus agents.

client-communication-uri (par défaut : "http://127.0.0.1:8746")

L’URI décrivant comme écouter les requêtes des clients. L’API cliente permet de soumettre des constructions et n’est pas actuellement authentifiée, donc faites attention lors de la configuration de cette valeur.

allocation-strategy (par défaut : #~basic-build-allocation-strategy)

Une G-expression pour la stratégie d’allocation à utiliser. C’est une procédure qui prend le stockage de données en argument et rempli le plan d’allocation dans la base de données.

hooks (par défaut : ’())

Une liste d’association de crochets. Ils fournissent une manière d’exécuter du code arbitraire en fonction d’évènements, comme le traitement des résultats des constructions.

guile (par défaut : guile-3.0-latest)

Le paquet Guile à utiliser pour lancer Guix Build Coordinator.

Variable : Variable Scheme guix-build-coordinator-agent-service-type

Le type de service pour un agent Guix Build Coordinator. Sa valeur doit être un guix-build-coordinator-agent-configuration.

Type de données : guix-build-coordinator-agent-configuration

Type de données représentant la configuration d’un agent Guix Build Coordinator.

package (par défaut : guix-build-coordinator)

Le paquet Guix Build Coordinator à utiliser.

user (par défaut : "guix-build-coordinator-agent")

L’utilisateur qui lance le service.

coordinator (par défaut : "http://localhost:8745")

L’URI à utiliser lors de la connexion au coordinateur.

authentification

Enregistrement décrivant comme cet agent devrait s’authentifier avec le coordinateur. Les types d’enregistrement possibles sont décrit plus bas.

systems (par défaut : #f)

Les systèmes pour lesquels cet agent devrait récupérer les constructions. Le processus de l’agent utilisera le système actuel comme valeur par défaut.

max-parallel-builds (par défaut : 1)

Le nombre de constructions qui peuvent tourner simultanément.

derivation-substitute-urls (par défaut : #f)

URL à partir desquelles essayer de récupérer les substituts pour les dérivations, si les dérivation ne sont pas déjà disponibles.

non-derivation-substitute-urls (par défaut : #f)

URL à partir desquelles essayer de chercher les substituts pour les entrées des constructions, si les éléments du dépôt des entrées ne sont pas déjà disponibles.

Type de données : guix-build-coordinator-agent-password-auth

Type de données représentant un moyen d’authentification avec un coordinateur pour les agents, via un UUID et un mot de passe.

uuid

L’UUID de l’agent. Il devrait être généré par le processus du coordinateur, stocké dans la base du coordinateur et utilisé par l’agent prévu.

password

Le mot de passe à utiliser lors de la connexion au coordinateur.

Type de données : guix-build-coordinator-agent-password-file-auth

Type de données représentant un moyen d’authentification avec un coordinateur via un UUID et un mot de passe lu depuis un fichier.

uuid

L’UUID de l’agent. Il devrait être généré par le processus du coordinateur, stocké dans la base du coordinateur et utilisé par l’agent prévu.

password-file

Un fichier contenant le mot de passe à utiliser pour la connexion avec le coordinateur.

Type de données : guix-build-coordinator-agent-dynamic-auth

Type de données représentant un moyen d’authentification à un coordinateur via un jeton d’authentification dynamique et le nom de l’agent.

agent-name

Nom d’un agent, c’est utilisé pour le faire correspondre à une entrée existante dans la base de données s’il existe. Lorsqu’aucune entrée n’est trouvée, une nouvelle entrée est ajoutée automatiquement.

token

Jeton d’authentification dynamique, créé et stocké dans la base de données du coordinateur, et utilisé par l’agent pour s’authentifier.

Type de données : guix-build-coordinator-agent-dynamic-auth-with-file

Type de données représentant une méthode d’authentification à un coordinateur via un jeton d’authentification dynamique lu depuis un fichier et un nom d’agent.

agent-name

Nom d’un agent, c’est utilisé pour le faire correspondre à une entrée existante dans la base de données s’il existe. Lorsqu’aucune entrée n’est trouvée, une nouvelle entrée est ajoutée automatiquement.

token-file

Fichier contenant le jeton d’authentification dynamique, créé et stocké dans la base de données du coordinateur, et utilisé par l’agent pour s’authentifier.

Le paquet Guix Build Coordinator contient un script pour demander à une instance de Guix Data Service les dérivations à construire, puis pour soumettre les constructions de ces dérivations au coordinateur. Le type de service ci-dessous vous aide à lancer ce script. C’est un outil supplémentaire qui peut être utile lors de la construction de dérivations contenues dans une instance du Guix Data Service.

Variable : Variable Scheme guix-build-coordinator-queue-builds-service-type

Type de service pour le script guix-build-coordinator-queue-builds-from-guix-data-service. Sa valeur doit être un objet guix-build-coordinator-queue-builds-configuration.

Type de données : guix-build-coordinator-queue-builds-configuration

Le type de données représentant les options du script qui soumet les constructions à partir du guix data service.

package (par défaut : guix-build-coordinator)

Le paquet Guix Build Coordinator à utiliser.

user (par défaut : "guix-build-coordinator-queue-builds")

L’utilisateur qui lance le service.

coordinator (par défaut : "http://localhost:8745")

L’URI à utiliser lors de la connexion au coordinateur.

systems (par défaut : #f)

Les systèmes pour lesquels récupérer des dérivations à construire.

systems-and-targets (par défaut : #f)

Une liste d’association de paires de systèmes et de cibles pour lesquelles chercher des dérivations à construire.

guix-data-service (par défaut : "https://data.guix.gnu.org")

L’instance du Guix Data Service à laquelle demander les dérivations à construire.

processed-commits-file (par défaut : "/var/cache/guix-build-coordinator-queue-builds/processed-commits")

Un fichier qui enregistre les commits qui ont été traités, pour éviter de les traiter de nouveau inutilement si le service est redémarré.

Guix Data Service

Le Guix Data Service traite, stocke et fournit des données à propos de GNU Guix. Cela comprend des informations sur les paquets, les dérivations et les messages d’avertissement de formatage.

Les données sont stockées dans une base PostgreSQL, et sont disponibles à travers une interface web.

Variable : Variable Scheme guix-data-service-type

Le type de service pour le Guix Data Service. Sa valeur doit être un objet guix-data-service-configuration. Le service étend éventuellement le service getmail, car la liste de diffusion guix-commits est utilisée pour récupérer les changement dans le dépôt git de Guix.

Type de données : guix-data-service-configuration

Le type de données représentant la configuration du Guix Data Service.

package (par défaut : guix-data-service)

Le paquet Guix Data Service à utiliser.

user (par défaut : "guix-data-service")

L’utilisateur qui lance le service.

group (par défaut : "guix-data-service")

Le groupe système qui lance le service.

port (par défaut : 8765)

Le port sur lequel lier le service web.

host (par défaut : "127.0.0.1")

L’hôte sur lequel lier le service web.

getmail-idle-mailboxes (par défaut : #f)

Si une valeur est indiquée, c’est la liste des boites de courriel que le service getmail récupère.

commits-getmail-retriever-configuration (par défaut : #f)

Si la valeur est indiquée, c’est l’objet getmail-retriever-configuration avec lequel configurer getmail pour récupérer les courriels à part de la liste de diffusion guix-commits.

extra-options (par défaut : ’())

Liste d’options supplémentaires de la ligne de commande pour guix-data-service.

extra-process-jobs-options (par défaut : ’())

Liste d’options supplémentaires de la ligne de commande pour guix-data-service-process-jobs.


Suivant: , Précédent: , Monter: Services   [Table des matières][Index]