gitlab-sync) i varje Ayakaleaf Pro-pod. Den kräver Git-integrationen. Skapa OAuth-applikationen och läs vad varje inställning gör i GitLab-synkronisering; den här sidan tillämpar det på Kubernetes.
Konfiguration
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" och git-bridge-StatefulSet:en från Git-integration måste finnas på plats: utan dem döljer kontoinställningarna och redigeraren GitLab-synkroniseringen.2
Secret
GITLAB_TOKEN_CIPHER_PASSWORD krypterar användarnas GitLab-åtkomst- och förnyelsetokens i MongoDB. Alla repliker måste använda samma värde, och om du ändrar det senare måste alla användare länka GitLab på nytt.3
Privat CA (valfritt)
Om din GitLab har ett certifikat från din egen CA lägger du till CA:n i Secret:en
overleaf-certs som monteras på /var/lib/overleaf/certs (se Certifikat och andra filer) och anger NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem i ConfigMap:en.4
Tillämpa, starta om och kontrollera
000 betyder att den inte kan det.Flera repliker
Inget extra utöver det gemensammaGITLAB_TOKEN_CIPHER_PASSWORD. En synkronisering tar ett lås i Redis, som delas med de andra Git-synkroniseringarna, så två repliker synkroniserar aldrig samma projekt samtidigt. Förnyelse av en användares GitLab-token tar också ett Redis-lås, så två repliker förnyar den inte samtidigt.
Testat på Kubernetes
Mot en mock av en egendriftad GitLab påGITLAB_SYNC_URL (betrodd via NODE_EXTRA_CA_CERTS från overleaf-certs), på Kubernetes 1.37 med en replik och Git-integrationen påslagen, klarar våra end-to-end-tester för GitLab-synkronisering sig (40 fall): länkning och avlänkning av kontot, förnyelse av en åtkomsttoken som löper ut och återkallade tokens, export till ett nytt privat projekt eller gruppprojekt, import av ett repositorium, hämtning och pushning, sammanslagningar, konflikter, borttagna och force-pushade grenar, binära filer, namnbyten och borttagningar samt vad ägare, redigerare och läsare får göra.
