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
000 significa que não está.Várias réplicas
Nada além doGITLAB_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 emGITLAB_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.
