Almacenamiento personalizado
Copia un prompt de configuración con los pasos de instalación y la guía markdown completa para este complemento.
Capgo admite soluciones de almacenamiento personalizadas para sus paquetes de la aplicación, lo que le permite alojar sus actualizaciones en su propia infraestructura o servicios de almacenamiento de terceros. Esto es especialmente útil para organizaciones con requisitos de seguridad específicos, necesidades de cumplimiento o infraestructura de almacenamiento existente.
Resumen
Sección titulada “Resumen”El almacenamiento personalizado en Capgo funciona subiendo su paquete a un lugar externo y proporcionando a Capgo la URL para acceder a él. El Capgo SDK descargará actualizaciones directamente desde su ubicación de almacenamiento personalizado en lugar de la almacenamiento en la nube predeterminado de Capgo.
Subir URL externa
Sección titulada “Subir URL externa”La forma más sencilla de usar almacenamiento personalizado es subir tu paquete a cualquier URL accesible públicamente y proporcionar esa URL a Capgo.
Subir URL externa básica
Sección titulada “Subir URL externa básica”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipEste comando indica a Capgo que refiera el paquete en la URL especificada en lugar de subirlo a la almacenamiento en la nube de Capgo.
Con cifrado
Sección titulada “Con cifrado”Para almacenamiento externo seguro, puedes cifrar tu paquete y proporcionar las claves de descifrado:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntegración de S3
Sección titulada “Integración de S3”Capgo ofrece soporte integrado para Amazon S3 y servicios de almacenamiento S3 compatibles. El CLI puede subir automáticamente su paquete a S3 y configurar Capgo para utilizar la URL de S3.
Opciones de subida a S3
Sección titulada “Opciones de subida a 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-nameConfiguración de S3 completa
Sección titulada “Configuración de S3 completa”Para servicios compatibles con S3 o puntos finales personalizados:
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 SSLParámetros de configuración de S3
Sección titulada “Parámetros de configuración de S3”| Parámetro | Descripción | Requerido |
|---|---|---|
--s3-region | Región de AWS para tu contenedor S3 | Sí |
--s3-apikey | Clave de acceso a S3 | Sí |
--s3-apisecret | Clave de acceso secreta a S3 | Sí |
--s3-bucket-name | Nombre de tu contenedor S3 | Sí |
--s3-endpoint | URL del punto final de S3 personalizado | No |
--s3-port | Puerto del punto final de S3 | No |
--no-s3-ssl | Deshabilitar SSL para la carga de S3 | No |
Preparación y cifrado del paquete
Section titled “Bundle Preparation and Encryption”Al utilizar almacenamiento personalizado, especialmente con cifrado, debes preparar adecuadamente tus paquetes. Esto implica crear un archivo zip y cifrarlo opcionalmente.
Step 1: Crea un paquete Zip
Sección titulada “Step 1: Crea un paquete Zip”Primero, crea un archivo zip de tu paquete de la aplicación:
npx @capgo/cli@latest bundle zip com.example.app --path ./distEl comando zip devolverá el checksum del archivo zip. Puedes utilizar este checksum para cifrar el archivo zip si es necesario. Utiliza la --json opción para obtener un resultado estructurado que incluya el checksum.
Opciones del comando Zip
Sección titulada “Opciones del comando 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| Opción | Descripción |
|---|---|
--path | Ruta al directorio para comprimir (predeterminado es webDir de capacitor.config) |
--bundle | Versión del paquete para nombrar el archivo zip |
--name | Nombre personalizado para el archivo zip |
--json | Resultado de salida en formato JSON (incluye checksum) |
--no-code-check | Saltarse la comprobación de la llamada a notifyAppReady() y el archivo de índice |
--key-v2 | Usar cifrado v2 |
--package-json | Rutas a archivos package.json para repositorios monolíticos (separados por comas) |
2. Paso: cifrar el paquete (opcional)
Sección titulada “2. Paso: cifrar el paquete (opcional)”Para una mayor seguridad, cifre su paquete zip antes de subirlo:
# 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"El CHECKSUM El parámetro es obligatorio y debe ser el checksum de tu archivo zip. Puedes obtener el checksum desde la salida del comando zip (utiliza --json Opción para un resultado estructurado).
Por defecto, el comando de cifrado utilizará tu clave privada de firma local. Puedes especificar una clave personalizada utilizando el --key o --key-data options.
necesario para la subida o la desifrado. ivSessionKey Opciones de comando de cifrado
Opciones de comando de cifrado
Section titled “Encryption Command Options”| Option | Descripción |
|---|---|
zipPath | Ruta al archivo zip para cifrar (obligatorio) |
checksum | Checksum del archivo zip (obligatorio) - obténlo con el comando zip |
--key | Ruta personalizada para la clave de firma privada (opcional, utiliza la clave local por defecto) |
--key-data | Datos de la clave de firma privada directamente (opcional) |
--json | Resultado en formato JSON |
Ejemplos de Flujo de Trabajo Completo
Ejemplos de flujo de trabajo completosEjemplo 1: URL externa con cifrado
Título de la sección “Ejemplo 1: URL externa con cifrado”-
Construye tu aplicación:
Ventana de terminal npm run build -
Crear un paquete zip:
Ventana de terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Nota el checksum devuelto por este comando.
-
Cifra el paquete:
Ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Nota el
ivSessionKeydesde la salida. -
Subir a tu almacenamiento: Sube el archivo zip cifrado a tu servicio de alojamiento.
-
Registra con Capgo:
Ventana 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
Ejemplo 2: Subir directamente a S3
Título de la sección “Ejemplo 2: Subir directamente a S3”-
Construye tu aplicación:
Ventana de terminal npm run build -
Subir directamente a S3:
Ventana 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
Ejemplo 3: S3 con cifrado
Sección titulada “Ejemplo 3: S3 con cifrado”-
Construir y comprimir:
Ventana de terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Cifrar el paquete:
Ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Subir a S3 con cifrado:
Ventana 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
Consideraciones de seguridad
Sección titulada “Consideraciones de seguridad”Cuando se utilice almacenamiento personalizado, considere estas mejores prácticas de seguridad:
Control de acceso
Sección titulada “Control de acceso”- Asegúrese de que las URL de almacenamiento sean accesibles a los usuarios de su aplicación pero no descubribles públicamente.
- Utilice URLs firmadas o autenticación basada en tokens cuando sea posible
- Implemente encabezados CORS adecuados para aplicaciones web
Cifrado
Sección titulada “Cifrado”- Siempre cifra los paquetes sensibles utilizando las herramientas de cifrado Capgo
- Almacene las claves de cifrado de manera segura y rotélas con regularidad
- Utiliza HTTPS para todas las URL de paquetes (requerido para aplicaciones móviles y Electron)
Monitoreo
Sección titulada “Monitoreo”- Monitorea los registros de acceso para detectar patrones de descarga inusuales
- Configura alertas para descargas de paquetes fallidas
- Realiza auditorías periódicas de permisos de almacenamiento
Solución de problemas
Sección titulada “Solución de problemas”Problemas comunes
Sección titulada “Problemas comunes”No se está descargando el paquete:
- Verifique que la URL sea accesible públicamente y utilice HTTPS (requerido para aplicaciones móviles y Electron)
- Verifique los encabezados CORS para aplicaciones web
- Asegúrese de que el formato del paquete sea correcto
Errores de cifrado:
- Verifique que el
ivSessionKeycoincida con el paquete cifrado - Verifique que el paquete se haya cifrado con la clave correcta
- Asegúrese de que se utilice la cifrado v2 para nuevos paquetes
Fallos al subir a S3:
- Verifique sus credenciales y permisos de S3
- Verificar políticas de contenedor y configuración de CORS
- Asegurarse de que la región especificada sea correcta
Comandos de depuración
Sección titulada “Comandos de depuración”Verificar el estado del paquete:
npx @capgo/cli@latest app debugVerificar la integridad del paquete:
npx @capgo/cli@latest bundle listPasos siguientes
Sección titulada “Pasos siguientes”- Aprende sobre Canales Administrar diferentes entornos de despliegue
- Explore Comportamiento de Actualización personalizar cómo se aplican las actualizaciones
- Configura Integración CI/CD Automatizar su flujo de almacenamiento personalizado
Sigue adelante desde Almacenamiento personalizado
Siguiente paso desde Almacenamiento personalizadoSi estás utilizando Almacenamiento Personalizado a conectar con ella para planificar la seguridad y la conformidad La Cifrado para el detalle de implementación en La Cifrado La Conformidad para el detalle de implementación en La Conformidad Capgo Escáner de Seguridad para el flujo de trabajo del producto en Capgo Escáner de Seguridad Capgo Seguridad para el flujo de trabajo del producto en Capgo Seguridad, y Capgo Centro de Confianza para el flujo de trabajo del producto en Capgo Centro de Confianza