Skip to main content
Die GitHub-Synchronisierung läuft im web-Dienst (dem Modul github-sync) jedes Ayakaleaf Pro-Pods. Sie benötigt die Git-Integration. Wie Sie die OAuth-Anwendung erstellen und was die einzelnen Einstellungen bewirken, lesen Sie unter GitHub-Synchronisierung; diese Seite überträgt das auf Kubernetes.

Konfiguration

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" und das git-bridge-StatefulSet aus der Git-Integration müssen vorhanden sein: Ohne sie blenden die Kontoeinstellungen und der Editor die GitHub-Synchronisierung aus.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD verschlüsselt die GitHub-Zugriffstoken der Benutzer in MongoDB. Jedes Replikat muss denselben Wert verwenden, und eine spätere Änderung zwingt alle Benutzer, GitHub erneut zu verknüpfen.
3

Private CA (optional)

Wenn Ihr GitHub ein Zertifikat Ihrer eigenen CA verwendet, fügen Sie die CA dem Secret overleaf-certs hinzu, das unter /var/lib/overleaf/certs eingebunden ist (siehe Zertifikate und andere Dateien), und setzen Sie NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem in der ConfigMap.
4

Anwenden, neu starten und prüfen

Jeder HTTP-Status bedeutet, dass GitHub von diesem Pod aus erreichbar ist; 000 bedeutet, dass es nicht erreichbar ist.

Mehrere Replikate

Außer dem gemeinsamen GITHUB_TOKEN_CIPHER_PASSWORD ist nichts weiter nötig. Eine Synchronisierung setzt eine Sperre in Redis, die mit den anderen Git-Synchronisierungen geteilt wird, sodass zwei Replikate nie gleichzeitig dasselbe Projekt synchronisieren.

Auf Kubernetes getestet

Gegen einen Mock von github.com und seinen REST- und GraphQL-APIs (vertraut über NODE_EXTRA_CA_CERTS aus overleaf-certs) bestehen auf Kubernetes 1.37 mit einem Replikat und aktivierter Git-Integration unsere End-to-End-Tests für die GitHub-Synchronisierung (31 Fälle): Verknüpfen und Trennen des Kontos, widerrufene Token, Export eines Projekts in ein neues privates oder Organisations-Repository, Import eines Repositorys (auch über dem Upload-Limit), Pull und Push, Merges, Konflikte und manuelle Merges, gelöschte und per Force-Push überschriebene Branches, Binärdateien, Umbenennungen und Löschungen, Verlust der Push-Berechtigung sowie die Befugnisse von Besitzern, Bearbeitern und Betrachtern.
Zuletzt geändert am 2. November 2026