Saltare alla navigazione

Archiviazione Personalizzata

Capgo supporta soluzioni di archiviazione personalizzate per i pacchetti del tuo'applicazione, consentendoti di ospitare le tue aggiornamenti sul tuo proprio infrastruttura o sui servizi di archiviazione di terze parti. Ciò è particolarmente utile per le organizzazioni con specifiche esigenze di sicurezza, necessità di conformità o infrastrutture di archiviazione esistenti.

L'archiviazione personalizzata in Capgo funziona caricando il tuo pacchetto in un'ubicazione esterna e fornendo a Capgo l'URL per accedervi. Il Capgo SDK scaricherà poi gli aggiornamenti direttamente dalla tua ubicazione di archiviazione personalizzata anziché da Capgo’s archiviazione cloud di default.

La modalità più semplice per utilizzare lo storage personalizzato consiste nell'upload del proprio bundle su qualsiasi URL accessibile pubblicamente e fornire quella URL a Capgo.

Fenestra del terminale
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip

Questo comando dice a Capgo di riferirsi al bundle alla URL specificata anziché caricarlo su Capgo’s archiviazione cloud.

Per uno storage esterno sicuro, puoi crittografare il tuo bundle e fornire le chiavi di decrittografia:

Fenestra del terminale
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEY

Capgo fornisce un supporto integrato per Amazon S3 e servizi di archiviazione S3 compatibili. Il CLI può caricare automaticamente il bundle su S3 e configurare Capgo per utilizzare l'URL S3.

Finestra del terminale
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-bucket-name your-bucket-name

Per servizi S3 compatibili o endpoint personalizzati:

Finestra del terminale
npx @capgo/cli@latest bundle upload \
--s3-region us-east-1 \
--s3-apikey YOUR_ACCESS_KEY \
--s3-apisecret YOUR_SECRET_KEY \
--s3-endpoint https://s3.your-provider.com \
--s3-bucket-name your-bucket-name \
--s3-port 443 \
--no-s3-ssl # Only if your endpoint doesn't support SSL
ParametroDescrizioneRichiesto
--s3-regionRegione AWS per il tuo bucket S3
--s3-apikeyID chiave di accesso S3
--s3-apisecretChiave segreta di accesso S3
--s3-bucket-nameNome del tuo bucket S3
--s3-endpointURL personalizzata dell'endpoint S3No
--s3-portPorta per l'endpoint S3No
--no-s3-sslDisabilita SSL per l'upload S3No

Quando si utilizza un archiviazione personalizzata, soprattutto con la crittografia, è necessario preparare i pacchetti in modo appropriato. Ciò comporta la creazione di un file zip e, facoltativamente, la crittografia.

Innanzitutto, crea un file ZIP del tuo bundle dell'applicazione:

Fermata del terminale
npx @capgo/cli@latest bundle zip com.example.app --path ./dist

Il comando ZIP restituirà il checksum del file ZIP. Puoi utilizzare questo checksum per cifrare il file ZIP se necessario. Utilizza l' --json opzione per ottenere un output strutturato che include il checksum.

Fermata del terminale
npx @capgo/cli@latest bundle zip [appId] \
--path ./dist \
--bundle 1.2.3 \
--name myapp-v1.2.3 \
--json \
--no-code-check \
--key-v2 \
--package-json ../../package.json,./package.json
OpzioneDescrizione
--pathPercorso del folder da archiviare (predefinito da webDir da capacitor.config)
--bundleNumero di versione del bundle per denominare il file zip
--nameNome personalizzato per il file zip
--jsonRisultati di output in formato JSON (incluso checksum)
--no-code-checkSaltare la verifica della chiamata a notifyAppReady() e dell'indice del file
--key-v2Usare l'encryption v2
--package-jsonPercorso dei file package.json per i monorepos (separati da virgole)

Per una maggiore sicurezza, criptare il tuo bundle zip prima di caricarlo:

Finestra del terminale
# Using default local key
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key file
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directly
npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"

The parameter is required and should be the checksum of your zip file. You can get the checksum from the zip command output (use the CHECKSUM option for structured output). --json Di default, il comando di crittografia utilizzerà la tua chiave privata di firma locale. Puoi specificare una chiave personalizzata utilizzando il

o --key opzione. --key-data Il comando di crittografia restituirà il

necessario per l'upload o la decrittografia. ivSessionKey Opzioni del comando di crittografia

Sottosezione intitolata “Opzioni del comando di crittografia”

Opzione
DescrizioneOption
zipPathPercorso del file zip da cifrare (obbligatorio)
checksumChecksum del file zip (obbligatorio) - ottienilo con il comando zip
--keyPercorso personalizzato per la chiave di firma privata (facoltativo, utilizza la chiave locale per impostazione predefinita)
--key-dataDati della chiave di firma privata direttamente (facoltativo)
--jsonRisultati di output in formato JSON
  1. Costruisci l'applicazione:

    Fermata dei comandi
    npm run build
  2. Crea un bundle zip:

    Fermata dei comandi
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3

    Nota il checksum restituito da questo comando.

  3. Crittografa il bundle:

    Fermata dei comandi
    npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2

    Nota il ivSessionKey dalla output.

  4. Carica sul tuo storage: Carica il file zip cifrato sul tuo servizio di hosting.

  5. Registra con Capgo:

    Finestra del terminale
    npx @capgo/cli@latest bundle upload \
    --external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_3
  1. Costruisci il tuo app:

    Finestra del terminale
    npm run build
  2. Carica direttamente su S3:

    Finestra del terminale
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --channel Production
  1. Costruisci e zip:

    Finestra del terminale
    npm run build
    npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2
  2. Crittografa il bundle:

    Finestra del terminale
    npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM
  3. Carica su S3 con crittografia:

    Finestra del terminale
    npx @capgo/cli@latest bundle upload \
    --s3-region us-west-2 \
    --s3-apikey YOUR_ACCESS_KEY \
    --s3-apisecret YOUR_SECRET_KEY \
    --s3-bucket-name your-app-bundles \
    --iv-session-key IV_SESSION_KEY_FROM_STEP_2 \
    --channel Production

Quando si utilizza un archivio personalizzato, considera queste pratiche di sicurezza:

  • Assicurati che le tue URL di archiviazione siano accessibili agli utenti del tuo app ma non scopribili pubblicamente
  • Utilizza URL firmati o autenticazione basata su token quando possibile
  • Implementa i header CORS appropriati per gli app web
  • Utilizza sempre gli strumenti di crittografia Capgo per cifrare i pacchetti sensibili
  • Conserva le chiavi di crittografia in modo sicuro e rinnovale regolarmente
  • Utilizza HTTPS per tutte le URL dei pacchetti (richiesto per le app mobili e Electron)
  • Monitora i log di accesso per rilevare modelli di download anomali
  • Configura gli avvisi per i download dei pacchetti falliti
  • Auditare regolarmente le autorizzazioni di archiviazione

Il pacchetto non si sta scaricando:

  • Verifica che l'URL sia accessibile pubblicamente e utilizzino HTTPS (richiesto per le app mobili e Electron)
  • Controlla i header CORS per le app web
  • Assicurati che il formato del pacchetto sia corretto

Errori di crittografia:

  • Verifica che si tratta del pacchetto crittografato ivSessionKey Controlla che il pacchetto sia stato crittografato con la chiave corretta
  • Assicurati che venga utilizzata la crittografia v2 per i nuovi pacchetti
  • Fallimenti nell'upload su S3:

Verifica le tue credenziali e le autorizzazioni S3

  • Controlla le politiche del bucket e la configurazione CORS
  • __CAPGO_KEEP_0__
  • Assicurati che la regione specificata sia corretta

Verifica lo stato del pacchetto:

Finestra del terminale
npx @capgo/cli@latest app debug

Verifica l'integrità del pacchetto:

Finestra del terminale
npx @capgo/cli@latest bundle list

Continua da Archiviazione Personalizzata

Se stai utilizzando

Archiviazione Personalizzata __CAPGO_KEEP_0__ per pianificare la sicurezza e la conformità, connettilo con Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scansionatore di Sicurezza per il workflow del prodotto in Capgo Scansionatore di Sicurezza, Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza, e Capgo Centro di Trust per il workflow del prodotto in Capgo Centro di Trust.