gitea-sync) każdego poda Ayakaleaf Pro. Wymaga integracji z Git. Utwórz aplikację OAuth i przeczytaj, co robi każde ustawienie, w Synchronizacja z Gitea; ta strona opisuje, jak umieścić to w Kubernetes.
Konfiguracja
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" oraz StatefulSet git-bridge z Integracja z Git muszą być skonfigurowane: bez nich ustawienia konta i edytor ukrywają synchronizację z Gitea.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD szyfruje tokeny dostępu i odświeżania Gitea 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 Gitea.3
Prywatne CA (opcjonalnie)
Jeśli Twoja instancja Gitea ma certyfikat z Twojego własnego CA, dodaj CA do Secret
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, zrestartuj i sprawdź
000 oznacza, że nie jest.Kilka replik
Poza współdzielonymGITEA_TOKEN_CIPHER_PASSWORD nic dodatkowego. Synchronizacja zakłada blokadę w Redis, współdzieloną z pozostałymi synchronizacjami Git, więc dwie repliki nigdy nie synchronizują tego samego projektu jednocześnie.
Przetestowano na Kubernetes
Wobec prawdziwej instancji Gitea 1.23 podGITEA_SYNC_URL, na Kubernetes 1.37 z jedną repliką i włączoną integracją z Git, nasze testy end-to-end dla synchronizacji z Gitea przechodzą pomyślnie (39 przypadków): łączenie i rozłączanie konta przez OAuth2 Gitea, odświeżanie wygasającego tokenu dostępu i cofnięte uprawnienia, eksport do nowego prywatnego repozytorium lub repozytorium organizacji, import repozytorium, pull i push, scalenia, konflikty, usunięte gałęzie i gałęzie po force-push, pliki binarne, zmiany nazw i usunięcia oraz uprawnienia właścicieli, edytorów i osób przeglądających.
