template-gallery) de cada pod do Ayakaleaf Pro; o serviço filestore no mesmo pod armazena os arquivos dos templates e renderiza suas pré-visualizações. Categorias, permissões e publicação estão descritas em Templates.
Configuração
1
ConfigMap
30-config.yaml (additions)
2
Um usuário de templates (opcional)
Os administradores sempre podem publicar. Para permitir que um usuário não administrador gerencie a galeria, crie o usuário, leia seu ID no MongoDB e coloque-o no ConfigMap:
3
Aplicar e reiniciar
Várias réplicas
- Os arquivos dos templates precisam estar no S3: com os arquivos no disco próprio de cada réplica, cada nó mostraria uma galeria diferente. A configuração de Escalonamento horizontal já usa o bucket
overleaf-template-files. - A publicação usa o PDF da última compilação do projeto, que existe apenas na réplica que o compilou. O cookie de afinidade (sticky) do balanceador de carga mantém o usuário nessa réplica, então publique a partir da mesma sessão do navegador que compilou.
Testado no Kubernetes
No Kubernetes 1.37 com três réplicas atrás do HAProxy e os arquivos dos templates no bucket S3overleaf-template-files (Garage), nossos testes ponta a ponta da galeria de templates são aprovados (41 casos): publicar um projeto compilado pelo menu Arquivo e o PDF, as imagens de pré-visualização e o ZIP do código-fonte servidos a partir do bucket; criar projetos a partir de um template; categorias, busca, ordenação e páginas da galeria; editar, sobrescrever e excluir templates; permissões de administradores, usuários comuns e do usuário de templates de OVERLEAF_TEMPLATES_USER_ID (com o ID lido no MongoDB conforme descrito acima); e requisições malformadas.
