Go to file
JOSE ANASTACIO ESQUIVEL SALAS b50f4955d6 first commit 2026-10-26 12:18:03 -06:00
.github/workflows first commit 2026-10-26 08:49:57 -06:00
.mvn/wrapper first commit 2026-10-26 08:49:57 -06:00
contracts first commit 2026-10-26 12:18:03 -06:00
examples first commit 2026-10-26 12:18:03 -06:00
schemas first commit 2026-10-26 12:18:03 -06:00
specs first commit 2026-10-26 12:18:03 -06:00
src first commit 2026-10-26 12:18:03 -06:00
.dockerignore first commit 2026-10-26 12:18:03 -06:00
.editorconfig first commit 2026-10-26 08:49:57 -06:00
.env.example first commit 2026-10-26 08:49:57 -06:00
.gitattributes first commit 2026-10-26 08:49:57 -06:00
.gitignore first commit 2026-10-26 08:49:57 -06:00
AGENTS.md first commit 2026-10-26 08:49:57 -06:00
Dockerfile first commit 2026-10-26 12:18:03 -06:00
README.md first commit 2026-10-26 12:18:03 -06:00
Specs_Orquestador_SpringBoot_PostgreSQL.md first commit 2026-10-26 08:49:57 -06:00
compose.yaml first commit 2026-10-26 08:49:57 -06:00
mvnw first commit 2026-10-26 08:49:57 -06:00
mvnw.cmd first commit 2026-10-26 08:49:57 -06:00
pom.xml first commit 2026-10-26 12:18:03 -06:00

README.md

Orquestador NMP

Arquetipo de un microservicio Spring Boot para ejecutar flujos configurables y versionados sobre PostgreSQL. La fuente funcional es la especificación.

Estado

Incluye la estructura Maven, configuración JWT/PostgreSQL, Docker y salud verificada (T01), además del contrato OpenAPI, JSON Schema del DSL y ejemplos con validación automática (T02). El motor, endpoints de negocio, migraciones y flujos completos todavía están pendientes. Consultar PROGRESS para evidencia y bloqueos.

Requisitos y ejecución

  • Docker con contenedores Linux y Compose v2. La imagen compila con JDK 21 y Maven Wrapper; no requiere Java/Maven en el anfitrión.
  • PostgreSQL 17 externo con base y usuario existentes, accesible desde Docker.
  • Un issuer JWT con JWKS y audiencia; se conserva la autenticación.
Copy-Item .env.example .env
# Completar DB_URL, DB_USERNAME, DB_PASSWORD y parámetros JWT.
docker compose config --quiet
docker compose up --build -d
docker compose ps
docker compose logs -f orquestador

Compose levanta únicamente orquestador. Para PostgreSQL en otra máquina usar jdbc:postgresql://HOST:5432/BASE; si está en el anfitrión de Docker, usar host.docker.internal en lugar de localhost. Ver RUNBOOK.

Salud: http://localhost:8080/actuator/health/readiness. El puerto publicado se configura con APP_PORT. El healthcheck incluye PostgreSQL; liveness no depende de proveedores. Las demás rutas requieren JWT. No hay endpoints de negocio implementados todavía.

Organización y seguimiento

Surefire ejecuta *Test en test; Failsafe ejecuta *IT en verify. T01 incorpora un smoke de despliegue con cinco comprobaciones; T03 incorporará Testcontainers. CI ejecuta clean verify sin acceder a servidores privados. Para verificar explícitamente un servicio iniciado, usar JDK 21 y ejecutar:

.\mvnw.cmd clean verify -Pdeployment-smoke '-Dsmoke.baseUrl=http://server02:8787'

Este perfil comprueba salud, readiness, liveness y rechazo de solicitudes sin token/con token malformado. No contiene todavía pruebas de negocio ni de JWT válido.

clean verify valida los contratos y sus ejemplos sin servicios externos. Consultar convenciones REST, semántica del DSL y fixtures T02. Los ejemplos de examples/http/contracts.http son contratos objetivo, no endpoints implementados. Los flujos de crédito completos corresponden a T14.

El Dockerfile incluye contratos/schemas/fixtures en la etapa de construcción para ejecutar las mismas pruebas y ejecuta con JRE 21 como usuario no root. Compose no administra PostgreSQL ni sus volúmenes. Migraciones, mocks y roles de mínimo privilegio siguen pendientes de T03/T11/T07.

Límites funcionales previstos

Nuevos umbrales, destinos y pasos con capacidades existentes se publicarán como configuración. Una nueva capacidad de validación puede requerir un adapter; un nuevo tipo de tarea puede requerir soporte del front. No incluye UI administrativa, Kafka, Drools ni migración automática de instancias.