gitea-sync) di setiap pod Ayakaleaf Pro. Fitur ini memerlukan Integrasi Git. Buat aplikasi OAuth dan baca apa fungsi setiap pengaturan di Sinkronisasi Gitea; halaman ini menerapkannya ke Kubernetes.
Konfigurasi
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" dan StatefulSet git-bridge dari Integrasi Git harus sudah tersedia: tanpa keduanya, pengaturan akun dan editor menyembunyikan Sinkronisasi Gitea.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD mengenkripsi access token dan refresh token Gitea milik pengguna di MongoDB. Setiap replika harus menggunakan nilai yang sama, dan mengubahnya nanti membuat setiap pengguna harus menautkan Gitea lagi.3
CA privat (opsional)
Jika Gitea Anda memiliki sertifikat dari CA Anda sendiri, tambahkan CA tersebut ke Secret
overleaf-certs yang di-mount di /var/lib/overleaf/certs (lihat Sertifikat dan file lainnya) dan atur NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem di ConfigMap.4
Terapkan, restart, dan periksa
000 berarti tidak.Beberapa replika
Tidak ada yang perlu ditambahkan selainGITEA_TOKEN_CIPHER_PASSWORD yang sama. Sinkronisasi mengambil lock di Redis, yang dibagi dengan sinkronisasi Git lainnya, sehingga dua replika tidak pernah menyinkronkan proyek yang sama secara bersamaan.
Diuji di Kubernetes
Terhadap Gitea 1.23 sungguhan diGITEA_SYNC_URL, di Kubernetes 1.37 dengan satu replika dan Integrasi Git aktif, pengujian end-to-end kami untuk Sinkronisasi Gitea lulus (39 kasus): menautkan dan melepas tautan akun melalui OAuth2 Gitea, memperbarui access token yang kedaluwarsa dan grant yang dicabut, mengekspor ke repositori privat atau repositori organisasi baru, mengimpor repositori, pull dan push, merge, konflik, branch yang dihapus dan di-force-push, file biner, penggantian nama dan penghapusan, serta apa yang boleh dilakukan pemilik, editor, dan viewer.
