github-sync) i varje Ayakaleaf Pro-pod. Den kräver Git-integrationen. Skapa OAuth-applikationen och läs vad varje inställning gör i GitHub-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 GitHub-synkroniseringen.2
Secret
GITHUB_TOKEN_CIPHER_PASSWORD krypterar användarnas GitHub-åtkomsttokens i MongoDB. Alla repliker måste använda samma värde, och om du ändrar det senare måste alla användare länka GitHub på nytt.3
Privat CA (valfritt)
Om din GitHub 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 gemensammaGITHUB_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.
Testat på Kubernetes
Mot en mock av github.com och dess REST- och GraphQL-API:er (betrodd viaNODE_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 GitHub-synkronisering sig (31 fall): länkning och avlänkning av kontot, återkallade tokens, export av ett projekt till ett nytt privat repositorium eller organisationsrepositorium, import av ett repositorium (även över uppladdningsgränsen), hämtning och pushning, sammanslagningar, konflikter och manuella sammanslagningar, borttagna och force-pushade grenar, binära filer, namnbyten och borttagningar, förlorad push-behörighet samt vad ägare, redigerare och läsare får göra.
