Go to file
2025-02-24 17:58:05 -05:00
.gitignore Update catch variable name project 2025-02-24 16:45:17 -05:00
Jenkinsfile Update catch variable name project 2025-02-24 16:45:17 -05:00
Jenkinsfile firm int Update catch variable name project 2025-02-24 16:45:17 -05:00
Jenkinsfile firm out Update catch variable name project 2025-02-24 16:45:17 -05:00
Readme.md Update firmador 2025-02-24 17:58:05 -05:00
service-api-gateway.yml Update catch variable name project 2025-02-24 16:45:17 -05:00
service-firmador.yml Update catch variable name project 2025-02-24 16:45:17 -05:00
service-nest.yml Update firmador 2025-02-24 17:58:05 -05:00
service-spring.yml Update firmador 2025-02-24 17:58:05 -05:00
service.yml Update catch variable name project 2025-02-24 16:45:17 -05:00

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.

service.firmador.yml

📌 Nota:
Este archivo, junto con los anteriores, es un archivo de configuración para Google Cloud Run que define cómo se desplegará el servicio cbii-firmador-jenkins en la nube.

Resumen de su función:

  • Despliega un servicio llamado cbii-firmador-jenkins en Google Cloud Run.
  • Utiliza la imagen svfe/svfe-api-firmador:v20230109.
  • Expone el puerto 8113 para recibir solicitudes.
  • Asigna recursos de CPU (1000m) y memoria (512MiB).
  • Monta un volumen con certificados desde un bucket de almacenamiento en la nube (certifados_prod).

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. 🎯