${OVERLEAF_SITE_URL}/git/<project id>; pod Ayakaleaf Pro tyto požadavky předává službě git-bridge a git-bridge se zpět do podu obrací pro obsah a historii projektu. Její zapnutí zároveň povoluje MCP server a vyžaduje ji synchronizace s GitHubem, GitLabem, Gitea a Dropboxem.
Tato stránka rozšiřuje instalaci s jednou replikou ze stránky Použití Kubernetes. Pro více replik viz Horizontální škálování.
1
Nasaďte git-bridge
45-git-bridge.yaml
10.96.100.80 musí být volná adresa v rámci service CIDR vašeho clusteru (výchozí hodnota u kubeadm je 10.96.0.0/12).2
Nasměrujte na něj Ayakaleaf Pro
Přidejte do
30-config.yaml:30-config.yaml (additions)
3
Naklonujte projekt
Vytvořte ověřovací token Gitu v Account Settings a poté:Jako uživatelské jméno použijte
git a jako heslo token.Proč manifest vypadá takto
- Pevná ClusterIP jako
GIT_BRIDGE_HOST. Nginx uvnitř image Ayakaleaf Pro předává/git/s resolverem nastaveným na127.0.0.11, vestavěné DNS Dockeru. Kubernetes tam žádný DNS server nemá, takže název hostitele jakogit-bridgeselže s502a hláškou „git-bridge could not be resolved“ v/var/log/nginx/error.log. IP adresa žádné vyhledávání nepotřebuje. overleaf-internal. git-bridge potřebuje porty3000(API služby web) a3100(historie) podu Ayakaleaf Pro. Samostatná Service typu ClusterIP je drží uvnitř clusteru; jejich přidání do Service typu NodePort by je zveřejnilo na každém uzlu.enableServiceLinks: false. Kvůli Servicegit-bridgeby Kubernetes přidal do poduGIT_BRIDGE_PORT=tcp://10.96.100.80:8000; git-bridge čteGIT_BRIDGE_PORTjako port, na kterém naslouchá, a skončí sMalformedJsonException ... path $.port.- Jedna replika s vlastním svazkem. git-bridge uchovává na disku jeden repozitář git pro každý klonovaný projekt a nesmí běžet dvakrát. Zálohujte jeho svazek.
Otestováno na Kubernetes
Na Kubernetes 1.37 se třemi replikami za HAProxy a git-bridge jako sourozencemoverleaf-0 procházejí naše end-to-end testy pro integraci s Gitem (19 případů), a to i s git-bridge přesunutým na port 8001, aby nginx musel použít GIT_BRIDGE_HOST a GIT_BRIDGE_PORT: tokeny Gitu v nastavení účtu, příkaz pro klonování v editoru, clone, push a pull, binární soubory a složky, přejmenování a mazání, odmítnutí zastaralých pushů, přístup podle role (pozvaní editoři a editoři přes odkaz smějí pushovat, čtenáři a recenzenti smějí pouze klonovat, uživatelé bez přístupu jsou odmítnuti), odmítnutí špatných a smazaných tokenů, interní cesty git-bridge skryté za nginx a pozastavené účty. Samotné ověřovací tokeny Gitu (generování, výpis, limit na uživatele, mazání, vypršení platnosti, kontrola, o kterou git-bridge žádá službu web, a tokeny pozastavených a smazaných účtů) procházejí na jedné replice (16 případů).
Otázky a odpovědi
git clone vrací 502.
git clone vrací 502.
Odpověď: Zkontrolujte
GIT_BRIDGE_HOST: musí to být IP adresa Service git-bridge, nikoli její název, viz výše. Příčinu ukáže kubectl -n overleaf exec deploy/overleaf -- tail /var/log/nginx/error.log.
