Skip to main content
Synchronizacja z Gitea działa w usłudze web (moduł 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ź

Dowolny status HTTP oznacza, że Gitea jest osiągalna z danego poda; 000 oznacza, że nie jest.

Kilka replik

Poza współdzielonym GITEA_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 pod GITEA_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.
Ostatnia modyfikacja 2 listopada 2026