github-sync modülü) çalışır. Git entegrasyonu gerektirir. OAuth uygulamasını oluşturmak ve her ayarın ne işe yaradığını öğrenmek için GitHub Senkronizasyonu sayfasına bakın; bu sayfa bunu Kubernetes’e uygular.
Yapılandırma
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" ve Git entegrasyonu sayfasındaki git-bridge StatefulSet’i mevcut olmalıdır: bunlar olmadan hesap ayarları ve düzenleyici GitHub Senkronizasyonunu gizler.2
Secret
GITHUB_TOKEN_CIPHER_PASSWORD, kullanıcıların GitHub erişim token’larını MongoDB’de şifreler. Her replika aynı değeri kullanmalıdır; bu değeri daha sonra değiştirmek, her kullanıcının GitHub’ı yeniden bağlamasını gerektirir.3
Özel CA (isteğe bağlı)
GitHub’ınız kendi CA’nızdan alınmış bir sertifika kullanıyorsa, CA’yı
/var/lib/overleaf/certs konumuna bağlanan overleaf-certs Secret’ına ekleyin (bkz. Sertifikalar ve diğer dosyalar) ve ConfigMap’te NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem değerini ayarlayın.4
Uygulayın, yeniden başlatın ve kontrol edin
000 erişilemediği anlamına gelir.Birden fazla replika
PaylaşılanGITHUB_TOKEN_CIPHER_PASSWORD dışında ek bir şey gerekmez. Bir senkronizasyon, diğer Git senkronizasyonlarıyla paylaşılan bir Redis kilidi alır; böylece iki replika hiçbir zaman aynı projeyi aynı anda senkronize etmez.
Kubernetes üzerinde test edildi
github.com ve REST ile GraphQL API’lerinin bir taklidine karşı (overleaf-certs içinden NODE_EXTRA_CA_CERTS aracılığıyla güvenilen), tek replikalı ve Git entegrasyonu açık Kubernetes 1.37 üzerinde, GitHub Senkronizasyonu için uçtan uca testlerimiz başarılı oldu (31 vaka): hesabı bağlama ve bağlantısını kaldırma, iptal edilmiş token’lar, bir projeyi yeni bir özel veya organizasyon deposuna dışa aktarma, bir depoyu içe aktarma (yükleme sınırını aşan durumda da), çekme ve gönderme, birleştirmeler, çakışmalar ve elle birleştirmeler, silinmiş ve zorla gönderilmiş dallar, ikili dosyalar, yeniden adlandırmalar ve silmeler, gönderme erişiminin kaybedilmesi ve sahiplerin, düzenleyicilerin ve görüntüleyicilerin neler yapabileceği.
