Skip to main content
GitLab-synchronisatie draait in de web-service (de module gitlab-sync) van elke Ayakaleaf Pro-pod. Ze vereist de Git-integratie. Maak de OAuth-applicatie aan en lees wat elke instelling doet in GitLab-synchronisatie; deze pagina zet het om naar Kubernetes.

Configuratie

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" en de git-bridge-StatefulSet uit Git-integratie moeten aanwezig zijn: zonder deze verbergen de accountinstellingen en de editor GitLab-synchronisatie.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD versleutelt de GitLab-toegangs- en vernieuwingstokens van de gebruikers in MongoDB. Elke replica moet dezelfde waarde gebruiken, en als je deze later wijzigt, moet elke gebruiker GitLab opnieuw koppelen.
3

Private CA (optioneel)

Als je GitLab een certificaat van je eigen CA heeft, voeg de CA dan toe aan de Secret overleaf-certs die is gekoppeld op /var/lib/overleaf/certs (zie Certificaten en andere bestanden) en stel NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem in de ConfigMap in.
4

Toepassen, herstarten en controleren

Elke HTTP-status betekent dat GitLab bereikbaar is vanaf die pod; 000 betekent dat dat niet zo is.

Meerdere replica’s

Niets extra’s naast de gedeelde GITLAB_TOKEN_CIPHER_PASSWORD. Een synchronisatie neemt een lock in Redis, gedeeld met de andere Git-synchronisaties, zodat twee replica’s nooit tegelijk hetzelfde project synchroniseren. Het vernieuwen van het GitLab-token van een gebruiker neemt ook een Redis-lock, zodat twee replica’s het niet tegelijkertijd vernieuwen.

Getest op Kubernetes

Tegen een mock van een zelfbeheerde GitLab op GITLAB_SYNC_URL (vertrouwd via NODE_EXTRA_CA_CERTS uit overleaf-certs), op Kubernetes 1.37 met één replica en de Git-integratie ingeschakeld, slagen onze end-to-endtests voor GitLab-synchronisatie (40 gevallen): het account koppelen en ontkoppelen, een verlopend toegangstoken vernieuwen en ingetrokken tokens, exporteren naar een nieuw privé- of groepsproject, een repository importeren, pullen en pushen, merges, conflicten, verwijderde en geforceerd gepushte branches, binaire bestanden, hernoemingen en verwijderingen, en wat eigenaren, bewerkers en kijkers mogen doen.
Laatst gewijzigd op 2 november 2026