DROPBOX_ENABLED: "true":
- web (il modulo
dropbox): il collegamento, la finestra di dialogo Dropbox del progetto e il webhook chiamato da Dropbox. - third-party-datastore: un servizio autonomo all’interno del pod che elabora la coda delle modifiche da inviare a Dropbox o da recuperare da esso.
- document-updater: con Dropbox attivo, scrive in background le modifiche dell’editor in MongoDB, qualche minuto dopo che tutti hanno lasciato un progetto; solo allora vengono inviate a Dropbox.
Configurazione
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" e lo StatefulSet di git-bridge di Integrazione Git devono essere presenti: senza di essi le impostazioni dell’account nascondono la sezione di sincronizzazione dei progetti.2
Secret
DROPBOX_TOKEN_CIPHER_PASSWORD cifra i token Dropbox degli utenti in MongoDB. Ogni replica deve usare lo stesso valore, e modificarlo in seguito costringe ogni utente a ricollegare Dropbox.3
Crea gli indici del database
Esegui una sola volta i comandi per gli indici di Creare gli indici del database, sul primario del replica set:
4
Applica e riavvia
third-party-datastore.log esiste solo quando DROPBOX_ENABLED è "true".5
Apri il webhook verso Internet
Dropbox deve raggiungere Quindi aggiungi il webhook nella Dropbox App Console come descritto nella pagina del Toolkit.
${OVERLEAF_SITE_URL}/dropbox/webhook da Internet. Se il tuo ingress o load balancer consente dall’esterno solo alcuni percorsi o reti, consenti questo; è l’unico percorso chiamato da Dropbox. Verificalo dall’esterno del cluster:Più repliche
Non serve altro oltre allaDROPBOX_TOKEN_CIPHER_PASSWORD condivisa:
- Il webhook può raggiungere qualsiasi replica. Si limita a mettere in coda la modifica in Redis.
- Ogni replica esegue third-party-datastore, e ciascuna lavora sulla coda condivisa. La coda di un utente viene acquisita con un lock in Redis, quindi una sola replica alla volta invia o recupera le modifiche di un determinato utente.
- Il document-updater di ogni replica scrive in background i progetti inattivi. Ogni progetto viene prelevato da un elenco condiviso in Redis, quindi viene scritto una sola volta.

