Page History
...
Dette dokument giver en vejledning til installation og konfiguration af nap -reference-web og nap-reference-facadereference implementation.
En installation betragtes som en lokalt kørende instans af servicen.
...
Hvis der er behov for yderligere dokumentation omkring hele NAP platformen, henvises til NAP Platform - Guide til anvendere.
Formål
Formålet med dokumentet er, at man med dokumentet i hånden kan installere Nap -reference-web og Nap- reference -Facade uden yderligere informationer.
...
Software | Version |
---|---|
Java | 8 |
Docker Engine | 18.02.0+ |
node | 10+ |
Installation
Nap Reference implementation anvender Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponentenFor at kunne køre de compose filer, der bliver beskrevet nedenfor, kræves et docker netværk kaldet nap_net. Hvis dette ikke allerede er lavet kør `docker network create nap_net`.
nap-reference-web og nap-reference-facade ligger som repositories på svn.nspop.dk. Disse skal hentes for anvende de foreslåede compose-setup.
Jenkins
Nap-reference bygges på NSP's Jenkins server via følgende jobs:
Build-nap-reference-web - bygger nap-reference web
...
Krav til applikationsservere
Komponenten er udviklet og testet i node - docker container og testet under WildFly-8.2.0.Final. Service kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.
Start af projektet
.
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.
Docker
Nap reference kan findes på registry.nspop.dk/playground/nap/reference
Docker Compose
Nap-reference leveres som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/src/components/nap/nap-reference-facade/trunk/compose/
For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/src/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. |
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.
Afvikling
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`nap-reference-web er en statisk service, som hostes i NSPs Wildfly8 image.
Kør `docker-compose up` fra compose/development test mappen, for at starte en wildfly server i docker på nap_net netværket.
Herefter er containeren tilgængelig på http://localhost:4600/ samt tilgængelig http://localhost:8080/nap/reference/web/ hvis såfremt (https://svn.nspop.dk/svnsrc/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.
Stop
Kør `docker-compose down`.
Krav til adgang til andre services
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.
For opsætning af dette, skal nap-java-host, nap-lobby-web, samt nap-admin køres parallelt, og opsætning af det er yderligere beskrevet i NAP Platform services.
Forbindelse til facade
Servicen benytter sig af nap-ref-facade som backend. Det er dog muligt at køre en konfiguration, således backenden bliver mocked og man kan køre uden den er startet .
For at gøre dette skal compose filen i compose/development køres efter at command parameteren
command: npx ng serve --port 8080 --host 0.0.0.0 --disableHostCheck --public-host=localhost/nap/reference/web/
er blevet rettet til
command: npx ng serve --port 8080 --host 0.0.0.0 --disableHostCheck --public-host=localhost/nap/reference/web/ –-configuration=mock
Konfiguration
For at konfigurerer denne service skal en configurations.json fil, volume mappes til src/app/assets/.
Konfigurationen kan ændres runtime, men skal matche indstillingerne for loadbalanceren (https://svn.nspop.dk/svn/components/nap/nap-compose/).
Nap-reference-facade
Krav til applikationsservere
Komponenterne er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Service kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.
...
Dokumentdelingsservicen
Servicen benytter sig af dokumentdelingsservicen og det er et krav, at denne kan nåes på den url, der er specificeret i properties.
Installation
Kør `docker-compose up` fra compose/test for at starte en wildfly server i docker på nap_net netværket.
Konfiguration
Applikationen læser konfigurationsfiler runtime 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 skal således , som findes i https://svn.nspop.dk/src/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 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false">
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/nap-ref-facade.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="${dk.nsp.log.MaxFileSize}"/>
<param name="MaxBackupIndex" value="${dk.nsp.log.MaxBackupIndex}"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="timestamp="%d" threadId="%t" priority="%p" category="%c" requestId="%X{RequestId}" message="%m"%n"/>
</layout>
</appender>
<category name="dk.sds.nsp">
<priority value="DEBUG"/>
</category>
<category name="ca.uhn">
<priority value="ERROR"/>
</category>
<root>
<priority value="INFO"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>
Applikation properties
# Sti til nap certifikatkeystorePath=nap.jks
# Password to the service provider certificate
keystorePassword=Test1234
# Path where public certificates of trusted STS services are stored
trustedStsCert=trusted-sts-certs.jks
# Password for the trusted sts certifikate keystore
trustedStsCertPassword=password
# Max clock skew
allowedClockDrift=3
# The audience, SAML-tokens are required to have
expectedAudience=https://audience.nspop.dk/nap
# XDS
xdsIti18Wsdl=wsdl/iti18.wsdl
xdsIti18Endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/ddsregistry/services/xds-iti18
xdIti43Wsdl=wsdl/iti43.wsdl
xdsIti43Endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/ddsrepository/services/xds-iti43
Ved konfigurationsændringer skal wildfly serveren genstartes.
Logfiler
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.
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".
Logfiler
Servicen Service 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.