Indholdsfortegnelse:

1. Introduktion

Dette dokument indeholder en beskrivelse af hvordan Nationalt eCPR (herefter eCPR) installeres på et NSP Backend miljø.

Læseren forventes at have kendskab til Sundhedsdatastyrelsens platform NSP, samt generelt kendskab til WildFly applikation server, Docker, Docker Compose samt Ubuntu Linux operativ system

2. Installation

eCPR anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

2.1. Jenkins

eCPR bygges med NSP's Jenkins server via følgende jobs: registry.nspop.dk/platform/nsp

Bygget er defineret i Jenkinsfile i rodmappen af eCPR, hvor indholdet af docker containeren er defineret. 

2.2. Docker

eCPR består af en service og dermed også et docker image som pushes til NSP Docker Registry. Det hedder registry.nspop.dk/components/ecpr2:

2.3. Docker Compose

eCPR leveres samtidig som et sæt af Docker Compose filer, der findes i folderen https://git.nspop.dk/projects/COM/repos/erstatnings-cpr-numre/browse/compose

Compose folderen indeholder 4 underfoldere, hvor database ligger under configuration:

Folder navn Beskrivelse
configuration/database Her ligger alle de databasefiler som det forventes at driften lægger på en NSP database
development Her ligger en Docker Compose fil til brug for udvikling. Se eCPR - Guide til udviklere
release Her ligger en Docker Compose fil til brug i produktion

eCPR leveres via en github branch, navngivet efter den aktuelle version. 

3. Krav til miljø

3.1. Krav til applikationsservere

Komponenterne er udviklet og testet i Docker ved anvendelse af imaget  "registry.nspop.dk/platform/nsp:3-latest"

Komponenternes konfiguration er tilpasset deployement på WildFly applikationsservere med OpenJDK 8

3.2. Krav til operativsystem

Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.

3.3. Krav til database

Der er krav til at eCPR har adgang til en MySQL database. 

Databasen vedligeholdes ved hjælp af Liquibase. Liquibase forventer at database samt bruger allerede er oprettet. Som standard forventes det at databasen den hedder ecpr2, men dette kan ændres, ved at ændre i følgende to property filer: 

  • liquibase.test.properties placeret i compose/configuration/database 
  • ecpr2.properties, som er placeret i compose/configuration

For begge filer gælder, at url'en skal tilpasses hvor databasenavnet (originalt ecpr2) ændres. 

Hvis integrationstestene skal afvikles skal propertien "changelogFile" ændres til liquibase-changelog-test.xml (standard) i filen liquidbase.test.properties. Hvis integrationstestene ikke skal afvikles, ændres propertien "changelogFile" til at pege på liquibase-changelog-master.xml.

3.4. Krav til adgang til andre services og views

eCPR kræver adgang til NSP STD gennem 3 forskellige views:

  • Authorization View fra autorisationsregisteret
  • Bemyndigelse View fra bemyndigelsesservice
  • Person View fra cpr registeret

Hvert view vist nedenfor, hvor det ses hvilke informationer, der skal udstedes gennem hvert view.

eCPR kræver derudover adgang til NAS2 for at kunne udføre de relevante adviseringer på det allerede eksisterende topic "http://sds.dk/personid/2018/01/01" , samt adgang til SCES, for at kunne verificere CPR-numre. 

3.4.1. Authorization view

Information
Authorisationsnummer
CPR
Uddannelses Kode
ValidFrom
ValidsTo

3.4.2. Bemyndigelses view

Information
BemyndigelsePID
Rettighed
System
Status
Arbejdsfunktion
Bemyndigede cvr
Bemyndigede cpr
Bemyndigende cpr
Gyldig fra dato
gyldig til dato
ValidFrom
ValidTo

3.4.3. Person View

Information
Status
CPR
ValidFrom
ValidTo

3.5. Krav til hardware

Der stilles ikke nogle særlige krav til hardware. Servicen er en Java Spring Boot service, og kan dermed køre på en virtuel maskine.

4. Konfiguration

I folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration findes følgende konfigurationsfiler:

ecpr2.properties

Konfiguration af ecpr2 services. Filen er gennemgået i detaljer i eCPR - Driftsvejledning hvor hver property er beskrevet separat.

ecpr2-ds.xml

Definerer databaseadgangen, herunder URL, Username og password. Filen gennemgås ikke yderligere.
log4j-ecpr2.xml Konfiguration af Log4J. Log4j følger gængs standard på NSP og er kort beskrevet i eCPR - Driftsvejledning

FMmkVoces.p12

Certifikat til testbrug. Det er konfigureret i ecpr.properties, hvilket certifikat der bruges

Alle filer skal tilrettes til de forskellige miljøer som eCPR installeres på. Filerne indeholder en konfiguration, der passer til eCPR2 i en standalone test konfiguration. 

4.1. SLA logning

Konfigurationen af SLA logning sker i log4j-nspslalog-ecpr2.properties l i folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration. Knfigurationerne følger standarden for SLA logning og det bør derfor ikke være nødvendigt at ændre i disse.

5. Afvikling

eCPR startes og stoppes med Docker Compose kommandoer. Her indsættes den relevante folder mellem $foldernavn$ alt efter miljø,:

Start: docker-compose -f compose/$foldernavn$/docker-compose.yml up

Stop:  docker-compose -f compose/$foldernavn$/docker-compose.yml down

Hvis servicen eks. køres i development miljø bruges docker-compose -f compose/development/docker-compose.yml up for at starte servicen op

5.1. NSP Miljø

På et NSP miljø hentes "compose" folderen for den ønskede version med git og kommandoen "docker-compose up" køres i folderen "release".


Ændringslog

Version Dato Ændring Ansvarlig
1.0 13-11-2023 Initielt dokument Trifork
  • No labels