Skip to main content
La sincronizzazione con GitHub viene eseguita nel servizio web (il modulo github-sync) di ogni pod di Ayakaleaf Pro. Richiede l’integrazione Git. Crea l’applicazione OAuth e leggi cosa fa ciascuna impostazione in Sincronizzazione con GitHub; questa pagina la riporta su Kubernetes.

Configurazione

1

ConfigMap

30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" e lo StatefulSet di git-bridge descritto in Integrazione Git devono essere presenti: senza di essi le impostazioni dell’account e l’editor nascondono la sincronizzazione con GitHub.
2

Secret

GITHUB_TOKEN_CIPHER_PASSWORD cifra i token di accesso GitHub degli utenti in MongoDB. Tutte le repliche devono usare lo stesso valore, e modificarlo in seguito obbliga ogni utente a collegare di nuovo GitHub.
3

CA privata (facoltativo)

Se il tuo GitHub usa 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

Qualsiasi codice di stato HTTP significa che GitHub è raggiungibile da quel pod; 000 significa che non lo è.

Più repliche

Nulla di aggiuntivo oltre al valore condiviso di GITHUB_TOKEN_CIPHER_PASSWORD. 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 mock di github.com e delle sue API REST e GraphQL (considerato attendibile tramite NODE_EXTRA_CA_CERTS da overleaf-certs), su Kubernetes 1.37 con una replica e l’integrazione Git attiva, i nostri test end-to-end per la sincronizzazione con GitHub vengono superati (31 casi): collegamento e scollegamento dell’account, token revocati, esportazione di un progetto in un nuovo repository privato o di un’organizzazione, importazione di un repository (anche oltre il limite di upload), pull e push, merge, conflitti e merge manuali, branch eliminati e sottoposti a force push, file binari, rinomine ed eliminazioni, perdita dell’accesso in push, e cosa possono fare proprietari, editor e lettori.
Ultima modifica il 2 novembre 2026