gitea-sync) кожного пода Ayakaleaf Pro. Їй потрібна Інтеграція з Git. Створіть застосунок OAuth і прочитайте, що робить кожен параметр, у розділі Синхронізація з Gitea; ця сторінка описує, як перенести це в Kubernetes.
Конфігурація
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" і StatefulSet git-bridge з розділу Інтеграція з Git мають бути налаштовані: без них налаштування облікового запису й редактор приховують синхронізацію з Gitea.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD шифрує токени доступу й оновлення Gitea користувачів у MongoDB. Кожна репліка має використовувати те саме значення, а його подальша зміна змушує кожного користувача знову прив’язати Gitea.3
Приватний CA (необов'язково)
Якщо ваш Gitea має сертифікат від вашого власного CA, додайте CA до Secret
overleaf-certs, змонтованого в /var/lib/overleaf/certs (див. Сертифікати та інші файли), і задайте NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem у ConfigMap.4
Застосуйте, перезапустіть і перевірте
000 означає, що ні.Кілька реплік
Нічого додаткового, окрім спільногоGITEA_TOKEN_CIPHER_PASSWORD. Синхронізація захоплює блокування в Redis, спільне з іншими синхронізаціями Git, тож дві репліки ніколи не синхронізують той самий проєкт одночасно.
Перевірено в Kubernetes
Зі справжнім Gitea 1.23 за адресоюGITEA_SYNC_URL, у Kubernetes 1.37 з однією реплікою та ввімкненою інтеграцією з Git, наші наскрізні тести синхронізації з Gitea проходять (39 випадків): прив’язка та скасування прив’язки облікового запису через OAuth2 Gitea, оновлення токена доступу, строк дії якого спливає, і відкликані дозволи, експорт у новий приватний репозиторій або репозиторій організації, імпорт репозиторію, pull і push, злиття, конфлікти, видалені гілки та гілки після force push, бінарні файли, перейменування й видалення, а також те, що можуть робити власники, редактори та глядачі.
