Saltar a contenido

Relación con la memoria

La fuente de contexto es la memoria de Gabriel Ángel Canals Salleras, Automatización multinube con Terraform gestionada íntegramente desde GitLab: una propuesta de plataforma DevOps centralizada, con fecha de entrega indicada de 29 de junio de 2026. El archivo facilitado contiene 68 páginas PDF. Esta documentación reorganiza su contenido para consulta y operación, y lo contrasta con los seis repositorios públicos revisados el 26 de octubre de 2026.

Convención de páginas y fuentes

En el cuerpo principal, página PDF = página impresa + 6: la página 7 del PDF corresponde a la impresa 1; la 66, a la impresa 60. Las páginas preliminares y la bibliografía utilizan otra numeración. Se dan ambas referencias para que la evidencia pueda localizarse sin depender del visor.

La memoria aporta objetivos, motivos y capturas históricas. Los enlaces fijados a SHA aportan el comportamiento versionado examinado. El historial público de GitLab aporta estados de ejecuciones y tareas en la fecha de consulta. Ninguna de esas fuentes acredita por sí sola el estado actual de una cuenta cloud.

La memoria original no se incorpora al sitio público: esta página permite localizar sus secciones en el archivo que el autor mantiene. El inventario de commits está en fuentes.

Mapa del contenido

Sección de la memoria PDF / impresa Contenido trasladado Página de documentación
6.1 Objetivo general y comparación 16–18 / 10–12 Centralización y motivación del proyecto Proyecto, decisiones
6.2 Objetivos específicos y requisitos 19–22 / 13–16 Alcance, capacidades y criterios Matrices de esta página
6.3 Metodología 23–24 / 17–18 Ocho fases del ciclo Ciclo DevOps
7.1 Planificación 25–28 / 19–22 Hitos, issues y distribución del trabajo Ciclo DevOps
7.1.1 Jerarquía 28–30 / 22–24 Responsabilidades y repositorios Repositorios, arquitectura
7.2.1 Aplicación 31–32 / 25–26 Demostrador Java y MySQL Aplicación
7.2.2 Edición de código 33–34 / 27–28 Editor y Web IDE Ciclo DevOps
7.2.3 Pipelines 35–40 / 29–34 Includes, jobs y separación de responsabilidades Pipelines
7.2.4 Build 41–44 / 35–38 Maven, JAR, Dockerfiles e imágenes Build y release
7.2.5 Test 44–45 / 38–39 Calidad, seguridad e interpretación de informes Calidad y seguridad
7.2.6 Release 46–48 / 40–42 Registry y referencia por commit Build y release
7.2.7 Infraestructura 49–56 / 43–50 AWS, GCP, agentes, estados y provisión Infraestructura, AWS, GCP
7.2.8 Deploy 56–58 / 50–52 Actualización de manifiestos y aplicación Despliegue
7.2.9 Monitorización 59–61 / 53–55 Logs, eventos y ejemplos de telemetría Observabilidad
7.2.10 Evaluación 61–63 / 55–57 Resultados y límites Proyecto, hallazgos
8.1 Conclusiones 64–65 / 58–59 Factibilidad y límites para producción Decisiones
8.2 Trabajo futuro 66 / 60 Mayor complejidad, operación avanzada y documentación automática Decisiones, publicación

Requisitos funcionales y evidencia

Los RF proceden de la tabla 2, PDF 20–21 / impresas 14–15. La columna de alcance refleja lo que la documentación puede sostener; no es una certificación de funcionamiento presente.

RF Capacidad Evidencia y límite
RF-01 Planificar en GitLab Memoria y 12 issues públicos consultados; la planificación conserva elementos abiertos
RF-02 Separar artefactos Seis repositorios con responsabilidades diferenciadas
RF-03 Editar desde GitLab Capturas y descripción del editor/Web IDE; el historial no demuestra el editor usado en cada commit
RF-04 Construir aplicación Jobs Maven y últimas ejecuciones públicas correctas
RF-05 Crear contenedores Dockerfiles y generate-image
RF-06 Publicar en Registry Comando push y referencias SHA; no se ha probado descarga actual
RF-07 Calidad y seguridad Escáneres y parsers; resultado no bloqueante en jobs observados
RF-08 Actualizar manifiestos update-k8s-manifests, commit y push
RF-09 Aprovisionar infraestructura Raíces .tf, pipeline OpenTofu y evidencia histórica; no ejecución nueva en esta revisión
RF-10 Dos proveedores AWS y GCP implementados; un destino por ejecución de aplicación
RF-11 Gestionar estado en GitLab Backend HTTP, configuración CI y captura de estados
RF-12 Operar Kubernetes Configuración de dos agentes y capturas; acceso actual depende de conexión y permisos
RF-13 Monitorizar Probes/logs/eventos; OTLP mostrado con ejemplos y sin instrumentación completa versionada
RF-14 Iterar por commit Historial CI de apps y promoción automática en main protegida
RF-15 Recuperar una imagen anterior Referencias versionadas; necesita reaplicación y tratamiento separado de datos

Requisitos no funcionales y alcance

Los RNF proceden de la tabla 3, PDF 22 / impresa 16.

RNF Propiedad Cómo se refleja y qué falta precisar
RNF-01 Centralización Coordinación en GitLab; bootstrap cloud y ciertas configuraciones siguen siendo prerrequisitos
RNF-02 Reproducibilidad Código y pipeline versionados; defaults externos, herramientas flotantes y secretos requieren preparación
RNF-03 Trazabilidad SHA de código, imagen y commit de manifiestos; falta validación funcional en el job de entrega
RNF-04 Mantenibilidad Plantillas compartidas; referencias main propagan cambios a ejecuciones posteriores
RNF-05 Separación de responsabilidades Aplicación, entrega e IaC separados; contratos entre proyectos documentados
RNF-06 Portabilidad Implementaciones AWS/GCP; ingress y particularidades de cada proveedor necesitan adaptación
RNF-07 Idempotencia Estado remoto y planes; no se ha ejecutado una prueba de convergencia nueva para este paquete

Diferencias y precisiones encontradas

Tema Memoria Código o evidencia pública revisada
Promoción manual PDF 39 / 33 muestra when: manual; PDF 57–58 / 51–52 describe automatización La plantilla vigente es automática en main protegida
Orden Build/Test La exposición narrativa separa fases sucesivas Las etapas ejecutan análisis de código antes de Build y análisis de imagen después
Ejecutor IaC Terraform como tecnología; OpenTofu mencionado en PDF 51 / 45 OpenTofu 1.12.1 en la imagen CI; no es una contradicción de la memoria
Puerto frontend Dockerfile con EXPOSE 8081, PDF 43 / 37 Configuración de Spring y manifiesto escuchan en 8080
Bloqueo de vulnerabilidades El parser devuelve error para High/Critical La base del parser admite fallo; no constituye gate obligatorio
Cobertura multinube Ambos clústeres y despliegue en dos proveedores Un destino por ejecución y repos apps seleccionando GKE; Ingress existente específico de AWS
Telemetría Ejemplos de trazas/métricas, PDF 59 / 53 No se encontró configuración de instrumentación OTLP en los seis repositorios
Planificación Fechas previstas y desarrollo completo descrito Hito de infraestructura sigue activo; su fecha pública llega al 15/06, frente al 10/06 de la tabla histórica

Además aparecen detalles operativos poco desarrollados en la memoria: backend HTTP y autenticación entre estados; planes guardados; grupos de exclusión mutua; orden de retirada; job que elimina una entrada del estado de Private Service Access; secreto de Registry no creado; probes TCP; parámetros efectivos de MySQL; permisos de agentes y separación incompleta de entornos. Se documentan en sus páginas técnicas y en hallazgos.

Planificación e historial públicos

En la consulta del 26/10/2026 se recuperaron 12 issues públicos: 9 cerrados y 3 abiertos del proyecto IaC. Sus metadatos incluyen cuatro hitos, tres cerrados y el de infraestructura activo. Entre las tareas abiertas existe una referencia histórica a Azure, pero no hay implementación Azure en los repositorios revisados; el alcance implementado sigue siendo AWS y GCP.

Los últimos pipelines públicos de frontend y backend corresponden a sus HEAD examinados y tienen 11 jobs correctos. El último pipeline visible de infraestructura es una retirada, pertenece a un commit anterior al HEAD y no acredita un despliegue actualmente activo. La documentación diferencia estos hechos de las capturas históricas de la memoria.

Fuentes