Skip to main content
Git-integratie draait de aparte git-bridge-service. Gebruikers klonen en pushen via ${OVERLEAF_SITE_URL}/git/<project id>; de Ayakaleaf Pro-pod stuurt die verzoeken door naar git-bridge, en git-bridge roept de pod terug aan voor projectinhoud en geschiedenis. Inschakelen activeert ook de MCP-server en is vereist voor GitHub-, GitLab-, Gitea- en Dropbox-synchronisatie. Deze pagina breidt de installatie met één replica uit Kubernetes gebruiken uit. Zie voor meerdere replica’s Horizontaal schalen.
1

Implementeer git-bridge

45-git-bridge.yaml
10.96.100.80 moet een vrij adres zijn binnen de service-CIDR van je cluster (de standaard van kubeadm is 10.96.0.0/12).
2

Laat Ayakaleaf Pro ernaar verwijzen

Voeg toe aan 30-config.yaml:
30-config.yaml (additions)
3

Kloon een project

Maak een Git-authenticatietoken aan in Account Settings en voer daarna uit:
Gebruik git als gebruikersnaam en het token als wachtwoord.

Waarom het manifest er zo uitziet

  • Een vaste ClusterIP als GIT_BRIDGE_HOST. De nginx in de Ayakaleaf Pro-image stuurt /git/ door met een resolver die is ingesteld op 127.0.0.11, de ingebouwde DNS van Docker. Kubernetes heeft daar geen DNS-server, dus een hostnaam zoals git-bridge mislukt met 502 en “git-bridge could not be resolved” in /var/log/nginx/error.log. Een IP-adres hoeft niet te worden opgezocht.
  • overleaf-internal. git-bridge heeft de poorten 3000 (web-API) en 3100 (geschiedenis) van de Ayakaleaf Pro-pod nodig. Een aparte ClusterIP-Service houdt ze binnen het cluster; als je ze aan de NodePort-Service toevoegt, worden ze op elke node gepubliceerd.
  • enableServiceLinks: false. De Service git-bridge zou Kubernetes GIT_BRIDGE_PORT=tcp://10.96.100.80:8000 aan de pod laten toevoegen; git-bridge leest GIT_BRIDGE_PORT als zijn luisterpoort en stopt met MalformedJsonException ... path $.port.
  • Eén replica met een eigen volume. git-bridge bewaart per gekloond project een git-repository op schijf en mag niet twee keer draaien. Maak een back-up van het volume.

Getest op Kubernetes

Op Kubernetes 1.37 met drie replica’s achter HAProxy en git-bridge als sibling van overleaf-0 slagen onze end-to-endtests voor de Git-integratie (19 gevallen), ook met git-bridge verplaatst naar poort 8001 zodat nginx GIT_BRIDGE_HOST en GIT_BRIDGE_PORT moet gebruiken: Git-tokens in de accountinstellingen, de kloonopdracht in de editor, klonen, pushen en pullen, binaire bestanden en mappen, hernoemingen en verwijderingen, verouderde pushes geweigerd, toegang per rol (uitgenodigde editors en editors via de link mogen pushen, kijkers en reviewers mogen alleen klonen, gebruikers zonder toegang worden geweigerd), verkeerde en verwijderde tokens geweigerd, de interne routes van git-bridge afgeschermd achter nginx, en geschorste accounts. De Git-authenticatietokens zelf (genereren, weergeven, de limiet per gebruiker, verwijderen, verlopen, de controle die git-bridge aan web vraagt, en tokens van geschorste en verwijderde accounts) slagen op één replica (16 gevallen).

Vragen en antwoorden

Antwoord: Controleer GIT_BRIDGE_HOST: dit moet het IP-adres van de git-bridge-Service zijn, niet de naam ervan, zie hierboven. kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log toont de reden.
Laatst gewijzigd op 2 november 2026