Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


10.8.29 Guix-Dienste

Guix-Erstellungskoordinator

Der Guix-Erstellungskoordinator („Guix Build Coordinator“) hilft dabei, Erstellungen von Ableitungen auf Maschinen zu verteilen, auf denen ein Agent läuft. Der Erstellungs-Daemon wird weiterhin benutzt, um die Ableitungen zu erstellen, der Guix-Erstellungskoordinator verwaltet nur die Zuteilung der Erstellungen und den Umgang mit den Ergebnissen.

Anmerkung: Dieser Dienst gilt als experimentell. Die Konfigurationsoptionen könnten in Zukunft noch auf eine Weise abgeändert werden, die keine Kompatibilität mit dem momentanen Verhalten gewährleistet, und nicht alle Funktionalitäten wurden gründlich getestet.

Der Guix-Erstellungskoordinator setzt sich aus einem Koordinator und mindestens einem verbundenen Agentenprozess zusammen. Der Koordinatorprozess kümmert sich um Clients, die Erstellungen einreichen, und teilt Erstellungen den Agenten zu. Die Agentenprozesse kommunizieren mit einem Erstellungs-Daemon, welcher die Erstellungen eigentlich durchführt und die Ergebnisse an den Koordinator zurückgibt.

Es gibt ein Skript, um die Koordinatorkomponente des Guix-Erstellungskoordinators auszuführen, aber der Dienst für Guix benutzt stattdessen sein eigenes Guile-Skript, was in der Konfiguration benutzte G-Ausdrücke besser integriert.

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

Diensttyp für den Guix-Erstellungskoordinator. Sein Wert muss ein guix-build-coordinator-configuration-Objekt sein.

Datentyp: guix-build-coordinator-configuration

Der Datentyp, der die Konfiguration des Guix-Erstellungskoordinators repräsentiert.

package (Vorgabe: guix-build-coordinator)

Das zu verwendende Guix-Erstellungskoordinator-Paket.

user (Vorgabe: "guix-build-coordinator")

Das Systembenutzerkonto, mit dem der Dienst ausgeführt wird.

group (Vorgabe: "guix-build-coordinator")

Die Systembenutzergruppe, mit der der Dienst ausgeführt wird.

database-uri-string (Vorgabe: "sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db")

Die URI für die Datenbank.

agent-communication-uri (Vorgabe: "http://0.0.0.0:8745")

Die URI, die beschreibt, wie auf Anfragen von Agentenprozessen gelauscht wird.

client-communication-uri (Vorgabe: "http://127.0.0.1:8746")

Die URI, die beschreibt, wie auf Anfragen von Clients gelauscht wird. Mit der Client-API können Erstellungen eingereicht werden und derzeit findet dabei keine Authentifizierung statt. Das sollten Sie bedenken, wenn Sie hieran Einstellungen vornehmen.

allocation-strategy (Vorgabe: #~basic-build-allocation-strategy)

Ein G-Ausdruck für die zu nutzende Zuteilungsstrategie. Angegeben wird eine Prozedur, die den Datenspeicher als Argument nimmt und in den Zuteilungsplan in der Datenbank einfügt.

hooks (Vorgabe: ’())

Eine assoziative Liste mit Hooks. Mit ihnen kann infolge bestimmter Ereignisse beliebiger Code ausgeführt werden, z.B. wenn ein Erstellungsergebnis verarbeitet wird.

guile (Vorgabe: guile-3.0-latest)

Mit welchem Guile-Paket der Guix-Erstellungskoordinator ausgeführt wird.

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

Diensttyp für einen Guix-Erstellungskoordinator-Agenten. Als Wert muss ein guix-build-coordinator-agent-configuration-Objekt angegeben werden.

Datentyp: guix-build-coordinator-agent-configuration

Der Datentyp, der die Konfiguration des Guix-Erstellungskoordinators repräsentiert.

package (Vorgabe: guix-build-coordinator)

Das zu verwendende Guix-Erstellungskoordinator-Paket.

user (Vorgabe: "guix-build-coordinator-agent")

Das Systembenutzerkonto, mit dem der Dienst ausgeführt wird.

coordinator (Vorgabe: "http://localhost:8745")

Das Passwort, das zum Herstellen einer Verbindung mit dem Koordinator verwendet werden soll.

uuid

Die UUID des Agenten. Sie sollte durch den Koordinatorprozess erzeugt worden sein, in der Datenbank des Koordinators eingetragen sein und von dem Agenten benutzt werden, für den sie gedacht ist.

password (Vorgabe: #f)

Das Passwort, um sich mit dem Koordinator zu verbinden. Es kann auch eine Datei angegeben werden, aus der das Passwort gelesen wird, was sicherer ist.

password-file (Vorgabe: #f)

Eine Datei mit dem Passwort, um sich mit dem Koordinator zu verbinden.

systems (Vorgabe: #f)

Die Systeme, für die dieser Agent Erstellungen übernehmen soll. Voreingestellt verwendet der Agentenprozess den Systemtyp, auf dem er aktuell läuft.

max-parallel-builds (Vorgabe: 1)

Die Anzahl der Erstellungen, die parallel ausgeführt werden sollen.

derivation-substitute-urls (Vorgabe: 1)

URLs, von denen versucht werden soll, Substitute für Ableitungen herunterzuladen, wenn die Ableitungen noch nicht vorliegen.

non-derivation-substitute-urls (Vorgabe: 1)

URLs, von denen versucht werden soll, Substitute für Erstellungseingaben herunterzuladen, wenn die Eingabe-Store-Objekte noch nicht vorliegen.

Das Paket des Guix-Erstellungskoordinators enthält ein Skript, mit dem eine Instanz des Guix-Datendienstes („Guix Data Service“) nach zu erstellenden Ableitungen angefragt werden kann, woraufhin Erstellungen für selbige Ableitungen beim Koordinator eingereicht werden. Der folgende Diensttyp hilft dabei, dieses Skript einzusetzen. Es ist ein weiteres Werkzeug, das beim Erstellen von Ableitungen von Nutzen sein kann, die in einer Instanz des Guix-Datendienstes vorhanden sind.

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

Der Diensttyp für das Skript guix-build-coordinator-queue-builds-from-guix-data-service. Als Wert muss ein guix-build-coordinator-queue-builds-configuration-Objekt benutzt werden.

Datentyp: guix-build-coordinator-queue-builds-configuration

Der Datentyp, der die Optionen an das Skript guix-build-coordinator-queue-builds-from-guix-data-service repräsentiert.

package (Vorgabe: guix-build-coordinator)

Das zu verwendende Guix-Erstellungskoordinator-Paket.

user (Vorgabe: "guix-build-coordinator-queue-builds")

Das Systembenutzerkonto, mit dem der Dienst ausgeführt wird.

coordinator (Vorgabe: "http://localhost:8745")

Das Passwort, das zum Herstellen einer Verbindung mit dem Koordinator verwendet werden soll.

systems (Vorgabe: #f)

Für welche Systeme zu erstellende Ableitungen übernommen werden sollen.

systems-and-targets (Vorgabe: #f)

Eine assoziative Liste aus Paaren aus System und Zielplattform, für die zu erstellende Ableitungen übernommen werden sollen.

guix-data-service (Vorgabe: "https://data.guix.gnu.org")

Die Instanz des Guix-Datendienstes, die nach zu erstellenden Ableitungen angefragt werden soll.

processed-commits-file (Vorgabe: "/var/cache/guix-build-coordinator-queue-builds/processed-commits")

Eine Datei, in die gespeichert wird, welche Commits bereits verarbeitet wurden, um sie nicht unnötig ein weiteres Mal zu verarbeiten, wenn der Dienst neu gestartet wird.

Guix-Datendienst

Der Guix-Datendienst („Guix Data Service“) verarbeitet und speichert Daten über GNU Guix und stellt diese zur Verfügung. Dazu gehören Informationen über Pakete, Ableitungen sowie durch Linting erkannte Paketfehler.

Die Daten werden in einer PostgreSQL-Datenbank gespeichert und stehen über eine Weboberfläche zur Verfügung.

Variable: Scheme-Variable guix-data-service-type

Diensttyp für den Guix-Datendienst. Sein Wert muss ein guix-data-service-configuration-Objekt sein. Der Dienst kann optional den getmail-Dienst erweitern und die guix-commits-Mailing-Liste benutzen, um bei Änderungen am Guix-Git-Repository auf dem Laufenden zu bleiben.

Datentyp: guix-data-service-configuration

Der Datentyp, der die Konfiguration des Guix-Datendienstes repräsentiert.

package (Vorgabe: guix-data-service)

Das zu verwendende Guix-Datendienst-Paket.

user (Vorgabe: "guix-data-service")

Das Systembenutzerkonto, mit dem der Dienst ausgeführt wird.

group (Vorgabe: "guix-data-service")

Die Systembenutzergruppe, mit der der Dienst ausgeführt wird.

port (Vorgabe: 8765)

Der Port, an den der Webdienst gebunden wird.

host (Vorgabe: "127.0.0.1")

Die Netzwerkschnittstelle („Host“), an die der Webdienst gebunden wird.

getmail-idle-mailboxes (Vorgabe: #f)

Wenn es festgelegt ist, wird es als Liste der Postfächer („Mailboxes“) eingerichtet, die der getmail-Dienst beobachtet.

commits-getmail-retriever-configuration (Vorgabe: #f)

Wenn es festgelegt ist, bezeichnet dies das getmail-retriever-configuration-Objekt, mit dem getmail eingerichtet wird, um E-Mails von der „guix-commits“-Mailing-Liste zu beziehen.

extra-options (Vorgabe: ’())

Zusätzliche Befehlszeilenoptionen für guix-data-service.

extra-process-jobs-options (Vorgabe: ’())

Zusätzliche Befehlszeilenoptionen für guix-data-service-process-jobs.


Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]