Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]


10.8.30 Servicios de Guix

Coordinador de construcciones de Guix

El coordinador de construcciones de Guix ayuda en la distribución de las construcciones de derivaciones entre máquinas que ejecuten un agente. El daemon de construcción se usa todavía para la construcción de las derivaciones, pero el coordinador de construcciones de Guix gestiona su lanzamiento y trabaja con los resultados.

Nota: Este servicio se considera experimental. Las opciones de configuración pueden cambiar de manera incompatible con versiones previas, y no todas las funcionalidades han sido probadas en profundidad.

The Guix Build Coordinator consists of one coordinator, and one or more connected agent processes. The coordinator process handles clients submitting builds, and allocating builds to agents. The agent processes talk to a build daemon to actually perform the builds, then send the results back to the coordinator.

Existe un guión para ejecutar el componente de coordinación del servicio de coordinación de construcciones de Guix, pero el servicio de Guix utiliza un guión Guile personalizado en vez de este, para mejorar la integración con las expresiones-G usadas en la configuración.

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

Tipo de servicio para la coordinación de construcciones de Guix. Su valor debe ser un objeto guix-build-coordinator-configuration.

Tipo de datos: guix-build-coordinator-configuration

Tipo de datos que representa la configuración del servicio de coordinación de construcciones de Guix.

package (predeterminado: guix-build-coordinator)

El paquete del servicio de coordinación de construcciones de Guix usado.

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

Usuaria del sistema que ejecuta el servicio.

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

Grupo del sistema que ejecuta el servicio.

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

URI usada para la conexión a la base de datos.

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

La URI que describe cómo escuchar peticiones de los procesos agentes.

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

La URI que describe cómo escuchar peticiones de los clientes. La interfaz para los clientes permite la emisión de construcciones y no implementa identificación actualmente, por lo que tenga cuidado cuando configure este valor.

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

Una expresión-G para la estrategia de reservas usada. Es un procedimiento que recibe la ruta del almacén como un parámetro y rellena la planificación de reservas en la base de datos.

hooks (predeterminada: ’())

Una lista asociativa de procedimientos de extensión41. Proporcionan una forma de ejecutar código arbitrario tras ciertos eventos, como inicio del procesamiento del resultado de una construcción.

guile (predeterminado: guile-3.0-latest)

El paquete Guile con el que se ejecuta la coordinación de construcciones de Guix.

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

Tipo de servicio para un agente del coordinador de construcciones de Guix. Su valor debe ser un objeto guix-build-coordinator-agent-configuration.

Tipo de datos: guix-build-coordinator-agent-configuration

Tipo de datos que representa la configuración de un agente del coordinador de construcciones de Guix.

package (predeterminado: guix-build-coordinator)

El paquete del servicio de coordinación de construcciones de Guix usado.

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

Usuaria del sistema que ejecuta el servicio.

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

URI usada para la conexión al nodo coordinador.

authentication

Record describing how this agent should authenticate with the coordinator. Possible record types are described below.

systems (predeterminado: #f)

Los sistemas para los cuales este agente debe obtener construcciones. Los procesos agente usan el sistema sobre el que se ejecuten como valor predeterminado.

max-parallel-builds (predeterminado: 1)

El número de construcciones que se ejecutan en paralelo.

derivation-substitute-urls (default: #f)

Identificadores URL a partir de los cuales se intentará obtener sustituciones para derivaciones, si las derivaciones no están ya disponibles.

non-derivation-substitute-urls (default: #f)

Identificadores URL a partir de los cuales se intentará obtener sustituciones para las entradas de las construcciones, si los elementos de entrada del almacén no están ya disponibles.

Data Type: guix-build-coordinator-agent-password-auth

Data type representing an agent authenticating with a coordinator via a UUID and password.

uuid

El identificador UUID del agente. Debe ser generado por el proceso de coordinación, almacenarse en la base de datos de coordinación, y usarse por parte del agente en cuestión.

password

The password to use when connecting to the coordinator.

Data Type: guix-build-coordinator-agent-password-file-auth

Data type representing an agent authenticating with a coordinator via a UUID and password read from a file.

uuid

El identificador UUID del agente. Debe ser generado por el proceso de coordinación, almacenarse en la base de datos de coordinación, y usarse por parte del agente en cuestión.

password-file

Un archivo que contiene la contraseña usada para la conexión a la máquina coordinadora.

Data Type: guix-build-coordinator-agent-dynamic-auth

Data type representing an agent authenticating with a coordinator via a dynamic auth token and agent name.

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.

token

Dynamic auth token, this is created and stored in the coordinator database, and is used by the agent to authenticate.

Data Type: guix-build-coordinator-agent-dynamic-auth-with-file

Data type representing an agent authenticating with a coordinator via a dynamic auth token read from a file and agent name.

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.

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.

El paquete del coordinador de construcciones de Guix contiene un guión para consultar a una instancia del servicio de datos de Guix derivaciones que deben construirse, y envía dichas derivaciones al proceso de coordinación. El siguiente tipo de servicio sirve de asistencia para ejecución de dicho guión. Se trata de una herramienta adicional que resultar de utilidad cuando se construyan derivaciones contenidas dentro de una instancia del servicio de datos de Guix.

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

Tipo de servicio para el guión guix-build-coordinator-queue-builds-from-guix-data-service. Su valor debe ser un objeto guix-build-coordinator-queue-builds-configuration.

Tipo de datos: guix-build-coordinator-queue-builds-configuration

Tipo de datos que representa las opciones de la cola de construcciones del guión del servicio de dados de Guix.

package (predeterminado: guix-build-coordinator)

El paquete del servicio de coordinación de construcciones de Guix usado.

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

Usuaria del sistema que ejecuta el servicio.

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

URI usada para la conexión al nodo coordinador.

systems (predeterminado: #f)

Los sistemas para los que se obtienen derivaciones que construir.

systems-and-targets (predeterminado: #f)

Una lista asociativa que contiene pares de sistema y objetivo para los que obtener derivaciones que construir.

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

La instancia del servicio de datos de Guix a la que se consulta para conocer las derivaciones que deben construirse.

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

Archivo en el que se registran las revisiones que se han procesado, para evitar procesarlas de nuevo innecesariamente si se reinicia el servicio.

Servicio de datos de Guix

El servicio de datos de Guix procesa, almacena y proporciona datos acerca de GNU Guix. Esto incluye información sobre paquetes, derivaciones y avisos de “lint”.

Los datos se almacenan en una base de datos PostgreSQL, y están disponibles a través de una interfaz web.

Variable: Variable Scheme guix-data-service-type

Tipo de servicio para el servicio de datos de Guix. Su valor debe ser un objeto guix-data-service-configuration. El servicio opcionalmente extiende el servicio getmail, puesto que la lista de correo guix-commits se usa para conocer los cambios del repositorio git de Guix.

Tipo de datos: guix-data-service-configuration

Tipo de datos que representa la configuración del servicio de datos de Guix.

package (predeterminado: guix-data-service)

El paquete del servicio de datos de Guix usado.

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

Usuaria del sistema que ejecuta el servicio.

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

Grupo del sistema que ejecuta el servicio.

port (predeterminado: 8765)

El puerto al que se asociará el servicio web.

host (predeterminada: "127.0.0.1")

El nombre de máquina al que se asociará el servicio web.

getmail-idle-mailboxes (predeterminado: #f)

Si se proporciona un valor, es la lista de bandejas de correo en las cuales la configuración debe indicar su lectura al servicio getmail.

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

Si se proporciona un valor, es el objeto getmail-retriever-configuration con el que se configura getmail para obtener recibir el correo de la lista guix-commits.

extra-options (predeterminadas: ’())

Opciones de línea de órdenes adicionales para guix-data-service.

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

Opciones de línea de órdenes adicionales para guix-data-service-process-jobs.


Notas al pie

(41)

NdT: “hook” en inglés tiene el sentido del gancho donde se “enganchan” las extensiones.


Siguiente: , Anterior: , Subir: Servicios   [Índice general][Índice]