redis de 3. Implantar o MongoDB e o Redis; veja Redis para o Toolkit.
Autenticação por senha
1
Armazene a senha
2
Inicie o Redis com ela
Em O Kubernetes substitui
20-redis.yaml, forneça a senha ao contêiner e passe-a para o redis-server:20-redis.yaml (changes)
$(REDIS_PASS) pelo valor do Secret. A readiness probe (tcpSocket) não precisa de alteração.3
Aplicar e reiniciar
Pare o Ayakaleaf Pro primeiro, para que nenhuma edição seja perdida entre as duas reinicializações:
OVERLEAF_REDIS_HOST (e REDIS_HOST) no ConfigMap com o endereço dele, a senha como acima e OVERLEAF_REDIS_TLS: "true" se ele exigir TLS.
Persistência AOF
A instalação já inicia o Redis com--appendonly yes, o equivalente ao REDIS_AOF_PERSISTENCE=true do Toolkit, e mantém seus dados no volume data-redis-0. Para mudar um Redis existente sem AOF, siga as etapas da página do Toolkit com kubectl -n overleaf exec -it redis-0 -- redis-cli em vez de docker exec e, em seguida, adicione --appendonly yes aos args.
Várias réplicas
Todas as réplicas precisam usar o mesmo Redis: ele guarda as sessões, as edições que ainda não estão no MongoDB e os locks que impedem que duas réplicas processem o mesmo projeto ao mesmo tempo.Testado no Kubernetes
No Kubernetes 1.37 com uma réplica, o Redis iniciado com--requirepass $(REDIS_PASS) a partir do Secret redis-auth como acima recusou o redis-cli sem a senha (NOAUTH) e, com OVERLEAF_REDIS_PASS e REDIS_PASSWORD em overleaf-secrets, nossos testes ponta a ponta foram aprovados para o launchpad (13 casos) e para a edição com controle de alterações, comentários e compartilhamento anônimo (22 casos), que passam por web, real-time, document-updater e project-history; nenhum serviço registrou erro de autenticação do Redis. Todos os outros testes no Kubernetes destas páginas foram executados contra o StatefulSet do Redis da instalação, com persistência AOF e sem senha.
