Skip to main content
GitLab-synkronisering kører i web-tjenesten (modulet gitlab-sync) i hver Ayakaleaf Pro-pod. Den kræver Git-integrationen. Opret OAuth-applikationen, og læs, hvad hver indstilling gør, under GitLab-synkronisering; denne side omsætter det til Kubernetes.

Konfiguration

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" og git-bridge-StatefulSet’et fra Git-integration skal være på plads: uden dem skjuler kontoindstillingerne og editoren GitLab-synkronisering.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD krypterer brugernes GitLab-adgangs- og refresh-tokens i MongoDB. Alle replikaer skal bruge den samme værdi, og hvis den ændres senere, skal alle brugere forbinde GitLab igen.
3

Privat CA (valgfrit)

Hvis din GitLab har et certifikat fra din egen CA, skal du tilføje CA’en til Secret’et overleaf-certs, der er monteret på /var/lib/overleaf/certs (se Certifikater og andre filer), og sætte NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem i ConfigMap’et.
4

Anvend, genstart og kontrollér

Enhver HTTP-status betyder, at GitLab kan nås fra den pod; 000 betyder, at den ikke kan.

Flere replikaer

Intet ekstra ud over den fælles GITLAB_TOKEN_CIPHER_PASSWORD. En synkronisering tager en lås i Redis, som deles med de andre Git-synkroniseringer, så to replikaer aldrig synkroniserer det samme projekt på samme tid. Fornyelse af en brugers GitLab-token tager også en Redis-lås, så to replikaer ikke fornyer det på samme tid.

Testet på Kubernetes

Mod en mock af en selvadministreret GitLab på GITLAB_SYNC_URL (der stoles på via NODE_EXTRA_CA_CERTS fra overleaf-certs), på Kubernetes 1.37 med én replika og Git-integrationen slået til, består vores end-to-end-tests for GitLab-synkronisering (40 tilfælde): forbindelse og afbrydelse af kontoen, fornyelse af et udløbende adgangstoken og tilbagekaldte tokens, eksport til et nyt privat projekt eller gruppeprojekt, import af et repository, pull og push, merges, konflikter, slettede og force-pushede branches, binære filer, omdøbninger og sletninger samt hvad ejere, redaktører og læsere må gøre.
Sidst ændret 2. november 2026