github-sync) i hver Ayakaleaf Pro-pod. Den krever Git-integrasjonen. Opprett OAuth-applikasjonen og les hva hver innstilling gjør i GitHub-synkronisering; denne siden overfører det til Kubernetes.
Konfigurasjon
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" og git-bridge-StatefulSet-en fra Git-integrasjon må være på plass: uten dem skjuler kontoinnstillingene og redigeringsprogrammet GitHub-synkronisering.2
Secret
GITHUB_TOKEN_CIPHER_PASSWORD krypterer brukernes GitHub-tilgangstokener i MongoDB. Alle replikaer må bruke samme verdi, og hvis du endrer den senere, må alle brukere koble til GitHub på nytt.3
Privat CA (valgfritt)
Hvis GitHub-instansen din har et sertifikat fra din egen CA, legger du CA-en til i Secret-en
overleaf-certs som er montert på /var/lib/overleaf/certs (se Sertifikater og andre filer) og angir NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem i ConfigMap-en.4
Bruk, start på nytt og kontroller
000 betyr at den ikke kan det.Flere replikaer
Ingenting ekstra utover den delteGITHUB_TOKEN_CIPHER_PASSWORD. En synkronisering tar en lås i Redis, delt med de andre Git-synkroniseringene, slik at to replikaer aldri synkroniserer det samme prosjektet samtidig.
Testet på Kubernetes
Mot en etterligning av github.com og REST- og GraphQL-API-ene (klarert viaNODE_EXTRA_CA_CERTS fra overleaf-certs), på Kubernetes 1.37 med én replika og Git-integrasjonen slått på, består ende-til-ende-testene våre for GitHub-synkronisering (31 tilfeller): tilkobling og frakobling av kontoen, tilbakekalte tokener, eksport av et prosjekt til et nytt privat repositorium eller organisasjonsrepositorium, import av et repositorium (også over opplastingsgrensen), pull og push, sammenslåinger, konflikter og manuelle sammenslåinger, slettede og tvangspushede grener, binærfiler, omdøpinger og slettinger, tap av push-tilgang, og hva eiere, redaktører og lesere har lov til å gjøre.
