1.  Introduktion

Dette dokument giver vejledning til installation og konfiguration af NAP Platformen.

1.1.  Formål

Formålet med dette dokumentet er, at man med dokumentet i hånden, kan installere NAP Platformen services (NAP) uden yderligere informationer.

Dokumentet rummer guides til installation af de enkelt delkomponenter af NAP platformen. 

1.2. Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for NAP Platformen.

Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.

Ønskes mere information omkring guide til anvendelse findes dette på NAP Platform - Guide til anvendere.

Ønskes mere information omkring arkitektur og design findes dette på NAP Platform - Design og Arkitektur beskrivelse

1.3.  Forudsætninger

Krav til udviklingssoftware:

Software

Version

Docker Engine18.02.0+


2. nap-test-web

2.1. Installation

Nap-test-web er en statisk service, som hostes i NSPs wildfly8 image.

Nap-test-web anvender Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

Koden kan hentes på https://svn.nspop.dk/svn/components/nap/nap-test-web/.

2.2. Jenkins

Nap-test-web bygges på NSP's Jenkins server via følgende jobs:

NapTestWeb - build - bygger nap-test-web

NapTestWeb - push release candidate - pusher en release kandidat til NSP's docker registry

NapTestWeb - push snapshot - pusher en snapshot til NSP's docker registry

NapTestWeb - push release - pusher et release til NSP's docker registry

2.3. Docker

Nap-Test-Web kan findes på registry.nspop.dk/playground/nap/web/test:snapshot

2.4. Docker compose

Nap-test-web leveres som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/nap/nap-test-web/trunk/compose/

For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/nap/nap-test-web/tags/release-x.y.z/

En leverance af nap-reference består af en compose folder som beskrevet ovenfor samt tilhørende tags.

Folder

Indhold

developmentHer ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere.
releaseHer ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne.
testHer ligger en Docker Compose fil der kan starte NAS2 i en standalone test konfiguration.


2.5. Krav til adgang til andre services

2.5.1. Framing

Servicen benytter sig af nap-angular-sdk og nap-typescript-sdk og er udviklet til at være indlejret i et nap-java-host eller et andet host system, 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-test-web.

For opsætning af dette, skal nap-java-host. Opsætning af denne er yderligere beskrevet i dette dokument. 

2.6. Krav til applikationsservere

Nap-test-web er udviklet i Docker ved anvendelse af node:12-alpine.

Nap-test-web er bygget til imaget "registry.nspop.dk/platform/nsp:2.1.7".

Konfigurationen er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8.

2.7. Afvikling

2.7.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/testweb/ såfremt (https://svn.nspop.dk/svn/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.

2.7.2.  Stop

Kør `docker-compose down`.

3. Nap-administration

3.1. Installation

Nap-admin anvender Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

Nap-lobby-web og Nap-administration ligger som repositories på svn.nspop.dkDisse skal hentes for anvende de foreslåede compose-setups.

Kør "docker-compose up" fra compose/development, for at starte en wildfly server i docker på nap_net netværket.

3.2. Jenkins

Nap-administration bygges på NSP's Jenkins server via følgende jobs.

NapLobbyWeb-build - bygger nap-lobby-web

NapAdmin-buildbygger nap-admin. I denne pibeline kan det vælges at bygge nap-lobby-web, hvis dette ønskes inkluderet.

NapAdmin- push snapshot - bygger nap-lobby-web og ligger bygget ind i roden af nap-admin samt pusher til NSP's docker registry.

NapAdmin - push release - laver et release af nap-admin og pusher til NSP's docker registry.

3.3. Docker

Nap admin kan findes på registry.nspop.dk/playground/nap/lobby

3.4. Docker-compose

Nap-administration leveres som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/nap/nap-administration/trunk/compose/

For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/nap/nap-administration/tags/release-x.y.z/

En leverance af Nap-administration består af en compose folder som beskrevet ovenfor samt tilhørende tags.

Compose folderen indeholder 5 underfoldere:

Folder

Indhold

configurationHer ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen
databaseDatabase scripts
developmentHer ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere.
testHer ligger en Docker Compose fil der kan starte NAS2 i en standalone test konfiguration.
releaseHer ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne.

3.4.1. Konfiguration

Alt konfiguration foregår ved at loade filer fra wildfly modulet dk.sds.nsp.nap.admin.facade.

De følgende konfigurationsfiler skal således volume mappes ind i modulet "dk/sds/nsp/nap/admin/main/" på applikationsserveren (/pack/wildfly8/modules/ i docker).

Konfigurationsfiler
FilnavnBeskrivelse
nap-lobby-ds.xml

Datasource beskrivelse.

log4j-napadmin.xmllog4j konfiguration
nap-admin.properties
Applikationskonfiguration
oiosamlKonfiguration af OIOSAML

Disse filer bliver loadet ind på classpath når applikationen deployes.

Ved konfigurationsændringer skal wildfly serveren genstartes.

NAP Platform - Driftsvejledning er hver enkel fil gennemgået i detaljer.

3.5. Afvikling

3.5.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/admin/ såfremt (https://svn.nspop.dk/svn/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.

3.5.2. Stop

Kør `docker-compose down`.

3.6. Krav til adgang til andre services

Nap-admin benytter sig af en database. En  mariadb instans der er tilknyttet i compose-filerne. Det er et krav, at denne er opsat og tilgængelig på den url, der er defineret i nap-lobby-ds.xml.

Adgang til denne service er garanteret ved at afvikle compose filerne beskrevet ovenfor.

3.6.1. Framing

Servicen benytter sig af nap-angular-sdk og nap-typescript-sdk og er udviklet til at være indlejret i et nap-java-host eller et andet host system, 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-lobby-web.

For opsætning af dette, skal nap-java-host og nap-administration køres parallelt, og opsætning af det er yderligere beskrevet i dette dokument. 

4. 3. Krav til applikationsservere

Nap-admin er udviklet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:1".

Nap-lobby-web er udviklet i Docker ved anvendelse af node:12-alpine.

Den samlede deployment unit, nap-admin, 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.


5. nap-host-java

nap-host-java er lavet som executable, og kan hentes på nedenstående links.

Windows

Mac OS X

Linux

Alternativt kan kilde koden bygges med java 13 og køres med `java -jar`

5.1.1. Forbindelse til nap-administration og nap-Lobby

Servicen benytter sig af nap-administration og nap-lobby-web enten lokalt eller på test1.


  • No labels