orquestador/README.md

2.8 KiB
Raw Blame History

Orquestador NMP

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

Estado

Esta entrega crea la estructura Maven, aplicación, configuración JWT, salud, configuración de persistencia y documentación de ejecución y seguimiento. El motor, endpoints de negocio, migraciones y flujos todavía están pendientes. Consultar PROGRESS para evidencia y bloqueos; no interpretar la estructura como implementación completa.

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. La estructura inicial aún no contiene pruebas de negocio; T01 debe completar su smoke test y T03 incorporar Testcontainers. CI ejecuta el mismo clean verify.

Los contratos, schemas, migraciones y ejemplos de flujos tienen directorios reservados. El Dockerfile compila con JDK 21 y ejecuta con JRE 21 como usuario no root. Compose no administra PostgreSQL ni sus volúmenes. Mocks y roles de mínimo privilegio siguen pendientes de T11 y T03/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.