template-gallery) i hver Ayakaleaf Pro-pod; filestore-tjenesten i samme pod lagrer malfilene og gjengir forhåndsvisningene deres. Kategorier, tillatelser og publisering er beskrevet i Maler.
Konfigurasjon
1
ConfigMap
30-config.yaml (additions)
2
En malbruker (valgfritt)
Administratorer kan alltid publisere. For å la en bruker som ikke er administrator, administrere galleriet oppretter du brukeren, leser ID-en fra MongoDB og legger den inn i ConfigMap-en:
3
Bruk og start på nytt
Flere replikaer
- Malfilene må ligge i S3: med filer på hver replikas egen disk ville hver node vise et annet galleri. Oppsettet for Horisontal skalering bruker allerede bøtten
overleaf-template-files. - Publisering tar PDF-en fra prosjektets siste kompilering, som bare finnes på replikaen som kompilerte den. Lastbalansererens «sticky»-informasjonskapsel holder en bruker på den replikaen, så publiser fra den samme nettleserøkten som kompilerte.
Testet på Kubernetes
På Kubernetes 1.37 med tre replikaer bak HAProxy og malfilene i S3-bøttenoverleaf-template-files (Garage) består ende-til-ende-testene våre for malgalleriet (41 tilfeller): publisering av et kompilert prosjekt fra Fil-menyen og PDF-en, forhåndsvisningsbilder og kilde-ZIP levert fra bøtten; opprettelse av prosjekter fra en mal; kategorier, søk, sortering og sider i galleriet; redigering, overskriving og sletting av maler; tillatelser for administratorer, vanlige brukere og malbrukeren fra OVERLEAF_TEMPLATES_USER_ID (ID-en lest fra MongoDB som beskrevet ovenfor); og feilformede forespørsler.
