1.8 KiB
1.8 KiB
api_gateway
Puerta de enlace HTTP (FastAPI) que actúa como punto de entrada único para el sistema IPSExtractor. Enruta las peticiones del cliente hacia los microservicios internos sin lógica de negocio propia.
Puerto
8000
Enrutamiento
| Ruta cliente | Servicio destino | Descripción |
|---|---|---|
GET /health |
Agrega /health de los tres servicios |
Estado del sistema |
GET /models |
extraction:8001/models |
Modelos LLM disponibles |
GET /config |
extraction:8001/config + cleaning:8002/rules |
Configuración |
/extraction/{path} |
extraction:8001/{path} |
Extracción (quita prefijo) |
/tasks/{path} |
extraction:8001/tasks/{path} |
Tareas de extracción |
/jobs/{path} |
extraction:8001/jobs/{path} |
Jobs |
/count-jobs/{path} |
extraction:8001/count-jobs/{path} |
Jobs de conteo |
/cleaning/{path} |
cleaning:8002/{path} |
Limpieza |
/count/{path} |
count-api:8080/{path} |
Conteo OCR+ML (quita prefijo) |
El proxy reenvía método, query string, headers y body sin modificaciones. Timeout: ilimitado (para uploads grandes).
Variables de entorno
| Variable | Default | Descripción |
|---|---|---|
EXTRACTION_URL |
http://extraction:8001 |
URL interna del servicio extraction |
CLEANING_URL |
http://cleaning:8002 |
URL interna del servicio cleaning |
COUNT_URL |
http://count-api:8080 |
URL interna del servicio count-api |
CORS
Solo permite orígenes localhost y 127.0.0.1. Sin autenticación.
Estructura del código
api/
main.py — FastAPI app con proxy HTTP (httpx)
Dockerfile
requirements.txt — fastapi, httpx, uvicorn
Arrancar localmente
docker compose up --build api_gateway
API disponible en http://localhost:8000.