github-sync-moduuli). Se edellyttää Git-integraatiota. Luo OAuth-sovellus ja lue, mitä kukin asetus tekee, sivulta GitHub-synkronointi; tämä sivu kertoo, miten se otetaan käyttöön Kubernetesissa.
Konfigurointi
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" ja Git-integraation git-bridge-StatefulSet on oltava käytössä: ilman niitä tiliasetukset ja editori piilottavat GitHub-synkronoinnin.2
Secret
GITHUB_TOKEN_CIPHER_PASSWORD salaa käyttäjien GitHub-käyttöoikeustunnukset MongoDB:ssä. Jokaisen replikan on käytettävä samaa arvoa, ja sen muuttaminen myöhemmin pakottaa jokaisen käyttäjän linkittämään GitHubin uudelleen.3
Yksityinen CA (valinnainen)
Jos GitHubillasi on oman CA:si myöntämä varmenne, lisää CA Secretiin
overleaf-certs, joka on liitetty polkuun /var/lib/overleaf/certs (katso Varmenteet ja muut tiedostot), ja aseta ConfigMapiin NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem.4
Ota käyttöön, käynnistä uudelleen ja tarkista
000 tarkoittaa, ettei se ole.Useita replikoita
Mitään ylimääräistä ei tarvita jaetunGITHUB_TOKEN_CIPHER_PASSWORD-arvon lisäksi. Synkronointi ottaa Redisiin lukon, joka on yhteinen muiden Git-synkronointien kanssa, joten kaksi replikaa ei koskaan synkronoi samaa projektia samanaikaisesti.
Testattu Kubernetesissa
github.comin ja sen REST- ja GraphQL-rajapintojen mallitoteutusta vasten (johon luotetaanoverleaf-certs-Secretin NODE_EXTRA_CA_CERTS-asetuksen kautta), Kubernetes 1.37:ssä yhdellä replikalla ja Git-integraatio käytössä, GitHub-synkronoinnin päästä päähän -testimme menevät läpi (31 tapausta): tilin linkittäminen ja linkityksen poistaminen, peruutetut tunnukset, projektin vienti uuteen yksityiseen tai organisaation repositorioon, repositorion tuonti (myös latausrajan ylittävän), pull ja push, yhdistämiset, ristiriidat ja manuaaliset yhdistämiset, poistetut ja pakotetusti pushatut haarat, binääritiedostot, uudelleennimeämiset ja poistot, push-oikeuden menettäminen sekä se, mitä omistajat, muokkaajat ja katselijat saavat tehdä.
