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 <noreply@anthropic.com>
This commit is contained in:
Alejandro Gomez Auad 2026-05-04 18:14:48 +00:00
parent 864305f67a
commit ca043aa7b4
5 changed files with 2 additions and 95 deletions

View File

@ -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)
# =============================================================================

View File

@ -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)

View File

@ -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}

View File

@ -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;

View File

@ -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;