Next: Servicios de juegos, Previous: Servicios de virtualización, Up: Servicios [Contents][Index]
El módulo (gnu services version-control)
proporciona un servicio para
permitir el acceso remoto a repositorios Git locales. Existen tres opciones:
el servicio git-daemon-service
, que proporciona acceso a repositorios
a través del protocolo inseguro basado en TCP git://
, la extensión
del servidor web nginx
para redirigir algunas peticiones al motor
git-http-backend
, o una interfaz web proporcionada por el servicio
cgit-service-type
.
Devuelve un servicio que ejecuta git daemon
, un servidor TCP
simple para exponer repositorios con el protocolo Git para acceso anónimo.
El parámetro opcional config debe ser un objeto
<git-daemon-configuration>
, de manera predeterminada permite acceso
de solo lectura a los repositorios exportados43 bajo /srv/git.
Tipo de datos que representa la configuración para
git-daemon-service
.
package
(predeterminado: git
)El objeto paquete del sistema distribuido de control de versiones Git.
export-all?
(predeterminado: #f
)Determina si se permite el acceso a todos los repositorios Git, incluso si no tienen el archivo git-daemon-export-ok.
base-path
(predeterminado: /srv/git)Determina si se traducirán todas las rutas de las peticiones como relativas
a la ruta proporcionada. Si se encuentra en ejecución el daemon de git con
(base-path "/srv/git"
en example.com, al realizar la solicitud de
‘git://example.com/hello.git
’, el daemon de git interpretará la
ruta como /srv/git/hello.git.
user-path
(predeterminado: #f
)Determina si se permite el uso de la notación ~user
en las
peticiones. Si se especifica una cadena vacía, una peticione de
‘git://máquina/~alicia/algo
’ se tomará como una petición de
acceso al repositorio algo
en el directorio de la usuaria
alicia
. Si se especifica (user-path "ruta")
, la misma
petición se traducirá en una petición de acceso al repositorio
ruta/algo en el directorio de la usuaria alicia
.
listen
(predeterminadas: '()
)Determina si se debe escuchar en direcciones IP o nombres de máquina específicos, de manera predeterminada escucha en cualquiera.
port
(predeterminado: #f
)Determina si se escucha en un puerto alternativo, cuyo valor predeterminado es 9418.
whitelist
(predeterminada: '()
)Si no está vacío, únicamente permite el acceso a esta lista de directorios.
extra-options
(predeterminadas: '()
)Opciones adicionales que se proporcionan a git daemon
, para
obtener más información le rogamos que ejecute man git-daemon
.
El protocolo git://
carece de verificación. Cuando se obtienen datos
de un repositorio a través del protocolo git://
, no puede tener plena
confianza en que los datos que reciba procedan realmente de la máquina que
ha indicado, y su conexión puede estar sujeta a interceptaciones. Es mejor
usar un transporte verificado y cifrado, como https
. Aunque Git le
permite servir repositorios usando servidores web poco sofisticados basados
en archivos, existe un protocolo más rápido implementado en el programa
git-http-backend
. Este programa es el motor de un servicio web de Git
adecuado. Está diseñado para ejecutarse tras una pasarela FastCGI. See Servicios Web, para más información sobre la ejecución del daemon
fcgiwrap
necesario.
Guix tiene un tipo de datos de configuración distinto para proporcionar repositorios Git sobre HTTP.
Data type representing the configuration for a future
git-http-service-type
; can currently be used to configure Nginx
through git-http-nginx-location-configuration
.
package
(predeterminado: git)El objeto paquete del sistema distribuido de control de versiones Git.
git-root
(predeterminada: /srv/git)Directorio que contiene los repositorios Git que se expondrán al mundo.
export-all?
(predeterminado: #f
)Determina si se expondrá el acceso a todos los repositorios en git-root, incluso si no contienen el archivo git-daemon-export-ok.
uri-path
(predeterminada: ‘/git/’)Prefijo de la ruta del acceso de Git. Con el prefijo predeterminado
‘/git/’, ‘http://servidor/git/repositorio.git
’
se traducirá en /srv/git/repositorio.git
. Las peticiones cuyas
rutas URI no comiencen con dicho prefijo no se pasan a esta instancia de
Git.
fcgiwrap-socket
(predeterminado: 127.0.0.1:9000
)Socket en el que el daemon fcgiwrap
escucha. See Servicios Web.
No existe actualmente git-http-service-type
; en vez de eso puede
crear una configuración nginx-location-configuration
desde
git-http-configuration
y añadir dicha configuración al servidor web.
Calcula una configuración nginx-location-configuration
que
corresponde con la configuración http de Git proporcionada. Un ejemplo de
definición de servicio nginx que ofrece el directorio predeterminado
/srv/git sobre HTTPS podría ser:
(service nginx-service-type
(nginx-configuration
(server-blocks
(list
(nginx-server-configuration
(listen '("443 ssl"))
(server-name "git.mi-maquina.org")
(ssl-certificate
"/etc/letsencrypt/live/git.mi-maquina.org/fullchain.pem")
(ssl-certificate-key
"/etc/letsencrypt/live/git.mi-maquina.org/privkey.pem")
(locations
(list
(git-http-nginx-location-configuration
(git-http-configuration (uri-path "/"))))))))))
This example assumes that you are using Let’s Encrypt to get your TLS
certificate. See Servicios de certificados. The default certbot
service will redirect all HTTP traffic on git.my-host.org
to HTTPS.
You will also need to add an fcgiwrap
proxy to your system services.
See Servicios Web.
Cgit es un servidor de fachada para repositiorios Git escrito en C.
El ejemplo siguiente configura el servicio con los valores
predeterminados. Por omisión, se puede acceder a Cgit en el puerto 80
(http://localhost:80
).
(service cgit-service-type)
El tipo file-object
designa o bien un objeto “tipo-archivo”
(see objetos “tipo-archivo”), o bien una cadena.
Los campos disponibles de cgit-configuration
son:
cgit-configuration
: package package ¶El paquete CGIT.
cgit-configuration
: lista-nginx-server-configuration nginx ¶Configuración de NGINX.
cgit-configuration
: file-object about-filter ¶Especifica una orden que se llamará para dar formato al contenido de las páginas “about” (tanto al nivel superior como cada repositorio).
El valor predeterminado es ‘""’.
cgit-configuration
: string agefile ¶Especifica una ruta, relativa a cada ruta de repositorio, que puede usarse para especificar una fecha y hora de la revisión más reciente del repositorio.
El valor predeterminado es ‘""’.
cgit-configuration
: file-object auth-filter ¶Especifica una orden que se invocará para la validación de acceso al repositorio.
El valor predeterminado es ‘""’.
cgit-configuration
: string branch-sort ¶Opción que, cuando tiene valor ‘age’, activa la ordenación por fecha en la lista de referencias de ramas, y cuando tiene valor ‘name’ activa la ordenación por nombre de rama.
El valor predeterminado es ‘"name"’.
cgit-configuration
: string cache-root ¶Ruta usada para el almacenamiento de las entradas de caché de cgit.
El valor predeterminado es ‘"/var/cache/cgit"’.
cgit-configuration
: integer cache-static-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de las páginas del repositiorio accedidas mediante un hash SHA1 fijo.
El valor predeterminado es ‘-1’.
cgit-configuration
: integer cache-dynamic-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de las páginas del repositorio accedidas sin un hash SHA1 fijo.
El valor predeterminado es ‘5’.
cgit-configuration
: integer cache-repo-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de la página de resumen del repositorio.
El valor predeterminado es ‘5’.
cgit-configuration
: integer cache-root-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de la página del índice de repositorios.
El valor predeterminado es ‘5’.
cgit-configuration
: integer cache-scanrc-ttl ¶Número que especifica el tiempo de vida, en minutos, para el resultado de la búsqueda en una ruta para repositorios Git.
El valor predeterminado es ‘15’.
cgit-configuration
: integer cache-about-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de la página de información del repositorio.
El valor predeterminado es ‘15’.
cgit-configuration
: integer cache-snapshot-ttl ¶Número que especifica el tiempo de vida, en minutos, de la versión en caché de las instantáneas.
El valor predeterminado es ‘5’.
cgit-configuration
: integer cache-size ¶El número máximo de entradas en la caché de cgit. Cuando el valor es ‘0’, se desactiva el almacenamiento en caché.
El valor predeterminado es ‘0’.
cgit-configuration
: boolean case-sensitive-sort? ¶Ordena los elementos en la lista del repositorio diferenciando las mayúsculas.
El valor predeterminado es ‘#t’
cgit-configuration
: lista clone-prefix ¶Lista de prefijos comunes que, cuando se combinen con la URL de un repositorio, generan una URL que permite el clonado del repositorio.
El valor predeterminado es ‘()’.
cgit-configuration
: lista clone-url ¶Lista de plantillas clone-url
.
El valor predeterminado es ‘()’.
cgit-configuration
: file-object commit-filter ¶Orden ejecutada para el formato de mensajes de revisión.
El valor predeterminado es ‘""’.
cgit-configuration
: string commit-sort ¶Opción que, cuando tiene valor ‘date’, activa la ordenación estricta por fecha en el registro histórico de revisiones, y cuando tiene valor ‘topo’ activa la ordenación estricta topológica.
El valor predeterminado es ‘"git log"’.
cgit-configuration
: file-object css ¶URL que especifica el documento css incluido en todas las páginas de cgit.
El valor predeterminado es ‘"/share/cgit/cgit.css"’.
cgit-configuration
: file-object email-filter ¶Especifica una orden que se llamará para dar formato a los nombres y las direcciones de correo electrónico de las revisoras, autoras y etiquetadoras con el que se representarán en varios lugares de la interfaz cgit.
El valor predeterminado es ‘""’.
cgit-configuration
: boolean embedded? ¶Opción que, cuando tiene valor ‘#t’, hace que cgit genere un fragmento HTML adecuado para embeberse en otras páginas HTML.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-commit-graph? ¶Opción que, cuando tiene el valor ‘#t’, hace que cgit imprima un grafo histórico de la revisión de arte ASCII a la izquierda de los mensajes de revisión en la página del histórico del repositorio.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-filter-overrides? ¶Opción que, cuando tiene valor ‘#t’, permite que todas las configuraciones de filtros se sustituyan en los archivos cgitrc específicos del repositorio.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-follow-links? ¶Opción que, cuando tiene valor ‘#t’, permite a las usuarias seguir un archivo en la vista de registro (log).
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-http-clone? ¶Si se proporciona ‘#t’, cgit actuará como un simple servidor HTTP para los clones de Git.
El valor predeterminado es ‘#t’
cgit-configuration
: boolean enable-index-links? ¶Opción que, cuando tiene valor ‘#t’, hace que cgit genere enlaces adicionales "summary" (resumen), "commit" (revisión) y "tree" (árbol) para cada repositorio en el índice de repositorios.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-index-owner? ¶Opción que, cuando tiene valor ‘#t’, hace que cgit muestre la propietaria de cada repositorio en el índice del repositorios.
El valor predeterminado es ‘#t’
cgit-configuration
: boolean enable-log-filecount? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit imprima el número de archivos modificados por cada revisión en la página de registro histórico del repositorio ("log").
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-log-linecount? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit imprima el número de líneas añadidas y eliminadas en cada revisión en la página de registro histórico ("log").
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-remote-branches? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit muestre ramas remotas en las vistas de resumen ("summary") y de referencias ("refs").
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-subject-links? ¶Opción que, cuando se proporciona el valor 1
, hace que cgit use el
asunto de la revisión previa como texto del enlace cuando se generen enlaces
a revisiones previas en la vista de la revisión.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-html-serving? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit use el asunto de la revisión previa como texto del enlace cuando se generen enlaces a revisiones previas en la vista de la revisión.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean enable-tree-linenumbers? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit genere enlaces de números de línea para los archivos (blob) de texto plano impresos en la vista de árbol.
El valor predeterminado es ‘#t’
cgit-configuration
: boolean enable-git-config? ¶Opción que, cuando tiene valor ‘#f’, permite que cgit use la configuración de Git para fijar el valor de cualquier opción específica del repositorio.
El valor predeterminado es ‘#f’
cgit-configuration
: file-object favicon ¶URL usada para icono de los enlaces a cgit.
El valor predeterminado es ‘"/favicon.ico"’.
El contenido del archivo especificado con esta opción se incluirá literalmente en la parte inferior de todas las páginas (es decir, sustituye al mensaje estándar "generated by...").
El valor predeterminado es ‘""’.
cgit-configuration
: string head-include ¶El contenido del archivo especificado con esta opción se incluirá literalmente en la sección HEAD de HTML en todas las páginas.
El valor predeterminado es ‘""’.
cgit-configuration
: string header ¶El contenido del archivo especificado con esta opción se incluirá literalmente en la parte superior de todas las páginas.
El valor predeterminado es ‘""’.
cgit-configuration
: file-object include ¶Nombre de un archivo de configuración que debe incluirse antes de procesar el resto del archivo de configuración actual.
El valor predeterminado es ‘""’.
cgit-configuration
: string index-header ¶El contenido del archivo especificado en esta opción se incluirá literalmente sobre el índice de repositorios.
El valor predeterminado es ‘""’.
cgit-configuration
: string index-info ¶El contenido del archivo especificado con esta opción se incluirá de manera literal bajo la cabecera en la página de índice del repositorio.
El valor predeterminado es ‘""’.
cgit-configuration
: boolean local-time? ¶Opción que, cuando tiene valor ‘#t’, hace que cgit imprima las fechas de revisión y etiqueta en la zona horaria del servidor.
El valor predeterminado es ‘#f’
cgit-configuration
: file-object logo ¶URL que especifica la fuente de una imagen usada como logo en todas las páginas de cgit.
El valor predeterminado es ‘"/share/cgit/cgit.png"’.
cgit-configuration
: string logo-link ¶URL que se carga al pulsar la imagen del logo de cgit.
El valor predeterminado es ‘""’.
cgit-configuration
: file-object owner-filter ¶Orden que se ejecuta para dar formato a la columna de propietaria (Owner) de la página principal.
El valor predeterminado es ‘""’.
cgit-configuration
: integer max-atom-items ¶Número de elementos a mostrar en la vista de “atom feeds”.
El valor predeterminado es ‘10’.
cgit-configuration
: integer max-commit-count ¶Número de entradas a mostrar por página en la vista del registro histórico ("log").
El valor predeterminado es ‘50’.
cgit-configuration
: integer max-message-length ¶Número de caracteres del mensaje de la revisión a mostrar en la vista del registro histórico ("log").
El valor predeterminado es ‘80’.
cgit-configuration
: integer max-repo-count ¶Especifica el número de entradas a mostrar por página en la página de índice de repositorios.
El valor predeterminado es ‘50’.
cgit-configuration
: integer max-repodesc-length ¶Especifica el número máximo de caracteres mostrados en la descripción del repositorio en la página del índice de repositorios.
El valor predeterminado es ‘80’.
cgit-configuration
: integer max-blob-size ¶Especifica el tamaño máximo de un archivo (blob) para mostrarlo en HTML en kilobytes.
El valor predeterminado es ‘0’.
cgit-configuration
: string max-stats ¶Periodo estadístico máximo. Son valores aceptados ‘week’, ‘month’, ‘quarter’ and ‘year’.
El valor predeterminado es ‘""’.
cgit-configuration
: mimetype-alist mimetype ¶Tipo MIME para la extensión de archivo especificada.
El valor predeterminado es ‘((gif "image/gif") (html "text/html") (jpg "image/jpeg") (jpeg "image/jpeg") (pdf "application/pdf") (png "image/png") (svg "image/svg+xml"))’.
cgit-configuration
: file-object mimetype-file ¶Especifica el archivo usado para la búsqueda automática de tipos MIME.
El valor predeterminado es ‘""’.
cgit-configuration
: string module-link ¶Texto que se usará como la cadena de formato para un enlace cuando un submódulo se imprime en el listado del directorio.
El valor predeterminado es ‘""’.
cgit-configuration
: boolean nocache? ¶Si se proporciona el valor ‘#t’, se desactiva la caché.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean noplainemail? ¶Si se proporciona ‘#t’, se desactiva la impresión de direcciones de correo completas de las autoras.
El valor predeterminado es ‘#f’
cgit-configuration
: boolean noheader? ¶Opción que, cuando tiene valor ‘#t’, hace que cgit omita la cabecera estándar en todas las páginas.
El valor predeterminado es ‘#f’
cgit-configuration
: lista-proyectos project-list ¶Una lista de subdirectorios dentro de repository-directory
, relativa
a él, que debe cargarse como repositorios Git. La lista vacía significa que
se cargarán todos los subdirectorios.
El valor predeterminado es ‘()’.
cgit-configuration
: file-object readme ¶Texto usado como valor predeterminado para cgit-repo-readme
.
El valor predeterminado es ‘""’.
cgit-configuration
: boolean remove-suffix? ¶Si se proporciona #t
y repository-directory
está activo, si se
encuentra algún repositorio con el sufijo .git
, se elimina dicho
sufijo de la URL y del nombre.
El valor predeterminado es ‘#f’
cgit-configuration
: integer renamelimit ¶Número máximo de archivos considerados durante la detección de renombrados.
El valor predeterminado es ‘-1’.
cgit-configuration
: string repository-sort ¶La forma de ordenar los repositorios de cada sección.
El valor predeterminado es ‘""’.
cgit-configuration
: lista-robots robots ¶Texto usado como contenido de la meta-etiqueta robots
.
El valor predeterminado es ‘("noindex" "nofollow")’.
cgit-configuration
: string root-desc ¶Texto impreso bajo la cabecera en la página de índice del repositorio.
El valor predeterminado es ‘"a fast webinterface for the git dscm"’.<
cgit-configuration
: string root-readme ¶El contenido del archivo especificado con esta opción se incluirá de manera literal tras el enlace de información del repositorio (“about”) en la página de índice del repositorio.
El valor predeterminado es ‘""’.
cgit-configuration
: string root-title ¶Texto impreso como cabecera en la página de índice del repositorio.
El valor predeterminado es ‘""’.
Si se proporciona ‘#t’ y repository-directory está activo, repository-directory recorrerá recursivamente los directorios cuyos nombres comiencen por punto. En otro caso, repository-directory no tendrá en cuenta dichos directorios, considerados ocultos (“hidden”). Tenga en cuenta que esto no incluye al directorio .git en repositorios con una copia de trabajo.
El valor predeterminado es ‘#f’
cgit-configuration
: lista snapshots ¶Texto que especifica el conjunto predeterminado de formatos de instantánea para los que cgit genera enlaces.
El valor predeterminado es ‘()’.
cgit-configuration
: directorio-repositorio repository-directory ¶Nombre del directorio en el que se buscarán repositorios (representa
scan-path
).
El valor predeterminado es ‘"/srv/git"’.
cgit-configuration
: string section ¶Nombre actual de la sección de repositorios - todos los repositorios definidos tras esta opción heredarán el nombre actual de sección.
El valor predeterminado es ‘""’.
cgit-configuration
: string section-sort ¶Opción que, cuando tiene valor ‘1’, ordenará las secciones en el listado de repositorios por nombre.
El valor predeterminado es ‘""’.
cgit-configuration
: integer section-from-path ¶Número que, si se define antes de repository-directory, especifica cuantos elementos de ruta de cada ruta de repositorio se usarán como nombre de sección predeterminado.
El valor predeterminado es ‘0’.
cgit-configuration
: boolean side-by-side-diffs? ¶Si se proporciona el valor ‘#t’ se muestran las diferencias lado a lado en vez de usar el formato universal de manera predeterminada.
El valor predeterminado es ‘#f’
cgit-configuration
: file-object source-filter ¶Especifica la orden que se ejecutará para dar formato a los archivos (blob) de texto plano en la vista de árbol.
El valor predeterminado es ‘""’.
cgit-configuration
: integer summary-branches ¶Especifica el número de ramas mostradas en la vista resumen (“summary”) del repositorio.
El valor predeterminado es ‘10’.
cgit-configuration
: integer summary-log ¶Especifica el número de entradas del registro mostradas en la vista resumen (“summary”) del repositorio.
El valor predeterminado es ‘10’.
Especifica el número que etiquetas que se mostrarán en la vista resumen (“summary”) del repositorio.
El valor predeterminado es ‘10’.
cgit-configuration
: string strict-export ¶Nombre de archivo que, en caso de especificarse, debe estar presente en el repositiorio para que se permita el acceso de cgit a dicho repositorio.
El valor predeterminado es ‘""’.
cgit-configuration
: string virtual-root ¶URL que, en caso de especificarse, se usará como raíz de todos los enlaces de cgit.
El valor predeterminado es ‘"/"’.
cgit-configuration
: lista-repository-cgit-configuration repositories ¶Lista de registros cgit-repo usados con la configuración.
El valor predeterminado es ‘()’.
Los campos disponibles de repository-cgit-configuration
son:
repository-cgit-configuration
: repo-list snapshots ¶Una máscara de los formatos de instantánea para este repositorio para los
que cgit genera enlaces, restringida por la opción de configuración global
snapshots
.
El valor predeterminado es ‘()’.
repository-cgit-configuration
: repo-file-object source-filter ¶Sustituye al valor predeterminado de source-filter
.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string url ¶La URL relativa usada para el acceso al repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-file-object about-filter ¶Sustituye al valor predeterminado de about-filter
.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string branch-sort ¶Cuando se proporciona el valor ‘age’, activa la ordenación por fecha en la lista de referencias de ramas, y cuando se proporciona ‘name’ se activa la ordenación por nombre de rama.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-list clone-url ¶Una lista de URL que se pueden usar para clonar el repositorio.
El valor predeterminado es ‘()’.
repository-cgit-configuration
: repo-file-object commit-filter ¶Sustituye al valor predeterminado de commit-filter
.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string commit-sort ¶Opción que, cuando tiene valor ‘date’, activa la ordenación estricta por fecha en el registro histórico de revisiones, y cuando tiene valor ‘topo’ activa la ordenación estricta topológica.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string defbranch ¶Nombre de la rama predeterminada de este repositorio. Si no existe dicha rama en el repositorio, se usará como predeterminado el primer nombre de rama encontrado (tras su ordenación). De manera predeterminada, la rama a la que apunta HEAD, o “master” si no existe un valor adecuado para HEAD.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string desc ¶El valor a mostrar como descripción del repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string homepage ¶El valor a mostrar como página web principal del repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-file-object email-filter ¶Sustituye al valor predeterminado de email-filter
.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: maybe-repo-boolean enable-commit-graph? ¶Esta opción se puede usar para forzar el valor de la opción de configuración
global enable-commit-graph?
.
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: maybe-repo-boolean enable-log-filecount? ¶Esta opción se puede usar para forzar el valor de la opción de configuración
global enable-log-filecount?
.
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: maybe-repo-boolean enable-log-linecount? ¶Esta opción se puede usar para forzar el valor de la opción de configuración
global enable-log-linecount?
.
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: maybe-repo-boolean enable-remote-branches? ¶Opción que, cuando se proporciona el valor ‘#t’, hace que cgit muestre ramas remotas en las vistas de resumen ("summary") y de referencias ("refs").
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: maybe-repo-boolean enable-subject-links? ¶Esta opción se puede usar para forzar el valor de la opción de configuración
global enable-subject-links?
.
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: maybe-repo-boolean enable-html-serving? ¶Esta opción se puede usar para forzar el valor de la opción de configuración
global enable-html-serving?
.
El valor predeterminado es ‘disabled’.
repository-cgit-configuration
: repo-boolean hide? ¶Opción que, cuando tiene valor ‘#t’, oculta el repositorio en el índice.
El valor predeterminado es ‘#f’
repository-cgit-configuration
: repo-boolean ignore? ¶Opción que, cuando tiene valor ‘#t’, ignora el repositorio.
El valor predeterminado es ‘#f’
repository-cgit-configuration
: repo-file-object logo ¶URL que especifica la fuente de una imagen que se usará como logo en las páginas de este repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string logo-link ¶URL que se carga al pulsar la imagen del logo de cgit.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-file-object owner-filter ¶Sustituye al valor predeterminado de owner-filter
.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string module-link ¶Texto que se usará como la cadena de formato de un enlace cuando un submódulo se imprima en el listado de un directorio. Los parámetros para la cadena de formato son la ruta y el SHA1 de la revisión del submódulo.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: ruta-enlace-módulo module-link ¶Texto que se usará como la cadena de formato de un enlace cuando un submódulo con la ruta de subdirectorio especificada se imprima en el listado de un directorio.
El valor predeterminado es ‘()’.
repository-cgit-configuration
: repo-string max-stats ¶Sustituye al máximo periodo estadístico predeterminado.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string name ¶El valor a mostrar como nombre del repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string owner ¶Un valor usado para identificar a la propietaria del repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string path ¶La ruta absoluta al directorio del repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string readme ¶Una ruta (relativa al repositorio) que especifica un archivo que será incluido literalmente como página de información (“About”) de este repositorio.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-string section ¶Nombre actual de la sección de repositorios - todos los repositorios definidos tras esta opción heredarán el nombre actual de sección.
El valor predeterminado es ‘""’.
repository-cgit-configuration
: repo-list extra-options ¶Opciones adicionales a agregar al final del archivo cgitrc.
El valor predeterminado es ‘()’.
cgit-configuration
: lista extra-options ¶Opciones adicionales a agregar al final del archivo cgitrc.
El valor predeterminado es ‘()’.
No obstante, puede ser que únicamente desee usar un archivo cgitrc
existente. En ese caso, puede proporcionar opaque-cgit-configuration
como un registro a cgit-service-type
. Como su nombre en inglés
indica, una configuración opaca no tiene gran capacidad reflexiva.
Los campos disponibles de opaque-cgit-configuration
son:
opaque-cgit-configuration
: package cgit ¶El paquete cgit.
opaque-cgit-configuration
: string string ¶El contenido de cgitrc
, como una cadena.
Por ejemplo, si su cgitrc
es simplemente la cadena vacía, puede
instanciar un servicio cgit de esta manera:
(service cgit-service-type
(opaque-cgit-configuration
(cgitrc "")))
Gitolite es una herramienta para el almacenamiento de repositorios Git en un servidor central.
Gitolite puede manejar múltiples repositorios y usuarias, y permite una configuración flexible de los permisos de las usuarias sobre los repositorios.
El siguiente ejemplo configuraría Gitolite con la usuaria predeterminada
git
y la clave pública SSH proporcionada.
(service gitolite-service-type
(gitolite-configuration
(admin-pubkey (plain-file
"sunombre.pub"
"ssh-rsa AAAA... guix@example.com"))))
Gitolite se configura a través de un repositorio de administración especial
que puede clonar, por ejemplo, si configuró Gitolite en example.org
,
ejecutaría la siguiente orden para clonar el repositorio de administración.
git clone git@example.com:gitolite-admin
Cuando se activa el servicio Gitolite, la clave admin-pubkey
proporcionada se insertará en el directorio keydir en el repositorio
gitolite-admin. Si esto resultase en un cambio en el repositorio, la
revisión se almacenaría con el mensaje “gitolite setup by GNU Guix”.
Tipo de datos que representa la configuración de
gitolite-service-type
.
package
(predeterminado: gitolite)Gitolite package to use. There are optional Gitolite dependencies that are
not included in the default package, such as Redis and git-annex. These
features can be made available by using the make-gitolite
procedure
in the (gnu packages version-control
) module to produce a variant of
Gitolite with the desired additional dependencies.
The following code returns a package in which the Redis and git-annex programs can be invoked by Gitolite’s scripts:
(use-modules (gnu packages databases) (gnu packages haskell-apps) (gnu packages version-control)) (make-gitolite (list redis git-annex))
user
(predeterminada: git)Usuaria usada por Gitolite. Esta será la usuaria a la que se conectará cuando acceda a Gitolite a través de SSH.
group
(predeterminado: git)Grupo usado por Gitolite.
home-directory
(predeterminado: "/var/lib/gitolite")Directorio en el que se almacenará la configuración y repositorios de Gitolite.
rc-file
(predeterminado: (gitolite-rc-file))Un objeto “tipo-archivo” (see objetos “tipo-archivo”), que representa la configuración de Gitolite.
admin-pubkey
(predeterminada: #f)Un objeto “tipo-archivo” (see objetos “tipo-archivo”) usado para la configuración de Gitolite. Se insertará en el directorio keydir dentro del repositorio gitolite-admin.
Para especificar la clave SSH como una cadena, use la función
plain-file
.
(plain-file "sunombre.pub" "ssh-rsa AAAA... guix@example.com")
Tipo de datos que representa el archivo RC de Gitolite.
umask
(predeterminada: #o0077
)Controla los permisos que Gitolite establece en los repositorios y sus contenidos.
A value like #o0027
will give read access to the group used by
Gitolite (by default: git
). This is necessary when using Gitolite
with software like cgit or gitweb.
local-code
(default: "$rc{GL_ADMIN_BASE}/local"
)Allows you to add your own non-core programs, or even override the shipped ones with your own.
Please supply the FULL path to this variable. By default, directory called "local" in your gitolite clone is used, providing the benefits of versioning them as well as making changes to them without having to log on to the server.
unsafe-pattern
(default: #f
)An optional Perl regular expression for catching unsafe configurations in the configuration file. See Gitolite’s documentation for more information.
When the value is not #f
, it should be a string containing a Perl
regular expression, such as ‘"[`~#\$\&()|;<>]"’, which is the default
value used by gitolite. It rejects any special character in configuration
that might be interpreted by a shell, which is useful when sharing the
administration burden with other people that do not otherwise have shell
access on the server.
git-config-keys
(predeterminadas: ""
)Gitolite allows you to set git config values using the ‘config’ keyword. This setting allows control over the config keys to accept.
roles
(predeterminados: '(("READERS" . 1) ("WRITERS" . ))
)Establece los nombres de rol que se permite usar a las usuarias que ejecuten la orden perms.
enable
(predeterminados: '("help" "desc" "info" "perms" "writable" "ssh-authkeys" "git-config" "daemon" "gitweb")
)Esta configuración controla las órdenes y características activadas dentro de Gitolite.
Gitile is a Git forge for viewing public git repository contents from a web browser.
Gitile works best in collaboration with Gitolite, and will serve the public repositories from Gitolite by default. The service should listen only on a local port, and a webserver should be configured to serve static resources. The gitile service provides an easy way to extend the Nginx service for that purpose (see NGINX).
The following example will configure Gitile to serve repositories from a custom location, with some default messages for the home page and the footers.
(service gitile-service-type
(gitile-configuration
(repositories "/srv/git")
(base-git-url "https://myweb.site/git")
(index-title "My git repositories")
(intro '((p "This is all my public work!")))
(footer '((p "This is the end")))
(nginx-server-block
(nginx-server-configuration
(ssl-certificate
"/etc/letsencrypt/live/myweb.site/fullchain.pem")
(ssl-certificate-key
"/etc/letsencrypt/live/myweb.site/privkey.pem")
(listen '("443 ssl http2" "[::]:443 ssl http2"))
(locations
(list
;; Allow for https anonymous fetch on /git/ urls.
(git-http-nginx-location-configuration
(git-http-configuration
(uri-path "/git/")
(git-root "/var/lib/gitolite/repositories")))))))))
In addition to the configuration record, you should configure your git repositories to contain some optional information. First, your public repositories need to contain the git-daemon-export-ok magic file that allows Git to export the repository. Gitile uses the presence of this file to detect public repositories it should make accessible. To do so with Gitolite for instance, modify your conf/gitolite.conf to include this in the repositories you want to make public:
repo foo R = daemon
In addition, Gitile can read the repository configuration to display more information on the repository. Gitile uses the gitweb namespace for its configuration. As an example, you can use the following in your conf/gitolite.conf:
repo foo R = daemon desc = A long description, optionally with <i>HTML</i>, shown on the index page config gitweb.name = The Foo Project config gitweb.synopsis = A short description, shown on the main page of the project
Do not forget to commit and push these changes once you are satisfied. You may need to change your gitolite configuration to allow the previous configuration options to be set. One way to do that is to add the following service definition:
(service gitolite-service-type
(gitolite-configuration
(admin-pubkey (local-file "key.pub"))
(rc-file
(gitolite-rc-file
(umask #o0027)
;; Allow to set any configuration key
(git-config-keys ".*")
;; Allow any text as a valid configuration value
(unsafe-patt "^$")))))
Data type representing the configuration for gitile-service-type
.
package
(default: gitile)Gitile package to use.
host
(predeterminado: "localhost"
)The host on which gitile is listening.
port
(default: 8080
)The port on which gitile is listening.
database
(default: "/var/lib/gitile/gitile-db.sql"
)The location of the database.
repositories
(default: "/var/lib/gitolite/repositories"
)The location of the repositories. Note that only public repositories will be shown by Gitile. To make a repository public, add an empty git-daemon-export-ok file at the root of that repository.
base-git-url
The base git url that will be used to show clone commands.
index-title
(default: "Index"
)The page title for the index page that lists all the available repositories.
intro
(default: '()
)The intro content, as a list of sxml expressions. This is shown above the list of repositories, on the index page.
footer
(default: '()
)The footer content, as a list of sxml expressions. This is shown on every page served by Gitile.
nginx-server-block
An nginx server block that will be extended and used as a reverse proxy by Gitile to serve its pages, and as a normal web server to serve its assets.
You can use this block to add more custom URLs to your domain, such as a
/git/
URL for anonymous clones, or serving any other files you would
like to serve.
Mediante la creación del archivo mágico git-daemon-export-ok en el directorio del repositorio.
Next: Servicios de juegos, Previous: Servicios de virtualización, Up: Servicios [Contents][Index]