template-gallery) i varje Ayakaleaf Pro-pod; tjänsten filestore i samma pod lagrar mallfilerna och renderar deras förhandsvisningar. Kategorier, behörigheter och publicering beskrivs i Mallar.
Konfiguration
1
ConfigMap
30-config.yaml (additions)
2
En mallanvändare (valfritt)
Administratörer kan alltid publicera. För att låta en användare som inte är administratör hantera galleriet skapar du användaren, läser dess ID från MongoDB och lägger in det i ConfigMap:en:
3
Tillämpa och starta om
Flera repliker
- Mallfilerna måste ligga i S3: med filer på varje repliks egen disk skulle varje nod visa ett annat galleri. Konfigurationen för Horisontell skalning använder redan bucketen
overleaf-template-files. - Publicering tar PDF:en från projektets senaste kompilering, som bara finns på repliken som kompilerade den. Lastbalanserarens sticky-cookie håller en användare kvar på den repliken, så publicera från samma webbläsarsession som kompilerade.
Testat på Kubernetes
På Kubernetes 1.37 med tre repliker bakom HAProxy och mallfilerna i S3-bucketenoverleaf-template-files (Garage) klarar våra end-to-end-tester för mallgalleriet sig (41 fall): publicering av ett kompilerat projekt från Fil-menyn och PDF:en, förhandsvisningsbilderna och käll-ZIP:en som serveras från bucketen; skapande av projekt från en mall; kategorier, sökning, sortering och sidor i galleriet; redigering, överskrivning och borttagning av mallar; behörigheter för administratörer, vanliga användare och mallanvändaren från OVERLEAF_TEMPLATES_USER_ID (dess ID läst från MongoDB enligt beskrivningen ovan); samt felaktigt utformade förfrågningar.
