Almacenamiento personalizado
Copia un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Capgo admite soluciones de almacenamiento personalizadas para los paquetes de su 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
Título de sección “Resumen”El almacenamiento personalizado en Capgo funciona subiendo el 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 utilizar el almacenamiento en la nube predeterminado de Capgo.
Carga de URL externa
Sección titulada “Carga de URL externa”La forma más sencilla de utilizar almacenamiento personalizado es subir su paquete a cualquier URL accesible públicamente y proporcionar esa URL a Capgo.
Carga de URL externa básica
Sección titulada “Carga de URL externa básica”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipEsta orden le dice a Capgo que refiera el paquete en la URL especificada en lugar de subirlo a Capgo’s almacenamiento en la nube.
Con cifrado
Sección titulada “Con cifrado”Para almacenamiento externo seguro, puede cifrar su 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 carga de S3
Sección titulada “Opciones de carga de 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 completa de S3”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 de S3 | Sí |
--s3-apikey | ID de clave de acceso de S3 | Sí |
--s3-apisecret | Clave de acceso secreta de S3 | Sí |
--s3-bucket-name | Nombre de tu contenedor S3 | Sí |
--s3-endpoint | URL de punto de conexión de S3 personalizado | No |
--s3-port | Puerto para el punto de conexión de S3 | No |
--no-s3-ssl | Deshabilitar SSL para la carga de S3 | No |
Preparación y cifrado del paquete
Preparación y cifrado de paquetesAl utilizar almacenamiento personalizado, especialmente con cifrado, es necesario preparar adecuadamente sus paquetes. Esto implica crear un archivo zip y cifrarlo opcionalmente.
Paso 1: Crear un paquete zip
Paso 1: Crear un paquete zipPrimero, cree un archivo zip de su paquete de la aplicación:
npx @capgo/cli@latest bundle zip com.example.app --path ./distEl comando zip devolverá el checksum del archivo zip. Puede utilizar este checksum para cifrar el archivo zip si es necesario. Utilice la opción para obtener un resultado estructurado que incluya el checksum. --json Opciones del comando Zip
Paso 1: Crear un paquete zip
Ventana de terminalnpx @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 del folder para zip (predeterminado a webDir de capacitor.config) |
--bundle | Número de 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 de archivo package.json para repositorios monorepo (separadas por comas) |
Paso 2: Encriptar el Bundle (Opcional)
Sección titulada “Paso 2: Encriptar el Bundle (Opcional)”For una mayor seguridad, cifre su archivo 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 es obligatorio y debe ser el checksum de su archivo zip. Puede obtener el checksum del comando zip (utilice --json opción para un formato de salida estructurado).
Por defecto, el comando cifrar utilizará su clave privada de firma local. Puede especificar una clave personalizada utilizando los --key o --key-data opciones.
El comando cifrar devolverá el ivSessionKey necesario para la subida o la descifrado.
Opciones del comando de cifrado
Opción de comandos de comando de cifrado| Opción | Descripción |
|---|---|
zipPath | Ruta del archivo zip a cifrar (obligatorio) |
checksum | Checksum del archivo zip (obligatorio) - obténlo del 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 | Mostrar resultados en formato JSON |
Ejemplos completos del flujo de trabajo
Sección titulada “Ejemplos completos del flujo de trabajo”Ejemplo 1: URL externa con cifrado
Sección titulada “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.
-
Cifre el paquete:
ventana de terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Tenga en cuenta que
ivSessionKeydesde la salida. -
Subir a su almacenamiento: Subir el archivo zip cifrado a su servicio de alojamiento.
-
Registre 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: Carga directa S3
Título de la sección “Ejemplo 2: Carga directa 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”-
Construye y comprime:
Ventana de terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Cifra 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”Al utilizar almacenamiento personalizado, considera estas mejores prácticas de seguridad:
Control de acceso
Sección titulada “Control de acceso”- Asegúrate de que las URL de almacenamiento sean accesibles a los usuarios de tu aplicación pero no descubribles públicamente
- Utiliza URLs firmadas o autenticación basada en tokens cuando sea posible
- Implemente los encabezados CORS adecuados para aplicaciones web
Cifrado
Sección titulada “Cifrado”- Siempre cifre los paquetes sensibles utilizando las herramientas de cifrado Capgo
- Almacene las claves de cifrado de manera segura y las rotule regularmente
- Utilice HTTPS para todas las URL de paquetes (requerido para aplicaciones móviles y Electron)
Monitoreo
Sección titulada “Monitoreo”- Monitoree los registros de acceso para detectar patrones de descarga inusuales
- Configure alertas para descargas de paquetes fallidas
- Audite regularmente las permisos de almacenamiento
Solucion de problemas
Sección titulada “Resolución de problemas”Problemas comunes
Sección titulada “Problemas comunes”El paquete no se está descargando:
- 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
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 de carga en S3:
- Verifica tus credenciales y permisos de S3
- Revisa las políticas de contenedor y la configuración de CORS
- Asegúrate de que la región especificada sea correcta
Comandos de depuración
Sección titulada “Comandos de depuración”Verifica el estado del paquete:
npx @capgo/cli@latest app debugVerifica la integridad del paquete:
npx @capgo/cli@latest bundle listPasos siguientes
Sección titulada “Pasos siguientes”- Aprende sobre Canales para gestionar diferentes entornos de despliegue
- Explora Actualizar comportamiento para personalizar cómo se aplican las actualizaciones
- Configura Integración CI/CD para automatizar tu flujo de trabajo de almacenamiento personalizado
Sigue adelante desde Almacenamiento personalizado
Mantén el ritmo desde Almacenamiento PersonalizadoSi estás utilizando Almacenamiento Personalizado para planificar la seguridad y la conformidad, conecta Cifrado para los detalles de implementación en Cifrado, Conformidad para los detalles de implementación en 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, Capgo Centro de Confianza para el flujo de trabajo del producto en Capgo Centro de Confianza.