gitlab-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 GitLabem; 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 GitLabem skryjí.2
Secret
GITLAB_TOKEN_CIPHER_PASSWORD šifruje přístupové a obnovovací tokeny uživatelů ke GitLabu v MongoDB. Všechny repliky musí používat stejnou hodnotu a její pozdější změna donutí všechny uživatele propojit GitLab znovu.3
Soukromá CA (volitelné)
Pokud má váš GitLab 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éhoGITLAB_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ě. Obnovení tokenu uživatele ke GitLabu si rovněž bere zámek v Redisu, takže jej dvě repliky neobnovují ve stejnou chvíli.
Testováno na Kubernetes
Proti napodobenině vlastního GitLabu naGITLAB_SYNC_URL (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 GitLabem (40 případů): propojení a zrušení propojení účtu, obnovení přístupového tokenu, jehož platnost vyprší, a odvolané tokeny, export do nového soukromého nebo skupinového projektu, import repozitáře, pull a push, merge, konflikty, smazané větve a větve po force pushi, binární soubory, přejmenování a mazání a co mohou dělat vlastníci, editoři a čtenáři.
