gitea-sync) di ogni pod di Ayakaleaf Pro. Richiede l’integrazione Git. Crea l’applicazione OAuth e leggi cosa fa ciascuna impostazione in Sincronizzazione con Gitea; questa pagina spiega come inserirla in Kubernetes.
Configurazione
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" e lo StatefulSet di git-bridge di Integrazione Git devono essere presenti: senza di essi le impostazioni dell’account e l’editor nascondono la sincronizzazione con Gitea.2
Secret
GITEA_TOKEN_CIPHER_PASSWORD cifra gli access token e i refresh token Gitea degli utenti in MongoDB. Ogni replica deve usare lo stesso valore, e modificarlo in seguito costringe ogni utente a ricollegare Gitea.3
CA privata (facoltativo)
Se il tuo Gitea ha un certificato emesso dalla tua CA, aggiungi la CA al Secret
overleaf-certs montato in /var/lib/overleaf/certs (vedi Certificati e altri file) e imposta NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem nella ConfigMap.4
Applica, riavvia e verifica
000 significa che non lo è.Più repliche
Non serve altro oltre allaGITEA_TOKEN_CIPHER_PASSWORD condivisa. Una sincronizzazione acquisisce un lock in Redis, condiviso con le altre sincronizzazioni Git, quindi due repliche non sincronizzano mai lo stesso progetto contemporaneamente.
Testato su Kubernetes
Contro un vero Gitea 1.23 suGITEA_SYNC_URL, su Kubernetes 1.37 con una replica e l’integrazione Git attiva, i nostri test end-to-end per la sincronizzazione con Gitea vengono superati (39 casi): collegamento e scollegamento dell’account tramite l’OAuth2 di Gitea, rinnovo dell’access token in scadenza e autorizzazioni revocate, esportazione in un nuovo repository privato o di un’organizzazione, importazione di un repository, pull e push, merge, conflitti, branch eliminati e sottoposti a force push, file binari, rinominazioni ed eliminazioni, e cosa possono fare proprietari, editor e visualizzatori.
