Skip to main content
Git-integrationen kører den separate git-bridge-tjeneste. Brugere kloner og pusher via ${OVERLEAF_SITE_URL}/git/<project id>; Ayakaleaf Pro-poden videresender disse forespørgsler til git-bridge, og git-bridge kalder tilbage til poden for projektindhold og historik. Når den slås til, aktiveres også MCP-serveren, og den er påkrævet af GitHub-, GitLab-, Gitea- og Dropbox-synkronisering. Denne side udvider installationen med én replika fra Brug af Kubernetes. For flere replikaer, se Horisontal skalering.
1

Udrul git-bridge

45-git-bridge.yaml
10.96.100.80 skal være en ledig adresse inden for dit clusters service-CIDR (kubeadms standard er 10.96.0.0/12).
2

Peg Ayakaleaf Pro på den

Tilføj til 30-config.yaml:
30-config.yaml (additions)
3

Klon et projekt

Opret et Git-godkendelsestoken under Account Settings, og derefter:
Brug git som brugernavn og tokenet som adgangskode.

Hvorfor manifestet ser sådan ud

  • En fast ClusterIP som GIT_BRIDGE_HOST. nginx i Ayakaleaf Pro-imaget videresender /git/ med en resolver sat til 127.0.0.11, Dockers indbyggede DNS. Kubernetes har ingen DNS-server dér, så et værtsnavn som git-bridge fejler med 502 og „git-bridge could not be resolved” i /var/log/nginx/error.log. En IP-adresse kræver intet opslag.
  • overleaf-internal. git-bridge har brug for portene 3000 (web-API) og 3100 (historik) i Ayakaleaf Pro-poden. En separat ClusterIP-Service holder dem inden for clusteret; hvis de blev tilføjet til NodePort-Service’en, ville de blive offentliggjort på hver node.
  • enableServiceLinks: false. Service’en git-bridge ville få Kubernetes til at tilføje GIT_BRIDGE_PORT=tcp://10.96.100.80:8000 til poden; git-bridge læser GIT_BRIDGE_PORT som sin lytteport og stopper med MalformedJsonException ... path $.port.
  • Én replika med sin egen volumen. git-bridge gemmer et git-repository pr. klonet projekt på disken og må ikke køre to gange. Tag backup af dens volumen.

Testet på Kubernetes

På Kubernetes 1.37 med tre replikaer bag HAProxy og git-bridge som overleaf-0’s søskende består vores end-to-end-test for Git-integrationen (19 tilfælde), også med git-bridge flyttet til port 8001, så nginx skal bruge GIT_BRIDGE_HOST og GIT_BRIDGE_PORT: Git-tokens i kontoindstillingerne, klonkommandoen i editoren, clone, push og pull, binære filer og mapper, omdøbninger og sletninger, afvisning af forældede pushes, adgang efter rolle (inviterede redaktører og redaktører via linket må pushe, læsere og reviewere må kun klone, brugere uden adgang afvises), afvisning af forkerte og slettede tokens, git-bridges interne ruter holdt bag nginx samt suspenderede konti. Selve Git-godkendelsestokens (generering, listning, grænsen pr. bruger, sletning, udløb, den kontrol, som git-bridge beder web om, og tokens for suspenderede og slettede konti) består på én replika (16 tilfælde).

Spørgsmål og svar

Svar: Tjek GIT_BRIDGE_HOST: den skal være IP-adressen for git-bridge-Service’en, ikke dens navn, se ovenfor. kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log viser årsagen.
Sidst ændret 2. november 2026