1. Introduktion
Dette dokument giver en vejledning til installation og konfiguration af nap reference implementation.
En installation betragtes som en lokalt kørende instans af servicen.
1.1. Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for NAP Ref.impl.
Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.
Ønskes mere information omkring arkitektur og design findes dette på NAP Ref.Impl. - Design og Arkitektur beskrivelse.
Hvis der ønsker mere information om hvordan et udviklingsmiljø kan opsættes læs på NAP Ref.Impl. - Guide til udviklere.
Hvis der er behov for yderligere dokumentation omkring hele NAP platformen, henvises til NAP Platform - Guide til anvendere.
1.2. Formål
Formålet med dokumentet er, at man med dokumentet i hånden kan installere Nap reference uden yderligere informationer.
1.3. Forudsætninger
Krav til software installeret:
Software | Version |
---|---|
Java | 8 |
Docker Engine | 18.02.0+ |
node | 10+ |
2. Installation
Nap Reference implementation anvender Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.
nap-reference-web og nap-reference-facade ligger som repositories på svn.nspop.dk. Disse skal hentes for anvende de foreslåede compose-setup.
2.1. Jenkins
Nap-reference bygges på NSP's Jenkins server via følgende jobs:
Build-nap-reference-web - bygger nap-reference web.
Build-nap-reference-facade - bygger nap-reference-facade. I denne byggefase kan det vælges at bygge nap-reference-web, hvis dette ønskes inkluderet.
Push-nap-reference-snapshot - bygger nap-reference-web og ligger bygget ind i roden af nap-refence-facade samt pusher til NSP's docker registry.
Release-nap-reference-facade - laver et release af nap-reference-facade og pusher til NSP's docker registry.
2.2. Docker
Nap reference kan findes på registry.nspop.dk/playground/nap/reference
2.3. Docker Compose
Nap-reference leveres som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/nap/nap-reference-facade/trunk/compose/
For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/nap/nap-reference-facade/tags/release-x.y.z/
En leverance af nap-reference består af en compose folder som beskrevet ovenfor samt tilhørende tags.
Compose folderen indeholder 4 underfoldere:
Folder | Indhold |
---|---|
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen |
development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
test | Her ligger en Docker Compose fil der kan starte NAS2 i en standalone test konfiguration. |
release | Her ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne. |
3. Krav til applikationsservere
Nap-reference-facade er udviklet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:1".
Nap-reference-web er udviklet i Docker ved anvendelse af node:12-alpine.
Den samlede deployment unit, nap-reference, er bygget til og testet i Docker med imaget "registry.nspop.dk/platform/nsp:1"
Konfigurationen er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8.
3.1. Afvikling
3.1.1. Start
For at kunne køre de ovenstående compose filer kræves et docker netværk kaldet nap_net.
Hvis dette ikke allerede er lavet kør `docker network create nap_net`.
Kør `docker-compose up` fra compose/test mappen, for at starte en wildfly server i docker på nap_net netværket.
Herefter er containeren tilgængelig http://localhost:8080/reference/ såfremt (https://svn.nspop.dk/svn/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.
3.1.2. Stop
Kør `docker-compose down`.
3.2. Krav til adgang til andre services
3.2.1. Framing
Servicen benytter sig i sin web komponent (nap-reference-web) af nap-angular-sdk og nap-typescript-sdk og er udviklet til at være indlejret i et værtssytem (eksempelvis nap-java-host), hvor den får alt sin kontekst.
Det meste funktionalitet er bundet op på denne kontekst og det skal derfor opsættes, for at få det fulde ud af nap-reference-web.
3.2.2. Dokumentdelingsservicen
Servicen benytter sig af dokumentdelingsservicen og det er et krav, at denne kan nåes på den url, der er specificeret i properties.
3.3. Konfiguration
Applikationen læser konfigurationsfiler fra classpath under runtime.
I jboss-deployment-structure.xml er beskrevet en afhængighed til "dk.sds.nsp.nap.reference.facade".
Den afledte konsekvens er, at dette modul er tilgængelig på classpath.
Derfor skal de følgende konfigurationsfiler, som findes i https://svn.nspop.dk/svn/components/nap/nap-reference-facade/trunk/compose/configuration/, således volume mappes ind i modulet "dk/sds/nsp/nap/reference/facade/main/" på applikations serveren (/pack/wildfly8/modules/ i docker).
Konfigurationsfiler | |
---|---|
Filnavn | Beskrivelse |
log4j-nap-reference-facade.xml | Konfiguration af log-4j. |
log4j-nspslalog.properties | Konfiguration af nap-reference sla-log. |
napref-test.jks | Konfiguration af nap-reference. |
funktionscertifikat | JKS fil indeholdende Sundhedsdatastyrelsen nap reference funktionscertifikat certifikat |
oiosaml | Konfiguration af OIOSAML |
Ved konfigurationsændringer skal wildfly serveren genstartes.
Alle filer skal tilrettes til de forskellige miljøer som nap-reference installeres på.
I Driftvejledningen er hver enkel fil gennemgået i detaljer.
4. Standalone test
For en standalone test af nap-reference hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".
4.1. Logfiler
Servicen kan logge kald til følgende logs:
- NSP-SLA-log
- Applikationslog
- OIOSAML LOG
- OIOSAML Audit LOG
Servicen logger IKKE til audit log.
Log er beskrevet i driftsvejledning.