${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 til127.0.0.11, Dockers indbyggede DNS. Kubernetes har ingen DNS-server dér, så et værtsnavn somgit-bridgefejler med502og „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 portene3000(web-API) og3100(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’engit-bridgeville få Kubernetes til at tilføjeGIT_BRIDGE_PORT=tcp://10.96.100.80:8000til poden; git-bridge læserGIT_BRIDGE_PORTsom sin lytteport og stopper medMalformedJsonException ... 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 somoverleaf-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
git clone returnerer 502.
git clone returnerer 502.
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.
