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
000 znamená, že není.Více replik
Kromě sdílenéhoGITHUB_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íkyNODE_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.
