Skip to main content
Git-integraatio ajaa erillistä git-bridge-palvelua. Käyttäjät kloonaavat ja pushaavat osoitteen ${OVERLEAF_SITE_URL}/git/<project id> kautta; Ayakaleaf Pro -pod välittää nämä pyynnöt git-bridgelle, ja git-bridge kutsuu takaisin podia projektin sisältöä ja historiaa varten. Sen käyttöönotto ottaa käyttöön myös MCP-palvelimen, ja GitHub-, GitLab-, Gitea- ja Dropbox-synkronointi edellyttävät sitä. Tämä sivu laajentaa sivun Kubernetesin käyttäminen yhden replikan asennusta. Useita replikoita varten katso Horisontaalinen skaalaus.
1

Ota git-bridge käyttöön

45-git-bridge.yaml
10.96.100.80 on oltava vapaa osoite klusterisi service-CIDR-alueella (kubeadmin oletus on 10.96.0.0/12).
2

Osoita Ayakaleaf Pro siihen

Lisää tiedostoon 30-config.yaml:
30-config.yaml (additions)
3

Kloonaa projekti

Luo Git-todennustunniste kohdassa Account Settings ja suorita sitten:
Käytä käyttäjänimenä git ja salasanana tunnistetta.

Miksi manifesti näyttää tältä

  • Kiinteä ClusterIP GIT_BRIDGE_HOST-arvona. Ayakaleaf Pro -imagen sisäinen nginx välittää /git/-pyynnöt resolverilla, joka on asetettu osoitteeseen 127.0.0.11, Dockerin sisäänrakennettuun DNS:ään. Kubernetesissa siellä ei ole DNS-palvelinta, joten isäntänimi kuten git-bridge epäonnistuu virheellä 502, ja tiedostossa /var/log/nginx/error.log näkyy ”git-bridge could not be resolved”. IP-osoite ei tarvitse nimihakua.
  • overleaf-internal. git-bridge tarvitsee Ayakaleaf Pro -podin portit 3000 (web-API) ja 3100 (historia). Erillinen ClusterIP-Service pitää ne klusterin sisällä; niiden lisääminen NodePort-Serviceen julkaisisi ne jokaisella solmulla.
  • enableServiceLinks: false. Service git-bridge saisi Kubernetesin lisäämään podiin muuttujan GIT_BRIDGE_PORT=tcp://10.96.100.80:8000; git-bridge lukee GIT_BRIDGE_PORT-arvon kuunteluporttinaan ja pysähtyy virheeseen MalformedJsonException ... path $.port.
  • Yksi replika omalla taltiollaan. git-bridge säilyttää levyllä git-repositorion jokaista kloonattua projektia kohden, eikä sitä saa ajaa kahtena instanssina. Varmuuskopioi sen taltio.

Testattu Kubernetesissa

Kubernetes 1.37:ssä kolmella replikalla HAProxyn takana ja git-bridge overleaf-0:n sisarena Git-integraation päästä päähän -testimme menevät läpi (19 tapausta), myös kun git-bridge siirrettiin porttiin 8001, jolloin nginxin on käytettävä arvoja GIT_BRIDGE_HOST ja GIT_BRIDGE_PORT: Git-tunnisteet tilin asetuksissa, kloonauskomento editorissa, kloonaus, push ja pull, binääritiedostot ja kansiot, uudelleennimeämiset ja poistot, vanhentuneiden pushien hylkääminen, roolin mukainen pääsy (kutsutut muokkaajat ja linkin kautta tulleet muokkaajat voivat pushata, katselijat ja arvioijat voivat vain kloonata, käyttäjät ilman pääsyä hylätään), väärien ja poistettujen tunnisteiden hylkääminen, git-bridgen sisäisten reittien pitäminen nginxin takana sekä jäädytetyt tilit. Itse Git-todennustunnisteet (luominen, listaus, käyttäjäkohtainen raja, poistaminen, vanheneminen, tarkistus, jota git-bridge pyytää webiltä, sekä jäädytettyjen ja poistettujen tilien tunnisteet) menevät läpi yhdellä replikalla (16 tapausta).

Kysymyksiä ja vastauksia

Vastaus: Tarkista GIT_BRIDGE_HOST: sen on oltava git-bridge-Servicen IP-osoite, ei sen nimi, katso yllä. kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log näyttää syyn.
Viimeksi muokattu 2. marraskuuta 2026