Skip to main content
GitHub-synkronisering kører i web-tjenesten (modulet github-sync) i hver Ayakaleaf Pro-pod. Den kræver Git-integrationen. Opret OAuth-applikationen, og læs, hvad hver indstilling gør, under GitHub-synkronisering; denne side omsætter det til Kubernetes.

Konfiguration

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" og git-bridge-StatefulSet’et fra Git-integration skal være på plads: uden dem skjuler kontoindstillingerne og editoren GitHub-synkronisering.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD krypterer brugernes GitHub-adgangstokens i MongoDB. Alle replikaer skal bruge den samme værdi, og hvis den ændres senere, skal alle brugere forbinde GitHub igen.
3

Privat CA (valgfrit)

Hvis din GitHub har et certifikat fra din egen CA, skal du tilføje CA’en til Secret’et overleaf-certs, der er monteret på /var/lib/overleaf/certs (se Certifikater og andre filer), og sætte NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem i ConfigMap’et.
4

Anvend, genstart og kontrollér

Enhver HTTP-status betyder, at GitHub kan nås fra den pod; 000 betyder, at den ikke kan.

Flere replikaer

Intet ekstra ud over den fælles GITHUB_TOKEN_CIPHER_PASSWORD. En synkronisering tager en lås i Redis, som deles med de andre Git-synkroniseringer, så to replikaer aldrig synkroniserer det samme projekt på samme tid.

Testet på Kubernetes

Mod en mock af github.com og dens REST- og GraphQL-API’er (der stoles på via NODE_EXTRA_CA_CERTS fra overleaf-certs), på Kubernetes 1.37 med én replika og Git-integrationen slået til, består vores end-to-end-tests for GitHub-synkronisering (31 tilfælde): forbindelse og afbrydelse af kontoen, tilbagekaldte tokens, eksport af et projekt til et nyt privat repository eller organisations-repository, import af et repository (også over uploadgrænsen), pull og push, merges, konflikter og manuelle merges, slettede og force-pushede branches, binære filer, omdøbninger og sletninger, tab af push-adgang samt hvad ejere, redaktører og læsere må gøre.
Sidst ændret 2. november 2026