Skip to main content
Synchronizacja z GitLab działa w usłudze web (moduł gitlab-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 GitLab; 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 GitLab.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD szyfruje tokeny dostępu i odświeżania GitLab 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 GitLab.
3

Prywatny CA (opcjonalnie)

Jeśli Twój GitLab 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 GitLab jest osiągalny z danego poda; 000 oznacza, że nie jest.

Kilka replik

Nic dodatkowego poza wspólnym GITLAB_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. Odświeżanie tokenu GitLab użytkownika również zakłada blokadę w Redis, więc dwie repliki nie odświeżają go w tym samym czasie.

Przetestowano na Kubernetes

Na atrapie samodzielnie zarządzanego GitLab pod adresem GITLAB_SYNC_URL (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 GitLab przechodzą pomyślnie (40 przypadków): łączenie i odłączanie konta, odświeżanie wygasającego tokenu dostępu i unieważnione tokeny, eksport do nowego prywatnego projektu lub projektu grupy, import repozytorium, pobieranie i wypychanie, scalanie, konflikty, usunięte gałęzie i gałęzie po wymuszonym wypchnięciu, pliki binarne, zmiany nazw i usunięcia oraz to, co mogą robić właściciele, edytorzy i osoby z dostępem tylko do odczytu.
Ostatnia modyfikacja 2 listopada 2026