diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..c43b617 --- /dev/null +++ b/Readme.md @@ -0,0 +1,75 @@ +Este archivo define cómo se despliega un **servicio en Cloud Run**, que es una plataforma de Google Cloud que permite ejecutar aplicaciones sin preocuparse por la infraestructura. + +## Service-api-gateway.yml + +🔹 **¿Qué hace este servicio?** +Es un **API Gateway**, una especie de "puerta de entrada" que gestiona y redirige las solicitudes entre varios sistemas. + +🔹 **¿Qué características tiene?** +✅ Utiliza una imagen de un programa previamente construido. +✅ Se ejecuta en Google Cloud con una configuración que le permite recibir hasta **80 solicitudes al mismo tiempo**. +✅ Si una solicitud toma más de **5 minutos**, se cancela automáticamente. +✅ Se asignan recursos para que funcione de manera eficiente (1 CPU y 512 MB de memoria). +✅ Tiene una configuración especial que le permite verificar si está listo antes de empezar a recibir tráfico. +✅ Usa variables de entorno para conectarse con otros servicios. + +## Service-Nest.yml + +🔹 **¿Qué hace este servicio?** +Este servicio es una **aplicación basada en Nest.js** que forma parte del sistema CBII. Se encarga de procesar solicitudes y conectarse con otras partes del sistema, como bases de datos y almacenamiento. + +🔹 **¿Qué características tiene?** +✅ **Escalabilidad:** Puede manejar hasta **80 solicitudes al mismo tiempo**. +✅ **Tiempo de espera:** Si una solicitud toma más de **5 minutos**, se cancela automáticamente. +✅ **Seguridad:** Usa **credenciales protegidas** para acceder a la base de datos y otros servicios. +✅ **Conexión con otros sistemas:** Se comunica con servicios como almacenamiento en la nube (DigitalOcean Spaces), firma de documentos y una API externa llamada **Hacienda**. +✅ **Recursos asignados:** Tiene **2 CPU y 1GB de memoria**, lo que le permite procesar solicitudes de manera eficiente. + +🔹 **¿Cómo maneja la seguridad?** +Este servicio no guarda contraseñas ni claves en el código. En su lugar, usa un mecanismo seguro llamado **Secret Manager**, que almacena información sensible como: +🔐 **Credenciales de la base de datos** +🔐 **Llaves de cifrado** +🔐 **Configuraciones del sistema** + +🔹 **¿Cómo maneja archivos y almacenamiento?** +El servicio tiene acceso a **dos almacenes de archivos en la nube (buckets)**: +📂 **"certifados_prod"** → Almacena certificados digitales. +📂 **"templates_cbii"** → Almacena plantillas utilizadas en los procesos del sistema. + +## Service-Spring.yml + +Este archivo configura el despliegue de un **servicio en Cloud Run**, una plataforma de Google Cloud que permite ejecutar aplicaciones sin necesidad de administrar servidores. + +🔹 **¿Qué hace este servicio?** +Este servicio forma parte del sistema **CBII** y está diseñado para gestionar **lotes de Facturas** en la plataforma. Se encarga de conectarse con otros sistemas, procesar datos y garantizar que la información fluya correctamente. + +🔹 **Principales características:** +✅ **Escalabilidad automática:** Puede atender hasta **80 solicitudes simultáneamente**. +✅ **Tiempo de espera:** Si una solicitud tarda más de **5 minutos**, se detiene automáticamente. +✅ **Seguridad:** Utiliza **credenciales protegidas** para acceder a bases de datos y otros servicios sin exponer contraseñas en el código. +✅ **Conexión con otros sistemas:** Se comunica con servicios como la firma electrónica de documentos y la plataforma **Hacienda**. +✅ **Recursos asignados:** Tiene **1 CPU y 512 MB de memoria**, lo que permite un equilibrio entre rendimiento y eficiencia. + +🔹 **¿Cómo protege la información?** +Este servicio no almacena datos sensibles en el código. En su lugar, utiliza **Secret Manager**, un servicio que mantiene seguras las credenciales, claves de cifrado y configuraciones importantes como: +🔐 **Acceso a la base de datos** +🔐 **Llaves de seguridad (JWT_SECRET)** +🔐 **URL de Hacienda y otros servicios externos** + +🔹 **¿Cómo maneja archivos y almacenamiento?** +El servicio accede a un almacenamiento en la nube llamado **"certifados_prod"**, donde se guardan documentos importantes, como **certificados digitales** necesarios para la firma electrónica de documentos. + +## Otros archivos + +📌 **Nota:** +Los archivos adicionales que se han compartido son **archivos de configuración para Jenkins**, una herramienta de automatización utilizada para gestionar el despliegue de los servicios. + +✅ **¿Qué hacen estos archivos?** +Estos archivos permiten que **Jenkins** realice automáticamente el despliegue de los microservicios en **Cloud Run**, asegurando que cada actualización del código se implemente sin intervención manual. + +✅ **Beneficios de esta integración:** +🔄 **Automatización:** Reduce errores y agiliza el proceso de despliegue. +🚀 **Eficiencia:** Cada cambio en el código puede implementarse rápidamente en la nube. +🔐 **Seguridad:** Se mantienen las configuraciones y accesos controlados dentro del pipeline de despliegue. + +En resumen, estos archivos permiten que los microservicios de **CBII** se actualicen y desplieguen automáticamente en **Google Cloud Run**, mejorando la eficiencia y estabilidad del sistema. 🎯 \ No newline at end of file