DROPBOX_ENABLED: "true":
- web (o módulo
dropbox): a vinculação, a caixa de diálogo do Dropbox do projeto e o webhook que o Dropbox chama. - third-party-datastore: um serviço próprio dentro do pod que processa a fila de alterações a serem enviadas ao Dropbox ou buscadas nele.
- document-updater: com o Dropbox ativado, ele grava as alterações do editor no MongoDB em segundo plano, alguns minutos depois de todos terem saído de um projeto; somente então elas vão para o Dropbox.
Configuração
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" e o StatefulSet do git-bridge da Integração com Git precisam estar configurados: sem eles, as configurações da conta ocultam a seção de sincronização de projetos.2
Secret
DROPBOX_TOKEN_CIPHER_PASSWORD criptografa os tokens do Dropbox dos usuários no MongoDB. Todas as réplicas precisam usar o mesmo valor, e alterá-lo depois faz com que todos os usuários tenham de vincular o Dropbox novamente.3
Crie os índices do banco de dados
Execute os comandos de índice de Criar os índices do banco de dados uma vez, no primário do replica set:
4
Aplique e reinicie
third-party-datastore.log existe somente quando DROPBOX_ENABLED é "true".5
Abra o webhook para a internet
O Dropbox precisa alcançar Em seguida, adicione o webhook no App Console do Dropbox, conforme descrito na página do Toolkit.
${OVERLEAF_SITE_URL}/dropbox/webhook a partir da internet. Se o seu ingress ou balanceador de carga permite apenas alguns caminhos ou redes a partir do exterior, permita este; é o único caminho que o Dropbox chama. Verifique-o de fora do cluster:Várias réplicas
Nada extra além daDROPBOX_TOKEN_CIPHER_PASSWORD compartilhada:
- O webhook pode chegar a qualquer réplica. Ele apenas coloca a alteração na fila no Redis.
- Cada réplica executa o third-party-datastore, e cada uma processa a fila compartilhada. A fila de um usuário é obtida com um lock no Redis, então apenas uma réplica por vez envia ou busca as alterações de um determinado usuário.
- O document-updater de cada réplica grava projetos ociosos em segundo plano. Cada projeto é retirado de uma lista compartilhada no Redis, então é gravado uma única vez.

