Skip to main content
A sincronização com GitLab é executada no serviço web (o módulo gitlab-sync) de cada pod do Ayakaleaf Pro. Ela precisa da integração com Git. Crie o aplicativo OAuth e leia o que cada configuração faz em Sincronização com GitLab; esta página a leva para o Kubernetes.

Configuração

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" e o StatefulSet do git-bridge da integração com Git precisam estar configurados: sem eles, as configurações da conta e o editor ocultam a sincronização com GitLab.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD criptografa os tokens de acesso e de atualização do GitLab dos usuários no MongoDB. Todas as réplicas devem usar o mesmo valor, e alterá-lo depois faz com que todos os usuários precisem vincular o GitLab novamente.
3

CA privada (opcional)

Se o seu GitLab tiver um certificado da sua própria CA, adicione a CA ao Secret overleaf-certs montado em /var/lib/overleaf/certs (veja Certificados e outros arquivos) e defina NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem no ConfigMap.
4

Aplicar, reiniciar e verificar

Qualquer status HTTP significa que o GitLab está acessível a partir desse pod; 000 significa que não está.

Várias réplicas

Nada além do GITLAB_TOKEN_CIPHER_PASSWORD compartilhado. Uma sincronização obtém um lock no Redis, compartilhado com as outras sincronizações Git, de modo que duas réplicas nunca sincronizam o mesmo projeto ao mesmo tempo. A renovação do token do GitLab de um usuário também obtém um lock no Redis, de modo que duas réplicas não o renovam ao mesmo tempo.

Testado no Kubernetes

Contra um mock de um GitLab autogerenciado em GITLAB_SYNC_URL (confiável por meio de NODE_EXTRA_CA_CERTS a partir de overleaf-certs), no Kubernetes 1.37 com uma réplica e a integração com Git ativada, nossos testes ponta a ponta da sincronização com GitLab são aprovados (40 casos): vincular e desvincular a conta, renovar um token de acesso prestes a expirar e tokens revogados, exportar para um novo projeto privado ou de grupo, importar um repositório, pull e push, merges, conflitos, branches excluídos e com force push, arquivos binários, renomeações e exclusões e o que proprietários, editores e leitores podem fazer.
Última modificação em 2 de novembro de 2026