gitea-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 Gitea 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 Gitea Senkronizasyonunu gizler.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD, kullanıcıların Gitea erişim ve yenileme 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 Gitea’yı yeniden bağlamasını gerektirir.3
Özel CA (isteğe bağlı)
Gitea’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şılanGITEA_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
GITEA_SYNC_URL adresindeki gerçek bir Gitea 1.23’e karşı, tek replikalı ve Git entegrasyonu açık Kubernetes 1.37 üzerinde, Gitea Senkronizasyonu için uçtan uca testlerimiz başarılı oldu (39 vaka): Gitea’nın OAuth2’si üzerinden hesabı bağlama ve bağlantısını kaldırma, süresi dolan erişim token’ını yenileme ve iptal edilmiş yetkiler, yeni bir özel veya organizasyon deposuna dışa aktarma, bir depoyu içe aktarma, çekme ve gönderme, birleştirmeler, çakışmalar, silinmiş ve zorla gönderilmiş dallar, ikili dosyalar, yeniden adlandırmalar ve silmeler ve sahiplerin, düzenleyicilerin ve görüntüleyicilerin neler yapabileceği.
