/learn sono servite dal servizio web (il modulo learn) di ogni pod di Ayakaleaf Pro, a partire da una cache della wiki impostata in WIKI_URL. Cosa fa il modulo e quali wiki funzionano è descritto in Aggiungere la guida LaTeX per gli utenti.
Configurazione
30-config.yaml (additions)
WIKI_URL: in caso contrario il servizio web fallisce durante l’avvio e viene riavviato all’interno del pod più e più volte, quindi il pod non diventa mai pronto. Disattiva il modulo oppure consenti ai pod di uscire verso la wiki. Una volta che la cache esiste, i pod si avviano e servono le pagine in cache anche quando la wiki non è raggiungibile.
Più repliche
Ogni replica mantiene la propria cache sul disco del proprio nodo, quindi ciascuna scarica la wiki al primo avvio; conpodManagementPolicy: OrderedReady lo fanno una dopo l’altra. Un utente può vedere una pagina in una versione leggermente diversa su un’altra replica finché non viene aggiornata anche lì.
Testato su Kubernetes
Su Kubernetes 1.37 con tre repliche dietro HAProxy, ciascuna delle quali scaricahttps://learnwiki.overleaf.com nella cache del proprio nodo al primo avvio, i nostri test end-to-end per /learn vengono superati (12 casi): il link Documentation nell’intestazione, il messaggio di benvenuto e il menu Help dell’editor, la barra laterale dei contenuti, pagine, link e reindirizzamenti all’interno della wiki, immagini caricate dalla wiki, 404 per le pagine sconosciute, l’accesso richiesto senza accesso pubblico e una pagina non aggiornata servita dalla cache dopo che WIKI_URL è stato cambiato in un indirizzo non raggiungibile. Partendo da una cache vuota e con WIKI_URL che puntava a un indirizzo che rifiuta le connessioni, il pod è rimasto non pronto senza riavviarsi, mentre il servizio web al suo interno si è avviato ed è fallito 77 volte in tre minuti.
