Skip to main content
Sinkronisasi GitLab berjalan di layanan web (modul gitlab-sync) pada setiap pod Ayakaleaf Pro. Fitur ini memerlukan integrasi Git. Buat aplikasi OAuth dan baca fungsi setiap pengaturan di Sinkronisasi GitLab; 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 GitLab.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD mengenkripsi token akses dan token refresh GitLab pengguna di MongoDB. Setiap replika harus menggunakan nilai yang sama, dan mengubahnya di kemudian hari membuat setiap pengguna harus menautkan GitLab lagi.
3

CA privat (opsional)

Jika GitLab 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, mulai ulang, dan periksa

Status HTTP apa pun berarti GitLab dapat dijangkau dari pod tersebut; 000 berarti tidak dapat dijangkau.

Beberapa replika

Tidak ada yang perlu ditambahkan selain GITLAB_TOKEN_CIPHER_PASSWORD yang sama. Sebuah sinkronisasi mengambil lock di Redis, yang dibagi dengan sinkronisasi Git lainnya, sehingga dua replika tidak pernah menyinkronkan proyek yang sama secara bersamaan. Memperbarui token GitLab pengguna juga mengambil lock Redis, sehingga dua replika tidak memperbaruinya pada saat yang sama.

Diuji di Kubernetes

Terhadap mock GitLab yang dikelola sendiri di GITLAB_SYNC_URL (dipercaya melalui NODE_EXTRA_CA_CERTS dari overleaf-certs), di Kubernetes 1.37 dengan satu replika dan integrasi Git aktif, pengujian end-to-end kami untuk Sinkronisasi GitLab lulus (40 kasus): menautkan dan memutus tautan akun, memperbarui token akses yang akan kedaluwarsa dan token yang dicabut, mengekspor ke proyek privat atau grup 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 penampil.
Terakhir diubah pada 2 November 2026