tpr-webmodule) i hver Ayakaleaf Pro-pod. Registrer Zotero-OAuth-klienten som beskrevet i Zotero-integrasjon, med callback-URL-en ${OVERLEAF_SITE_URL}/user/zotero/oauth/callback, og konfigurer deretter Kubernetes som nedenfor.
Konfigurasjon
1
ConfigMap
30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES erstatter verdien fra installasjonen; behold typene du allerede har, og legg til zotero (og mendeley hvis du bruker begge).2
Secret
ZOTERO_CIPHER_PASSWORD krypterer brukernes Zotero-nøkler i MongoDB. Uten den genererer hver pod en nøkkelfil i sin egen /var/lib/overleaf/data. Med flere replikaer har da hver node en annen nøkkel, og en bruker som betjenes av en annen replika, kan ikke bruke den tilkoblede Zotero-kontoen sin. Angi den før den første brukeren kobler til Zotero: hvis du endrer den senere, må alle brukere koble til Zotero på nytt.3
Bruk og start på nytt
Flere replikaer
AngiZOTERO_CIPHER_PASSWORD i Secret-en, se ovenfor. Uten den kan en fil som er importert på én replika, ikke oppdateres på en annen: oppdateringen mislykkes med «The remote service produced an error», fordi nøkkelfilen til den replikaen ikke kan dekryptere brukerens Zotero-nøkkel. Med passordet i Secret-en fungerer det på alle replikaer; vi testet begge tilfellene ved å importere på overleaf-0 og oppdatere på overleaf-1. OAuth-håndtrykket lagrer tilstanden sin i økten i Redis, så callbacken kan nå hvilken som helst replika.
Testet på Kubernetes
Mot en etterligning av www.zotero.org og api.zotero.org (klarert viaNODE_EXTRA_CA_CERTS fra overleaf-certs), på Kubernetes 1.37 med tre replikaer bak HAProxy, består ende-til-ende-testene våre for Zotero (18 tilfeller): tilkobling via OAuth 1.0a og frakobling, import av biblioteket og grupper til en .bib-fil, oppdatering av den, tilbakekalling av nøkkelen på Zotero, forespørsel om å koble til på nytt, referanser som er søkbare for samarbeidspartnerne, at bare den som importerte kan oppdatere, API-feil og trege tilkoblinger til Zotero.
