Page History
| Navitabs | ||||
|---|---|---|---|---|
| ||||
Indhold
| Table of Contents |
|---|
Introduktion
Formål
Dette dokument indeholder en beskrivelse af hvordan Domibus'en kan installeres på et NSP-miljø.
Domibus'en ersammen med "MSH Stub" og "MSH Adapter", er en del af af EHMI MeddelelsesRegistrering (EMR).
Læsevejledning
Læseren forventes at have kendskab til Sundhedsdatastyrelsens platform NSP, samt generelt kendskab til Docker, Docker Compose, MySQL og lidt om EHMI.
Installation
Jenkins
Domibus bygges ind i et NSP-specifikt image via NSP Jenkins-serveren. Der bygges med følgende job:
- https://jenkins.nspop.dk/job/EMR/ (burde måske omdøbes?)
Docker
Domibus består af et Docker image som pushes til NSP Docker Registry:
Leverance
Domibus'en leveres som et sæt Docker Compose-filer i folderen "compose/release". Herudover findes der tilhørende konfiguration i "compose/configuration".
...
Der findes pt. følgende compose-filer under "compose/release":
| docker-compose |
| .yaml | Docker Compose-fil som det forventes, at driften anvender på både test og produktionsmiljøerne. |
| docker-compose-domibus-testanvender.yaml | Denne er kun til testmiljøerne, så vi har mulighed for selv at teste det at være anvender. Konfigurationen er lægger sig tæt op af den første compose-fil. |
Domibus'en er en umodificerede udgave af den officielle Domibus, men pakket ned i et NSP-specifikt docker image med tilhørende konfiguration. Domibus'en leveres med dens egen MySQL- og ActiveMQ-services, som er tilføjet compose-filerne under release. Der er også en "domibus-db-migration-nsp" som opretter databasen første gang servicen starter op via Flyway og de officielle Domibus sql-scripts.
Konfiguration
I folderen "compose/configuration" findes følgende relevante konfigurationsfiler, som indlæses når docker compose startes op:
| domibus/domibus-common.env | Fælles properties som bruges i både "nsp" og "testanvender"-udgaverne af Domibus. |
| domibus/logback.xml | Konfiguration af Domibus'ens logning |
| mysql.cnf | Konfiguration af de MySQL-services som Domibus'en bruger |
| domibus/keystores/Her | ligger de to keystores/truststores Keystores til de to instanser af Domibus'en indtil videre brugere. Det forventes at disse vil udgå som projektet skrider frem.. Når de rigtige test certifikater hentes til "nsp" og "testanvender" bør de to keystores opdateres |
| domibus/gateway_truststore.jks | Truststoren til både "Nsp" og "testanvender" domibus. Indeholder certifikat til SMP'en, OCES rod certifikat, og OCES udstedende certifikat, som alle tre skal vedligeholdes |
| domibusdomibus/pmodes/ | Her ligger to eksempler på "pmodes", en til "nsp" (pmode-nsp.xml) og en til "testanvender" (pmode-testanvender.xml). Disse skal manuelt uploades til den pågældende Domibus-installation første gang den startes op. Dette skal ske via browser UI. |
Selve konfigurationen gennemgås mere detaljeret i Driftsvejledningen.
PMode.xml
Inden upload af PMode filen skal den opdateres, så den matcher konfiguration omkring keystore alias, GLN, og URL. Med udgangspunkt i domibus/compose/configuration/pmode/pmode-nsp.xml skal følgende gøres:
- Fire steder i filen står "sosi:alias_system". Dette ændres så det matcher alias'et i keystoren
- <identifier partyId="gln" partyIdType="ap-identifier"/> skal opdateres så "gln" er GLN-nummeret som domibus er konfigureret med i SMP'en
- endpoint="http://emr-ap:8080/domibus/services/msh"> opdateres så URL'ens scheme+host+port matcher hvor domibus'en kan nåes
Afvikling
Domibus startes og stoppes med Docker Compose-kommandoer.
...
- Åben browseren på http://<host>:<port>/domibus/login, for hver host, hvor host og port erstattes af den konkrete host og port hvor der kører en Domibus.
- Klik ind på "PMode → Current".
- Tryk upload og vælg en passende pmode fra filsystemet. Under "compose/configuration" kan man bl.a. finde filerne "domibus/pmodes/domibus-gw-sample-pmode-nsp.xml" og "domibus/pmodes/domibus-gw-sample-pmode-testanvender. xml" som er egnede til de to instanser "testanvender" og "nsp" i et test-setuppet.
- TODO: Bemærk, hver fil definerer et sæt af "<parties>", som svarer til de to instanser. Her vil der være behov for at tilpasse "endpoint" til de faktiske host-adresser på NSP. De bør vi engang nok gøre allerede i git når vi kender adresserne.
Det var det. Nu burde de to instanser kunne snakke sammen. - TODO: Uafklaret hvilken pmode-config NSP skal køre med.
Database
Databasen er en standard "mysql:lts8.4" uden ændringer og med minimal opsætning.
...