DROPBOX_ENABLED: "true":
- web (модуль
dropbox): прив’язка, діалог Dropbox проєкту та webhook, який викликає Dropbox. - third-party-datastore: окрема служба всередині пода, яка опрацьовує чергу змін, що їх треба надіслати до Dropbox або отримати з нього.
- document-updater: з увімкненим Dropbox він у фоновому режимі записує зміни з редактора в MongoDB через кілька хвилин після того, як усі залишили проєкт; лише тоді вони потрапляють до Dropbox.
Конфігурація
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" і StatefulSet git-bridge з розділу Інтеграція з Git мають бути налаштовані: без них налаштування облікового запису приховують розділ синхронізації проєктів.2
Secret
DROPBOX_TOKEN_CIPHER_PASSWORD шифрує токени Dropbox користувачів у MongoDB. Кожна репліка має використовувати те саме значення, а його подальша зміна змушує кожного користувача знову прив’язати Dropbox.3
Створіть індекси бази даних
Один раз виконайте команди створення індексів із розділу Створення індексів бази даних на первинному вузлі набору реплік:
4
Застосуйте й перезапустіть
third-party-datastore.log існує, лише коли DROPBOX_ENABLED дорівнює "true".5
Відкрийте webhook для інтернету
Dropbox має мати доступ до Потім додайте webhook у Dropbox App Console, як описано на сторінці Toolkit.
${OVERLEAF_SITE_URL}/dropbox/webhook з інтернету. Якщо ваш ingress або балансувальник навантаження дозволяє ззовні лише деякі шляхи чи мережі, дозвольте цей; це єдиний шлях, який викликає Dropbox. Перевірте його ззовні кластера:Кілька реплік
Нічого додаткового, окрім спільногоDROPBOX_TOKEN_CIPHER_PASSWORD:
- Webhook може надійти на будь-яку репліку. Він лише ставить зміну в чергу в Redis.
- Кожна репліка запускає third-party-datastore, і кожна працює зі спільною чергою. Черга користувача захоплюється з блокуванням у Redis, тож зміни певного користувача одночасно надсилає або отримує лише одна репліка.
- document-updater кожної репліки у фоновому режимі записує неактивні проєкти. Кожен проєкт береться зі спільного списку в Redis, тож записується один раз.

