Stockage personnalisé
Copiez un prompt de configuration incluant les étapes d'installation et le guide markdown complet pour ce plugin.
Capgo prend en charge des solutions de stockage personnalisées pour vos bundles d'application, vous permettant d'héberger vos mises à jour sur votre propre infrastructure ou sur des services de stockage tiers. C'est particulièrement utile pour les organisations ayant des exigences de sécurité spécifiques, des besoins de conformité ou une infrastructure de stockage existante.
Le stockage personnalisé dans Capgo fonctionne en envoyant votre bundle vers un emplacement externe et en fournissant à Capgo l'URL d'accès. Le Capgo SDK téléchargera ensuite les mises à jour directement depuis votre emplacement de stockage personnalisé au lieu du stockage cloud par défaut de Capgo.
Upload via URL externe
Section intitulée « Upload via URL externe »Le moyen le plus simple d'utiliser un stockage personnalisé consiste à envoyer votre bundle vers une URL publique et à fournir cette URL à Capgo.
Upload via URL externe basique
Section intitulée « Upload via URL externe basique »npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipCette commande indique à Capgo de référencer le bundle à l'URL spécifiée au lieu de l'envoyer vers le stockage cloud de Capgo.
Avec chiffrement
Section intitulée « Avec chiffrement »Pour un stockage externe sécurisé, vous pouvez chiffrer votre bundle et fournir les clés de déchiffrement :
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntégration S3
Section intitulée « Intégration S3 »Capgo offre un support natif pour Amazon S3 et les services de stockage compatibles S3. Le CLI peut envoyer automatiquement votre bundle sur S3 et configurer Capgo pour utiliser l'URL S3.
Options d'upload S3
Section intitulée « Options d'upload S3 »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-nameConfiguration S3 complète
Section intitulée « Configuration S3 complète »Pour les services compatibles S3 ou les endpoints personnalisés :
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 SSLParamètres de configuration S3
Section intitulée « Paramètres de configuration S3 »| Paramètre | Description | Requis |
|---|---|---|
--s3-region | Région AWS pour votre bucket S3 | Oui |
--s3-apikey | ID de la clé d'accès S3 | Oui |
--s3-apisecret | Clé d'accès secrète S3 | Oui |
--s3-bucket-name | Nom de votre bucket S3 | Oui |
--s3-endpoint | URL de l'endpoint S3 personnalisé | Non |
--s3-port | Port de l'endpoint S3 | Non |
--no-s3-ssl | Désactiver le SSL pour l'upload S3 | Non |
Préparation et chiffrement du bundle
Section intitulée « Préparation et chiffrement du bundle »Lorsque vous utilisez un stockage personnalisé, notamment avec un chiffrement, vous devez préparer vos bundles correctement. Cela implique de créer un fichier zip et, optionnellement, de le chiffrer.
Étape 1 : Créer un bundle zip
Section intitulée « Étape 1 : Créer un bundle zip »Tout d'abord, créez un fichier zip de votre bundle d'application :
npx @capgo/cli@latest bundle zip com.example.app --path ./distLa commande zip retournera le checksum du fichier zip. Vous pouvez utiliser ce checksum pour chiffrer le fichier zip si nécessaire. Utilisez l' --json option pour obtenir une sortie structurée incluant le checksum.
Options de la commande zip
Section intitulée « Options de la commande zip »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| Option | Description |
|---|---|
--path | Chemin du dossier à zipper (par défaut webDir dans capacitor.config) |
--bundle | Numéro de version du bundle pour nommer le fichier zip |
--name | Nom personnalisé pour le fichier zip |
--json | Résultats en format JSON (inclut le checksum) |
--no-code-check | Ignorer la vérification de l'appel notifyAppReady() et du fichier index |
--key-v2 | Utiliser le chiffrement v2 |
--package-json | Chemins vers les fichiers package.json pour les monorepos (séparés par des virgules) |
Étape 2 : Chiffrer le bundle (Optionnel)
Section intitulée « Étape 2 : Chiffrer le bundle (optionnel) »Pour une sécurité accrue, chiffrez votre bundle zip avant l'upload :
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"Le CHECKSUM paramètre est requis et doit être le checksum de votre fichier zip. Vous pouvez obtenir le checksum via la sortie de la commande zip (utilisez --json l'option pour une sortie structurée).
Par défaut, la commande encrypt utilisera votre clé de signature privée locale. Vous pouvez spécifier une clé personnalisée via les --key ou --key-data options.
La commande encrypt retournera le ivSessionKey nécessaire pour l'upload ou le déchiffrement.
Options de la commande d'encryption
Section intitulée « Options de la commande d'encryption »| Option | Description |
|---|---|
zipPath | Chemin vers le fichier zip à chiffrer (requis) |
checksum | Checksum du fichier zip (requis) - à obtenir via la commande zip |
--key | Chemin personnalisé pour la clé de signature privée (optionnel, utilise la clé locale par défaut) |
--key-data | Données de la clé de signature privée directement (optionnel) |
--json | Afficher les résultats au format JSON |
Exemples de workflows complets
Section intitulée « Exemples de workflows complets »Exemple 1 : URL externe avec chiffrement
Section intitulée « Exemple 1 : URL externe avec chiffrement »-
Compilez votre application :
Fenêtre de terminal npm run build -
Créez un bundle zip :
Fenêtre de terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Notez le checksum renvoyé par cette commande.
-
Chiffrez le bundle :
Fenêtre de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Notez le
ivSessionKeydans la sortie. -
Envoyez vers votre stockage : Envoyez le fichier zip chiffré vers votre service d'hébergement.
-
Enregistrez-vous avec Capgo :
Fenêtre de terminal 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
Exemple 2 : Upload direct sur S3
Section intitulée « Exemple 2 : Upload direct vers S3 »-
Compilez votre application :
Fenêtre de terminal npm run build -
Envoyez directement vers S3 :
Fenêtre de terminal 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
Exemple 3 : S3 avec chiffrement
Section intitulée « Exemple 3 : S3 avec chiffrement »-
Build et zip :
Fenêtre de terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Chiffrer le bundle :
Fenêtre de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Envoyer vers S3 avec chiffrement :
Fenêtre de terminal 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
Considérations de sécurité
Section intitulée « Considérations de sécurité »Lors de l'utilisation d'un stockage personnalisé, suivez ces bonnes pratiques de sécurité :
Contrôle d’accès
Section intitulée « Contrôle d'accès »- Assurez-vous que vos URLs de stockage sont accessibles à vos utilisateurs mais ne sont pas publiquement découvrables
- Utilisez des URLs signées ou une authentification par token si possible
- Implémentez les headers CORS appropriés pour les apps web
Chiffrement
Section intitulée « Chiffrement »- Chiffrez toujours vos bundles sensibles avec les outils de chiffrement Capgo
- Store encryption keys securely and rotate them regularly
- Utilisez HTTPS pour toutes les URLs de bundles (requis pour le mobile et Electron)
Monitoring
Section intitulée « Monitoring »- Monitor access logs to detect unusual download patterns
- Set up alerts for failed bundle downloads
- Auditez régulièrement vos permissions de stockage
Troubleshooting
Section intitulée « Dépannage »Problèmes courants
Section intitulée « Problèmes courants »Le bundle ne se télécharge pas :
- Vérifiez que l'URL est accessible publiquement et utilise HTTPS (requis pour les apps mobiles et Electron)
- Vérifiez les headers CORS pour les web apps
- Assurez-vous que le format du bundle est correct
Erreurs de chiffrement :
- Vérifiez que le
ivSessionKeycorrespond au bundle chiffré - Vérifiez que le bundle a été chiffré avec la bonne clé
- Ensure encryption v2 is used for new bundles
Échecs d'upload S3 :
- Vérifiez vos identifiants et permissions S3
- Vérifiez les politiques de bucket et la configuration CORS
- Assurez-vous que la région spécifiée est correcte
Commandes de debug
Section intitulée « Commandes de debug »Vérifiez le statut du bundle :
npx @capgo/cli@latest app debugVérifiez l'intégrité du bundle :
npx @capgo/cli@latest bundle listÉtapes suivantes
Section intitulée « Étapes suivantes »- En savoir plus sur Canaux pour gérer différents environnements de déploiement
- Explorer Comportement de mise à jour pour personnaliser l'application des mises à jour
- Configuration Intégration CI/CD pour automatiser votre workflow de stockage personnalisé
Continuer avec Custom Storage
Section intitulée « Continuer avec Custom Storage »Si vous utilisez Stockage personnalisé pour planifier la sécurité et la conformité, connectez-l’à Chiffrement pour les détails d'implémentation du chiffrement, Conformité pour les détails d'implémentation de la conformité, Scanner de sécurité Capgo pour le workflow produit dans Capgo Security Scanner, Capgo et la sécurité pour le workflow produit dans Capgo Security, et Capgo Centre de confiance pour le workflow produit dans Capgo Trust Center.