Skip to main content
Синхронізація з GitLab працює в службі web (модуль gitlab-sync) кожного пода Ayakaleaf Pro. Для неї потрібна інтеграція з Git. Як створити OAuth-застосунок і що робить кожне налаштування, описано в розділі Синхронізація з GitLab; ця сторінка переносить це в Kubernetes.

Налаштування

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" і StatefulSet git-bridge з розділу Інтеграція з Git мають бути налаштовані: без них налаштування облікового запису та редактор приховують синхронізацію з GitLab.
2

Secret

GITLAB_TOKEN_CIPHER_PASSWORD шифрує токени доступу та оновлення GitLab користувачів у MongoDB. Усі репліки мають використовувати однакове значення, а якщо змінити його пізніше, усім користувачам доведеться знову прив’язати GitLab.
3

Приватний CA (необов'язково)

Якщо ваш GitLab має сертифікат від вашого власного центру сертифікації (CA), додайте CA до Secret overleaf-certs, змонтованого в /var/lib/overleaf/certs (див. Сертифікати та інші файли), і встановіть NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem у ConfigMap.
4

Застосування, перезапуск і перевірка

Будь-який HTTP-статус означає, що GitLab доступний із цього пода; 000 означає, що ні.

Кілька реплік

Нічого додаткового, окрім спільного GITLAB_TOKEN_CIPHER_PASSWORD. Синхронізація бере блокування в Redis, спільне з іншими Git-синхронізаціями, тож дві репліки ніколи не синхронізують той самий проєкт одночасно. Оновлення токена GitLab користувача також бере блокування в Redis, тож дві репліки не оновлюють його одночасно.

Перевірено на Kubernetes

З макетом самостійно розміщеного GitLab за адресою GITLAB_SYNC_URL (довіра через NODE_EXTRA_CA_CERTS з overleaf-certs), на Kubernetes 1.37 з однією реплікою та ввімкненою інтеграцією з Git, наші наскрізні тести синхронізації з GitLab проходять (40 випадків): прив’язка та скасування прив’язки облікового запису, оновлення токена доступу з обмеженим терміном дії та відкликані токени, експорт у новий приватний проєкт або проєкт групи, імпорт репозиторію, pull і push, злиття, конфлікти, видалені гілки та гілки після force push, бінарні файли, перейменування та видалення, а також те, що можуть робити власники, редактори та глядачі.
Останнє оновлення 2 листопада 2026 р.