Introduktion
Formål
Dette dokument indeholder en beskrivelse af hvordan erstatningsCPR2 (herefeter eCPR2) installeres på et NSP Backend miljø.
Læsevejledning
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.
Dokument Historik
| Version | Dato | Ændring | Ansvarlig |
Definitioner og referencer
| NSP | National Service PLatform |
| DGWS | Den Gode WebSErvice |
| NAS2 | National Adviseringsservice |
| SCES | CPR enkeltopslag |
Installation
eCPR anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.
Jenkins
eCPR bygges med NSP's Jenkins server via følgende jobs: registry.nspop.dk/platform/nsp
- ECPR2_build/ Bygger koden
- ECPR2_push_release/ - HVAD GØR DET HER?
NSP Leverandøren er selv ansvarlige for at pushe release versioner af eCPR til NSP Docker Registry gennem Jenkins.
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:
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 databaseligger 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 Guide til Udviklere. |
| release | Her ligger en Docker Compose fil til brug i produktion |
eCPR leveres via en github branch, navngivet som den aktuelle version.
Krav til miljø
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 deployering på WildFly ?? applikationsservere med OpenJDK 8
Krav til operativsystem
Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.
Krav til database
(Generelt om dette afsnit: Vi venter med at opdatere det til vi kender formatet af databaserne mm)
(Vi kommer til at have 1 database og et view op mod KRS og måske en test database med stamdata til at køre integrationstests.)
(Vi skal have en selvstædig database og en adgang til database view ned til stamdata) Databasen til NAS2 systemet er en selvstændig database og selvstændige tabeller i forhold til NAS1. NAS2 deler derfor ikke database med NAS1.
(Lige nu vedligeholdes databasen ikke af liquidbase så denne linje bliver ikke færdig) Databasen den vedligeholdes ved hjælp af Liquibase. Liquibase forventer at database samt bruger allerede er oprettet. Som standard forventes det at databasen den hedder nas, men dette kan ændres i nas-ds.xml.
Hvis der skal afvikles integrationstest mod det mijlø der installeres skal changelog filen liquibase-changelog-test.xml anvendes. Dette kan angives via konfigurationsproperty liquibase.changelog.file.
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
Hver view er yderligere beskrevet nedenfor, hvor det ses hvilke informationer, der skal udstedes gennem hvert view:
| Authorization view |
|---|
| Information |
| Authorisationsnummer |
| CPR |
| Uddannelses Kode |
| ValidFrom |
| ValidsTo |
| Bemyndigelses view |
|---|
| Information |
| BemyndigelsePID |
| Rettighed |
| System |
| Status |
| Arbejdsfunktion |
| Bemyndigede cvr |
| Bemyndigede cpr |
| Bemyndigende cpr |
| Gyldig fra dato |
| gyldig til dato |
| ValidFrom |
| ValidTo |
| Person View |
|---|
| Information |
| Status |
| CPR |
| ValidFrom |
| ValidTo |
eCPR kræver derudover adgang til NAS2 for at kunne udføre de relevante adviseringer, samt adgang til SCES, for at kunne verificere CPR-numre.
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.
Konfiguration
I folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration findes følgende konfigurationsfiler:
ecpr2.properties | Konfiguration af ecpr2 services |
| log4j2-ecpr2.xml | Konfiguration af Log4J |
FMK-KRS-TEST.jks | Certifikat til testbrug. Det er konfigureret i ecpr.properties hvilket certifikat der bruges |
Alle filer skal tilrettes til de forskellige miljøer som eCPR2 installeres på. Filerne indeholder en konfiguration, der passer til eCPR2 i en standalone test konfiguration.
I eCPR - Driftsvejledning er hver enkel fil gennemgået i detaljer.
SLA logning
Spørg Mark
Konfigurationsfiler til SLA logning ligger inde i de Docker images som NAS2 producere. De følger standarden for SLA logning og det bør derfor ikke være nødvendigt at ændre i disse.
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
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".