${OVERLEAF_SITE_URL}/git/<project id>; Ayakaleaf Pro-poden videresender disse forespørslene til git-bridge, og git-bridge kaller tilbake til poden for prosjektinnhold og historikk. Når den slås på, aktiveres også MCP-serveren, og den kreves av GitHub-, GitLab-, Gitea- og Dropbox-synkronisering.
Denne siden utvider installasjonen med én replika fra Bruke Kubernetes. For flere replikaer, se Horisontal skalering.
1
Distribuer git-bridge
45-git-bridge.yaml
10.96.100.80 må være en ledig adresse innenfor klyngens tjeneste-CIDR (standard for kubeadm er 10.96.0.0/12).2
Pek Ayakaleaf Pro mot den
Legg til i
30-config.yaml:30-config.yaml (additions)
3
Klon et prosjekt
Opprett et Git-autentiseringstoken i Account Settings, og deretter:Bruk
git som brukernavn og tokenet som passord.Hvorfor manifestet ser slik ut
- En fast ClusterIP som
GIT_BRIDGE_HOST. nginx i Ayakaleaf Pro-imaget videresender/git/med en resolver satt til127.0.0.11, Dockers innebygde DNS. Kubernetes har ingen DNS-server der, så et vertsnavn somgit-bridgefeiler med502og «git-bridge could not be resolved» i/var/log/nginx/error.log. En IP-adresse krever ikke noe oppslag. overleaf-internal. git-bridge trenger portene3000(web-API) og3100(historikk) i Ayakaleaf Pro-poden. En egen ClusterIP-Service holder dem inne i klyngen; å legge dem til i NodePort-Service-en ville publisere dem på hver node.enableServiceLinks: false. Service-engit-bridgeville få Kubernetes til å leggeGIT_BRIDGE_PORT=tcp://10.96.100.80:8000til poden; git-bridge leserGIT_BRIDGE_PORTsom lytteporten sin og stopper medMalformedJsonException ... path $.port.- Én replika med eget volum. git-bridge holder et git-repositorium per klonet prosjekt på disk og må ikke kjøre to ganger. Ta sikkerhetskopi av volumet.
Testet på Kubernetes
På Kubernetes 1.37 med tre replikaer bak HAProxy og git-bridge ved siden avoverleaf-0, består ende-til-ende-testene våre for Git-integrasjonen (19 tilfeller), også med git-bridge flyttet til port 8001 slik at nginx må bruke GIT_BRIDGE_HOST og GIT_BRIDGE_PORT: Git-tokener i kontoinnstillingene, klonekommandoen i editoren, kloning, push og pull, binærfiler og mapper, omdøpinger og slettinger, utdaterte push-forsøk avvist, tilgang etter rolle (inviterte redaktører og redaktører via lenken kan pushe, lesere og kontrollører kan bare klone, brukere uten tilgang avvises), feil og slettede tokener avvist, git-bridges interne ruter holdt bak nginx, og suspenderte kontoer. Selve Git-autentiseringstokenene (generering, listing, grensen per bruker, sletting, utløp, kontrollen git-bridge ber web om, og tokener for suspenderte og slettede kontoer) består på én replika (16 tilfeller).
Q&A
git clone returnerer 502.
git clone returnerer 502.
Svar: Sjekk
GIT_BRIDGE_HOST: den må være IP-adressen til git-bridge-Service-en, ikke navnet, se ovenfor. kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log viser årsaken.
