Skip to main content
La sincronización con GitLab se ejecuta en el servicio web (el módulo gitlab-sync) de cada pod de Ayakaleaf Pro. Necesita la integración con Git. Crea la aplicación OAuth y consulta qué hace cada ajuste en Sincronización con GitLab; esta página lo traslada a Kubernetes.

Configuración

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" y el StatefulSet de git-bridge de la integración con Git deben estar configurados: sin ellos, la configuración de la cuenta y el editor ocultan la sincronización con GitLab.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD cifra los tokens de acceso y de actualización de GitLab de los usuarios en MongoDB. Todas las réplicas deben usar el mismo valor, y cambiarlo más adelante obliga a todos los usuarios a vincular GitLab de nuevo.
3

CA privada (opcional)

Si tu GitLab tiene un certificado de tu propia CA, añade la CA al Secret overleaf-certs montado en /var/lib/overleaf/certs (consulta Certificados y otros archivos) y establece NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem en el ConfigMap.
4

Aplicar, reiniciar y comprobar

Cualquier código de estado HTTP significa que GitLab es accesible desde ese pod; 000 significa que no lo es.

Varias réplicas

No hace falta nada más aparte del GITLAB_TOKEN_CIPHER_PASSWORD compartido. Una sincronización toma un bloqueo en Redis, compartido con las demás sincronizaciones de Git, de modo que dos réplicas nunca sincronizan el mismo proyecto a la vez. Actualizar el token de GitLab de un usuario también toma un bloqueo en Redis, de modo que dos réplicas no lo actualizan al mismo tiempo.

Probado en Kubernetes

Contra un simulacro de un GitLab autogestionado en GITLAB_SYNC_URL (de confianza a través de NODE_EXTRA_CA_CERTS desde overleaf-certs), en Kubernetes 1.37 con una réplica y la integración con Git activada, nuestras pruebas de extremo a extremo de la sincronización con GitLab se superan (40 casos): vincular y desvincular la cuenta, actualizar un token de acceso que caduca y tokens revocados, exportar a un nuevo proyecto privado o de grupo, importar un repositorio, pull y push, fusiones, conflictos, ramas eliminadas y con push forzado, archivos binarios, cambios de nombre y eliminaciones, y lo que pueden hacer los propietarios, editores y lectores.
Última modificación el 2 de noviembre de 2026