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ź
000 oznacza, że nie jest.Kilka replik
Nic dodatkowego poza wspólnymGITLAB_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 adresemGITLAB_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.
