template-gallery) de cada pod de Ayakaleaf Pro; el servicio filestore del mismo pod almacena los archivos de las plantillas y genera sus vistas previas. Las categorías, los permisos y la publicación se describen en Plantillas.
Configuración
1
ConfigMap
30-config.yaml (additions)
2
Un usuario de plantillas (opcional)
Los administradores siempre pueden publicar. Para permitir que un usuario que no es administrador gestione la galería, crea el usuario, lee su ID en MongoDB y ponlo en el ConfigMap:
3
Aplicar y reiniciar
Varias réplicas
- Los archivos de las plantillas deben estar en S3: con los archivos en el disco propio de cada réplica, cada nodo mostraría una galería distinta. La configuración de Escalado horizontal ya usa el bucket
overleaf-template-files. - La publicación toma el PDF de la última compilación del proyecto, que solo existe en la réplica que lo compiló. La cookie de afinidad del balanceador de carga mantiene a un usuario en esa réplica, así que publica desde la misma sesión del navegador en la que compilaste.
Probado en Kubernetes
En Kubernetes 1.37 con tres réplicas detrás de HAProxy y los archivos de las plantillas en el bucket de S3overleaf-template-files (Garage), nuestras pruebas de extremo a extremo de la galería de plantillas se superan (41 casos): publicar un proyecto compilado desde el menú Archivo y servir el PDF, las imágenes de vista previa y el ZIP del código fuente desde el bucket; crear proyectos a partir de una plantilla; categorías, búsqueda, ordenación y páginas de la galería; editar, sobrescribir y eliminar plantillas; permisos de administradores, usuarios normales y el usuario de plantillas de OVERLEAF_TEMPLATES_USER_ID (con su ID leído en MongoDB como se describe arriba); y peticiones mal formadas.
