/learn-pagina’s worden aangeboden door de web-service (de module learn) van elke Ayakaleaf Pro-pod, vanuit een cache van de wiki die in WIKI_URL is ingesteld. Wat de module doet en welke wiki’s werken, staat beschreven in LaTeX-gebruikershulp toevoegen.
Configuratie
30-config.yaml (additions)
WIKI_URL kunnen bereiken: zonder die verbinding faalt de web-service tijdens het starten en wordt deze binnen de pod steeds opnieuw herstart, zodat de pod nooit gereed wordt. Schakel de module uit, of sta de pods toe de wiki te bereiken. Zodra de cache bestaat, starten de pods en bieden ze de gecachte pagina’s aan, ook als de wiki niet bereikbaar is.
Meerdere replica’s
Elke replica houdt een eigen cache bij op de schijf van zijn node, dus elke replica downloadt de wiki bij zijn eerste start; metpodManagementPolicy: OrderedReady doen ze dat na elkaar. Een gebruiker kan op een andere replica een pagina in een iets andere versie zien totdat die daar is vernieuwd.
Getest op Kubernetes
Op Kubernetes 1.37 met drie replica’s achter HAProxy, die elk bij hun eerste starthttps://learnwiki.overleaf.com downloaden naar de cache van hun eigen node, slagen onze end-to-endtests voor /learn (12 gevallen): de Documentation-link in de header, het welkomstbericht en het Help-menu van de editor, de inhoudszijbalk, pagina’s, links en omleidingen binnen de wiki, afbeeldingen die van de wiki worden geladen, 404 voor onbekende pagina’s, de vereiste login zonder openbare toegang, en een verouderde pagina die uit de cache wordt aangeboden nadat WIKI_URL is gewijzigd naar een adres dat niet bereikbaar is. Bij een start met een lege cache en WIKI_URL verwijzend naar een adres dat verbindingen weigert, bleef de pod niet gereed zonder te herstarten, terwijl de web-service daarin in drie minuten 77 keer startte en faalde.
