Skip to main content
Synchronizace s GitHubem běží ve službě web (modul github-sync) každého podu Ayakaleaf Pro. Vyžaduje integraci s Gitem. Vytvořte OAuth aplikaci a přečtěte si, co jednotlivá nastavení dělají, v části Synchronizace s GitHubem; tato stránka to přenáší do Kubernetes.

Konfigurace

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" a StatefulSet git-bridge z integrace s Gitem musí být nasazeny: bez nich nastavení účtu i editor synchronizaci s GitHubem skryjí.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD šifruje přístupové tokeny uživatelů ke GitHubu v MongoDB. Všechny repliky musí používat stejnou hodnotu a její pozdější změna donutí všechny uživatele propojit GitHub znovu.
3

Soukromá CA (volitelné)

Pokud má váš GitHub certifikát od vaší vlastní CA, přidejte CA do Secretu overleaf-certs připojeného do /var/lib/overleaf/certs (viz Certifikáty a další soubory) a v ConfigMapu nastavte NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem.
4

Použití, restart a kontrola

Jakýkoli stavový kód HTTP znamená, že GitHub je z daného podu dostupný; 000 znamená, že není.

Více replik

Kromě sdíleného GITHUB_TOKEN_CIPHER_PASSWORD nic dalšího. Synchronizace si v Redisu vezme zámek sdílený s ostatními synchronizacemi Gitu, takže dvě repliky nikdy nesynchronizují stejný projekt současně.

Testováno na Kubernetes

Proti napodobenině github.com a jeho REST a GraphQL API (důvěryhodné díky NODE_EXTRA_CA_CERTS z overleaf-certs), na Kubernetes 1.37 s jednou replikou a zapnutou integrací s Gitem, procházejí naše end-to-end testy synchronizace s GitHubem (31 případů): propojení a zrušení propojení účtu, odvolané tokeny, export projektu do nového soukromého nebo organizačního repozitáře, import repozitáře (i nad limitem pro nahrávání), pull a push, merge, konflikty a ruční merge, smazané větve a větve po force pushi, binární soubory, přejmenování a mazání, ztráta oprávnění k push a co mohou dělat vlastníci, editoři a čtenáři.
Naposledy změněno 2. listopadu 2026