template-gallery) кожного пода Ayakaleaf Pro; служба filestore у тому самому поді зберігає файли шаблонів і рендерить їхні попередні перегляди. Категорії, дозволи та публікацію описано в розділі Шаблони.
Налаштування
1
ConfigMap
30-config.yaml (additions)
2
Користувач шаблонів (необов'язково)
Адміністратори завжди можуть публікувати. Щоб дозволити керувати галереєю користувачеві без прав адміністратора, створіть цього користувача, прочитайте його ID з MongoDB і помістіть його в ConfigMap:
3
Застосування та перезапуск
Кілька реплік
- Файли шаблонів мають бути в S3: якщо файли лежать на власному диску кожної репліки, кожен вузол показуватиме іншу галерею. Конфігурація з розділу Горизонтальне масштабування уже використовує бакет
overleaf-template-files. - Публікація бере PDF останньої компіляції проєкту, який існує лише на репліці, що його скомпілювала. Липка cookie балансувальника навантаження утримує користувача на цій репліці, тож публікуйте з тієї самої браузерної сесії, у якій компілювали.
Перевірено на Kubernetes
На Kubernetes 1.37 з трьома репліками за HAProxy та файлами шаблонів у бакеті S3overleaf-template-files (Garage) наші наскрізні тести галереї шаблонів проходять (41 випадок): публікація скомпільованого проєкту з меню «Файл», а також PDF, зображення попереднього перегляду та ZIP із джерелами, що віддаються з бакета; створення проєктів із шаблону; категорії, пошук, сортування та сторінки галереї; редагування, перезапис і видалення шаблонів; дозволи адміністраторів, звичайних користувачів і користувача шаблонів з OVERLEAF_TEMPLATES_USER_ID (його ID прочитано з MongoDB, як описано вище); а також некоректні запити.
