redis décrit dans 3. Déployer MongoDB et Redis ; voir Redis pour le Toolkit.
Authentification par mot de passe
1
Stocker le mot de passe
2
Démarrer Redis avec ce mot de passe
Dans Kubernetes remplace
20-redis.yaml, fournissez le mot de passe au conteneur et transmettez-le à redis-server :20-redis.yaml (changes)
$(REDIS_PASS) par la valeur du Secret. La sonde de disponibilité (tcpSocket) ne nécessite aucune modification.3
Appliquer et redémarrer
Arrêtez d’abord Ayakaleaf Pro, afin qu’aucune modification ne soit perdue entre les deux redémarrages :
OVERLEAF_REDIS_HOST (et REDIS_HOST) dans le ConfigMap sur son adresse, le mot de passe comme ci-dessus, et OVERLEAF_REDIS_TLS: "true" s’il exige TLS.
Persistance AOF
L’installation démarre déjà Redis avec--appendonly yes, l’équivalent de REDIS_AOF_PERSISTENCE=true dans le Toolkit, et conserve ses données sur le volume data-redis-0. Pour basculer un Redis existant sans AOF, suivez les étapes de la page du Toolkit en utilisant kubectl -n overleaf exec -it redis-0 -- redis-cli au lieu de docker exec, puis ajoutez --appendonly yes aux arguments.
Plusieurs répliques
Toutes les répliques doivent utiliser le même Redis : il contient les sessions, les modifications pas encore enregistrées dans MongoDB et les verrous qui empêchent deux répliques de traiter le même projet en même temps.Testé sur Kubernetes
Sur Kubernetes 1.37 avec une réplique, Redis démarré avec--requirepass $(REDIS_PASS) à partir du Secret redis-auth comme ci-dessus refusait redis-cli sans le mot de passe (NOAUTH), et avec OVERLEAF_REDIS_PASS et REDIS_PASSWORD dans overleaf-secrets, nos tests de bout en bout réussissaient pour le launchpad (13 cas) et pour l’édition avec suivi des modifications, commentaires et partage anonyme (22 cas), qui passent par web, real-time, document-updater et project-history ; aucun service n’a journalisé d’erreur d’authentification Redis. Tous les autres tests Kubernetes de ces pages ont été exécutés avec le StatefulSet Redis de l’installation, avec la persistance AOF et sans mot de passe.
