template-gallery) de chaque pod Ayakaleaf Pro ; le service filestore du même pod stocke les fichiers des modèles et génère leurs aperçus. Les catégories, les autorisations et la publication sont décrites dans Modèles.
Configuration
1
ConfigMap
30-config.yaml (additions)
2
Un utilisateur dédié aux modèles (facultatif)
Les administrateurs peuvent toujours publier. Pour permettre à un utilisateur non administrateur de gérer la galerie, créez cet utilisateur, lisez son identifiant dans MongoDB et placez-le dans le ConfigMap :
3
Appliquer et redémarrer
Plusieurs répliques
- Les fichiers des modèles doivent se trouver dans S3 : si les fichiers étaient sur le disque propre à chaque réplique, chaque nœud afficherait une galerie différente. La configuration de Mise à l’échelle horizontale utilise déjà le bucket
overleaf-template-files. - La publication utilise le PDF de la dernière compilation du projet, qui n’existe que sur la réplique qui l’a compilé. Le cookie de persistance (sticky) de l’équilibreur de charge maintient l’utilisateur sur cette réplique ; publiez donc depuis la même session de navigateur que celle qui a compilé.
Testé sur Kubernetes
Sur Kubernetes 1.37 avec trois répliques derrière HAProxy et les fichiers des modèles dans le bucket S3overleaf-template-files (Garage), nos tests de bout en bout de la galerie de modèles réussissent (41 cas) : publication d’un projet compilé depuis le menu Fichier, avec le PDF, les images d’aperçu et le ZIP source servis depuis le bucket ; création de projets à partir d’un modèle ; catégories, recherche, tri et pages de la galerie ; modification, remplacement et suppression de modèles ; autorisations des administrateurs, des utilisateurs ordinaires et de l’utilisateur des modèles défini par OVERLEAF_TEMPLATES_USER_ID (son identifiant lu dans MongoDB comme décrit ci-dessus) ; et requêtes malformées.
