From ca043aa7b4eefcf82a114db7add32a9fe74e725c Mon Sep 17 00:00:00 2001 From: Alejandro Gomez Auad Date: Mon, 4 May 2026 18:14:48 +0000 Subject: [PATCH] Eliminado el servicio GDHCN del stack del nodo Se eliminan los servicios gdhcn-validator-service y gdhcn-db, el volumen gdhcn-data, los Docker secrets asociados (trust-network-cert/key, signature-key), las rutas nginx /gdhcn/ en HTTP y HTTPS, las variables de entorno de certificados TNG/GDHCN del .env.example, y todas las referencias en el README. Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 13 ------------- README.md | 18 ++--------------- docker-compose.yml | 48 ---------------------------------------------- nginx/http.conf | 9 --------- nginx/https.conf | 9 --------- 5 files changed, 2 insertions(+), 95 deletions(-) diff --git a/.env.example b/.env.example index 931a2ff..a161689 100644 --- a/.env.example +++ b/.env.example @@ -57,19 +57,6 @@ NGINX_CONF=http # SSL_CERT_PATH=./certs/server.crt # SSL_KEY_PATH=./certs/server.key -# ============================================================================= -# CERTIFICADOS / DOCKER SECRETS -# Los archivos se inyectan como Docker secrets. -# Los valores por defecto apuntan a ./certs/ — reemplazar en producción. -# ============================================================================= - -# Certificado de la red de confianza (TNG/GDHCN) -SIGNATURE_CERT_PATH=./certs/trust-network.pem -SIGNATURE_KEY_PATH=./certs/trust-network.key - -# Clave privada para firma de documentos (Document Signing Certificate) -SSL_DCC_KEY_PATH=./certs/signature.key - # ============================================================================= # HAPI FHIR (Spring Boot) # ============================================================================= diff --git a/README.md b/README.md index f02f0da..1a4b39b 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ Internet / Red interna │ /fhir/IPSDocument → bus-gateway:3000 │ │ /fhir/DocumentReference→ bus-gateway:3000 │ │ /fhir/Patient → bus-gateway:3000 │ - │ /gdhcn/* → gdhcn-validator-service │ │ /fhir/* (resto) → hapi-fhir:8080 │ └──────────────────────────────────────────────┘ ``` @@ -26,13 +25,11 @@ Internet / Red interna | `hapi-fhir` | `hapiproject/hapi:latest` | 8080 (interno) | Servidor FHIR R4 (Spring Boot) con búsqueda Lucene | | `hapi-db` | `postgres:14.6` | 5433 (interno) | Base de datos PostgreSQL para HAPI FHIR | | `bus-gateway` | `./bus-gateway` (Node.js) | 3000 (interno) | Gateway al Bus de salud nacional (MPI + Document Registry) | -| `gdhcn-validator-service` | `createchile/gdhcn-validator_backend:v1.1` | 8182 | Validador de documentos de salud verificables (firmas digitales) | -| `gdhcn-db` | `postgres:16-alpine` | 5432 (interno) | Base de datos PostgreSQL para el validador GDHCN | | `nginx` | `nginx:alpine` | 80 / 443 | Proxy inverso — punto de entrada HTTP/HTTPS | **Red interna**: todos los servicios se comunican a través de la red Docker `hapi-network`. -**Volúmenes persistentes**: `hapi-data` (PostgreSQL de HAPI), `gdhcn-data` (PostgreSQL de GDHCN). +**Volúmenes persistentes**: `hapi-data` (PostgreSQL de HAPI). ## Transacciones IHE implementadas @@ -70,8 +67,6 @@ Los certificados se inyectan como **Docker secrets**. Las rutas se configuran en | Archivo por defecto | Descripción | |---|---| | `./certs/server.crt` / `./certs/server.key` | Certificado TLS para nginx (solo modo HTTPS) | -| `./certs/trust-network.pem` / `./certs/trust-network.key` | Certificado de la red de confianza (GDHCN/TNG) | -| `./certs/signature.key` | Clave privada para firma de documentos (DSC) | > Ver [certs/README.md](certs/README.md) para instrucciones de generación de certificados de prueba. @@ -159,7 +154,6 @@ Todas las variables se definen en el archivo `.env` de la raíz del proyecto. | Variable | Default | Descripción | |---|---|---| -| `NODO_BASE_URL` | `http://localhost` | URL pública del nodo (usada por GDHCN para construir URLs) | | `NODO_URL_BASE` | `http://localhost` | URL base del nodo (usada por bus-gateway) | | `TZ` | `America/Argentina/Buenos_Aires` | Zona horaria para todos los servicios | @@ -177,14 +171,6 @@ Todas las variables se definen en el archivo `.env` de la raíz del proyecto. | `SSL_CERT_PATH` | `./certs/server.crt` | Ruta al certificado TLS del servidor | | `SSL_KEY_PATH` | `./certs/server.key` | Ruta a la clave privada TLS del servidor | -### Certificados / Secrets - -| Variable | Default | Descripción | -|---|---|---| -| `SIGNATURE_CERT_PATH` | `./certs/trust-network.pem` | Certificado de la red de confianza (TNG/GDHCN) | -| `SIGNATURE_KEY_PATH` | `./certs/trust-network.key` | Clave privada de la red de confianza | -| `SSL_DCC_KEY_PATH` | `./certs/signature.key` | Clave privada para firma de documentos (DSC) | - ### HAPI FHIR / PostgreSQL | Variable | Default | Descripción | @@ -203,7 +189,7 @@ Todas las variables se definen en el archivo `.env` de la raíz del proyecto. ``` ips-nodo-dominio/ -├── docker-compose.yml # Orquestación principal (6 servicios) +├── docker-compose.yml # Orquestación principal (4 servicios) ├── .env.example # Plantilla de variables de entorno ├── hapi-config/ │ └── application.yaml # Configuración de HAPI FHIR (Spring Boot) diff --git a/docker-compose.yml b/docker-compose.yml index a3cf7d0..18adbfe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -37,45 +37,6 @@ services: retries: 5 command: -p 5433 - gdhcn-validator-service: - container_name: gdhcn-validator-service - image: createchile/gdhcn-validator_backend:v1.1 - ports: - - 8182:8080 - secrets: - - trust-network-cert - - trust-network-key - - signature-key - environment: - - POSTGRES_DB=gdhcn-validator - - SERVER_PORT=8080 - - SPRING_DATASOURCE_URL=jdbc:postgresql://gdhcn-db:5432/gdhcn-validator - - SPRING_DATASOURCE_USERNAME=root - - SPRING_DATASOURCE_PASSWORD=root - - TNG_TLS_PEM=/run/secrets/trust-network-cert - - TNG_TLS_KEY=/run/secrets/trust-network-key - - TNG_DSC_PRIVATEKEY=/run/secrets/signature-key - - TNG_COUNTRY=AR - - TNG_DSC_PRIVATEKEY_KID=I1BAX8FATLs= - - GDHCN_BASEURL=${NODO_URL_BASE:-http://localhost}/gdhcn - networks: - - hapi-network - volumes: - - ./json:/json - - gdhcn-db: - container_name: gdhcn-db - image: postgres:16-alpine - restart: always - volumes: - - gdhcn-data:/var/lib/postgresql/data - networks: - - hapi-network - environment: - - POSTGRES_DB=gdhcn-validator - - POSTGRES_USER=root - - POSTGRES_PASSWORD=root - bus-gateway: container_name: bus-gateway build: @@ -126,17 +87,8 @@ volumes: hapi-data: name: hapi-data driver: local - gdhcn-data: - name: gdhcn-data - driver: local secrets: ssl_cert: file: ${SSL_CERT_PATH:-./certs/server.crt} ssl_key: file: ${SSL_KEY_PATH:-./certs/server.key} - trust-network-cert: - file: ${SIGNATURE_CERT_PATH:-./certs/trust-network.pem} - trust-network-key: - file: ${SIGNATURE_KEY_PATH:-./certs/trust-network.key} - signature-key: - file: ${SSL_DCC_KEY_PATH:-./certs/signature.key} diff --git a/nginx/http.conf b/nginx/http.conf index 58c46ff..f73d463 100644 --- a/nginx/http.conf +++ b/nginx/http.conf @@ -66,15 +66,6 @@ http { proxy_read_timeout 90s; } - location /gdhcn/ { - proxy_pass http://gdhcn-validator-service:8080/; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_read_timeout 90s; - } - # Todo lo demás va a hapi-fhir location / { proxy_pass http://hapi_fhir; diff --git a/nginx/https.conf b/nginx/https.conf index 4b1f661..d60efa8 100644 --- a/nginx/https.conf +++ b/nginx/https.conf @@ -82,15 +82,6 @@ http { proxy_read_timeout 90s; } - location /gdhcn/ { - proxy_pass http://gdhcn-validator-service:8080/; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_read_timeout 90s; - } - # Todo lo demás va a hapi-fhir location / { proxy_pass http://hapi_fhir;