gitea-sync) van elke Ayakaleaf Pro-pod. Hiervoor is de Git-integratie nodig. Maak de OAuth-applicatie aan en lees wat elke instelling doet in Gitea-synchronisatie; deze pagina zet het in Kubernetes.
Configuratie
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" en de git-bridge-StatefulSet uit Git-integratie moeten aanwezig zijn: zonder deze verbergen de accountinstellingen en de editor Gitea-synchronisatie.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD versleutelt de Gitea-toegangs- en vernieuwingstokens van de gebruikers in MongoDB. Elke replica moet dezelfde waarde gebruiken, en als je deze later wijzigt, moet elke gebruiker Gitea opnieuw koppelen.3
Privé-CA (optioneel)
Als je Gitea een certificaat van je eigen CA heeft, voeg de CA dan toe aan de Secret
overleaf-certs die is gemount op /var/lib/overleaf/certs (zie Certificaten en andere bestanden) en stel NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem in de ConfigMap in.4
Toepassen, herstarten en controleren
000 betekent dat het niet bereikbaar is.Meerdere replica’s
Niets extra’s naast het gedeeldeGITEA_TOKEN_CIPHER_PASSWORD. Een synchronisatie neemt een lock in Redis, gedeeld met de andere Git-synchronisaties, zodat twee replica’s nooit tegelijk hetzelfde project synchroniseren.
Getest op Kubernetes
Tegen een echte Gitea 1.23 opGITEA_SYNC_URL, op Kubernetes 1.37 met één replica en de Git-integratie ingeschakeld, slagen onze end-to-endtests voor Gitea-synchronisatie (39 gevallen): het account koppelen en ontkoppelen via Gitea’s OAuth2, het verlopende toegangstoken vernieuwen en ingetrokken autorisaties, exporteren naar een nieuwe privé- of organisatierepository, een repository importeren, pullen en pushen, merges, conflicten, verwijderde en geforceerd gepushte branches, binaire bestanden, hernoemingen en verwijderingen, en wat eigenaren, editors en kijkers mogen doen.
