Skip to main content
Synchronizacja z GitHub działa w usłudze web (moduł github-sync) każdego poda Ayakaleaf Pro. Wymaga integracji z Git. Utwórz aplikację OAuth i przeczytaj, do czego służy każde ustawienie, na stronie Synchronizacja z GitHub; ta strona przenosi tę konfigurację do Kubernetes.

Konfiguracja

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" oraz StatefulSet git-bridge z integracji z Git muszą być na miejscu: bez nich ustawienia konta i edytor ukrywają synchronizację z GitHub.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD szyfruje tokeny dostępu GitHub użytkowników w MongoDB. Każda replika musi używać tej samej wartości, a późniejsza jej zmiana zmusza każdego użytkownika do ponownego połączenia GitHub.
3

Prywatny CA (opcjonalnie)

Jeśli Twój GitHub ma certyfikat wystawiony przez własny urząd certyfikacji (CA), dodaj ten CA do Secretu overleaf-certs zamontowanego w /var/lib/overleaf/certs (zobacz Certyfikaty i inne pliki) i ustaw NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem w ConfigMap.
4

Zastosuj, uruchom ponownie i sprawdź

Dowolny kod statusu HTTP oznacza, że GitHub jest osiągalny z danego poda; 000 oznacza, że nie jest.

Kilka replik

Nic dodatkowego poza wspólnym GITHUB_TOKEN_CIPHER_PASSWORD. Synchronizacja zakłada blokadę w Redis, współdzieloną z innymi synchronizacjami Git, więc dwie repliki nigdy nie synchronizują tego samego projektu jednocześnie.

Przetestowano na Kubernetes

Na atrapie github.com oraz jego API REST i GraphQL (zaufanej przez NODE_EXTRA_CA_CERTS z overleaf-certs), na Kubernetes 1.37 z jedną repliką i włączoną integracją z Git, nasze testy end-to-end synchronizacji z GitHub przechodzą pomyślnie (31 przypadków): łączenie i odłączanie konta, unieważnione tokeny, eksport projektu do nowego prywatnego repozytorium lub repozytorium organizacji, import repozytorium (również przekraczającego limit przesyłania), pobieranie i wypychanie, scalanie, konflikty i ręczne scalanie, usunięte gałęzie i gałęzie po wymuszonym wypchnięciu, pliki binarne, zmiany nazw i usunięcia, utrata uprawnień do wypychania oraz to, co mogą robić właściciele, edytorzy i osoby z dostępem tylko do odczytu.
Ostatnia modyfikacja 2 listopada 2026