Skip to main content
GitHub-synchronisatie draait in de web-service (de module github-sync) van elke Ayakaleaf Pro-pod. Ze vereist de Git-integratie. Maak de OAuth-applicatie aan en lees wat elke instelling doet in GitHub-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 GitHub-synchronisatie.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD versleutelt de GitHub-toegangstokens van de gebruikers in MongoDB. Elke replica moet dezelfde waarde gebruiken, en als je deze later wijzigt, moet elke gebruiker GitHub opnieuw koppelen.
3

Private CA (optioneel)

Als je GitHub 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 GitHub bereikbaar is vanaf die pod; 000 betekent dat dat niet zo is.

Meerdere replica’s

Niets extra’s naast de gedeelde GITHUB_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.

Getest op Kubernetes

Tegen een mock van github.com en de bijbehorende REST- en GraphQL-API’s (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 GitHub-synchronisatie (31 gevallen): het account koppelen en ontkoppelen, ingetrokken tokens, een project exporteren naar een nieuwe private repository of organisatierepository, een repository importeren (ook boven de uploadlimiet), pullen en pushen, merges, conflicten en handmatige merges, verwijderde en geforceerd gepushte branches, binaire bestanden, hernoemingen en verwijderingen, het verliezen van pushrechten, en wat eigenaren, bewerkers en kijkers mogen doen.
Laatst gewijzigd op 2 november 2026