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:
parent
864305f67a
commit
ca043aa7b4
13
.env.example
13
.env.example
@ -57,19 +57,6 @@ NGINX_CONF=http
|
|||||||
# SSL_CERT_PATH=./certs/server.crt
|
# SSL_CERT_PATH=./certs/server.crt
|
||||||
# SSL_KEY_PATH=./certs/server.key
|
# 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)
|
# HAPI FHIR (Spring Boot)
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
18
README.md
18
README.md
@ -14,7 +14,6 @@ Internet / Red interna
|
|||||||
│ /fhir/IPSDocument → bus-gateway:3000 │
|
│ /fhir/IPSDocument → bus-gateway:3000 │
|
||||||
│ /fhir/DocumentReference→ bus-gateway:3000 │
|
│ /fhir/DocumentReference→ bus-gateway:3000 │
|
||||||
│ /fhir/Patient → bus-gateway:3000 │
|
│ /fhir/Patient → bus-gateway:3000 │
|
||||||
│ /gdhcn/* → gdhcn-validator-service │
|
|
||||||
│ /fhir/* (resto) → hapi-fhir:8080 │
|
│ /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-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 |
|
| `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) |
|
| `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 |
|
| `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`.
|
**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
|
## Transacciones IHE implementadas
|
||||||
|
|
||||||
@ -70,8 +67,6 @@ Los certificados se inyectan como **Docker secrets**. Las rutas se configuran en
|
|||||||
| Archivo por defecto | Descripción |
|
| Archivo por defecto | Descripción |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `./certs/server.crt` / `./certs/server.key` | Certificado TLS para nginx (solo modo HTTPS) |
|
| `./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.
|
> 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 |
|
| 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) |
|
| `NODO_URL_BASE` | `http://localhost` | URL base del nodo (usada por bus-gateway) |
|
||||||
| `TZ` | `America/Argentina/Buenos_Aires` | Zona horaria para todos los servicios |
|
| `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_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 |
|
| `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
|
### HAPI FHIR / PostgreSQL
|
||||||
|
|
||||||
| Variable | Default | Descripción |
|
| 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/
|
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
|
├── .env.example # Plantilla de variables de entorno
|
||||||
├── hapi-config/
|
├── hapi-config/
|
||||||
│ └── application.yaml # Configuración de HAPI FHIR (Spring Boot)
|
│ └── application.yaml # Configuración de HAPI FHIR (Spring Boot)
|
||||||
|
|||||||
@ -37,45 +37,6 @@ services:
|
|||||||
retries: 5
|
retries: 5
|
||||||
command: -p 5433
|
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:
|
bus-gateway:
|
||||||
container_name: bus-gateway
|
container_name: bus-gateway
|
||||||
build:
|
build:
|
||||||
@ -126,17 +87,8 @@ volumes:
|
|||||||
hapi-data:
|
hapi-data:
|
||||||
name: hapi-data
|
name: hapi-data
|
||||||
driver: local
|
driver: local
|
||||||
gdhcn-data:
|
|
||||||
name: gdhcn-data
|
|
||||||
driver: local
|
|
||||||
secrets:
|
secrets:
|
||||||
ssl_cert:
|
ssl_cert:
|
||||||
file: ${SSL_CERT_PATH:-./certs/server.crt}
|
file: ${SSL_CERT_PATH:-./certs/server.crt}
|
||||||
ssl_key:
|
ssl_key:
|
||||||
file: ${SSL_KEY_PATH:-./certs/server.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}
|
|
||||||
|
|||||||
@ -66,15 +66,6 @@ http {
|
|||||||
proxy_read_timeout 90s;
|
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
|
# Todo lo demás va a hapi-fhir
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://hapi_fhir;
|
proxy_pass http://hapi_fhir;
|
||||||
|
|||||||
@ -82,15 +82,6 @@ http {
|
|||||||
proxy_read_timeout 90s;
|
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
|
# Todo lo demás va a hapi-fhir
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://hapi_fhir;
|
proxy_pass http://hapi_fhir;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user