Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Krav til udviklingssoftware:

Software

Version

Java8 og 13
Docker Engine18.02.0+
node10+

Det lokale udviklingsmiljø er opsat med docker-compose.

For 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-admin-web

Krav til applikationsserver

Komponenten er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Servicen kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

Installation


nap-test-web

Installation

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

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

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

Således vil containeren være tilgængelig på http://localhost:4500/ samt http://localhost:8080/nap/admin/web/ hvis (Koden kan hentes på https://svn.nspop.dk/svn/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.

 Krav til adgang til andre services

Forbindelse til nap-administration

Servicen benytter sig af nap-administration som backend, og denne skal være tilgængelig på den nedenstående konfigurerbare serverurl. 

 Konfiguration

For at konfigurerer denne service skal en configurations.json fil volume mappes til pack/webapp/assets/.

...

Key

...

Value

...

projectsEndpoint

...

test-web/.

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

Docker

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

Docker compose

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

Konfigurationen kan ændres runtime, men skal matche loadbalancer indstillingerne.

nap-lobby-web

Krav til applikationsservere

Komponenten er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Servicen kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

Installation

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

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

Således vil containeren være tilgængelig på http://localhost:4200/ samt http://localhost:8080/nap/lobby/web/ hvis (For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/svnsrc/components/nap/nap-test-web/tags/release-compose/) kører på samme netværk som en reverse proxy.

Det er denne url der åbnes i nap-java-host

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.


...

Krav til adgang til andre services

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-lobbytest-web.

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

Forbindelse til nap-administration

Servicen benytter sig af nap-administration som backend, og denne skal være tilgængelig på den nedenstående konfigurerbare serverurl. 

 Konfiguration

For at konfigurerer denne service skal en configurations.json fil, volume mappes til pack/webapp/assets/.

...

Key

...

Value

...

projectsEndpoint

...

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.

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`.

Kør `docker-compose up` fra compose/test mappen

Konfigurationen kan ændres runtime, men skal matche loadbalancer indstillingerne.

nap-test-web

Krav til applikationsservere

Komponenten er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Service kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

Installation

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

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

Således vil containeren være tilgængelig på http://localhost:4300/ samt Herefter er containeren tilgængelig http://localhost:8080/nap/test/web/ hvis testweb/ 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`.

...

Nap-administration

...

Krav til applikationsservere

Komponenterne er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Servicen kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

Krav til adgang til andre services

Servicen benytter sig af dokumentdelingsservicen og det er et krav, at denne kan nåes på den url, der er specificeret i properties.

Installation

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.

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.

Docker

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

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.

Konfiguration

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

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

# Path to the service provider certificate
keystorePath=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=Test1234
# The audience, SAML-tokens are required to have
expectedAudience=https://audience.nspop.dk/nap
# Max clock skew
allowedClockDrift=3
Konfigurationsfiler
FilnavnIndholdBeskrivelse
nap-adminlobby-compose-ds.xml

Datasource beskrivelse.

<datasources xmlns="http://www.jboss.org/ironjacamar/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.jboss.org/ironjacamar/schema https://docs.jboss.org/ironjacamar/schema/ironjacamar_1_0.xsd">
<datasource jndi-name="java:jboss/datasources/admin" pool-name="MariaDBDS">
<connection-url>jdbc:mysql://napadmindb:3306/administration?autoReconnect=true</connection-url>
<driver>mysql</driver>
<pool>
<max-pool-size>30</max-pool-size>
<min-pool-size>5</min-pool-size>
</pool>
<security>
<user-name>root</user-name>
<password>pw</password>
</security>
<validation>
<check-valid-connection-sql>select 1</check-valid-connection-sql>
<validate-on-match>false</validate-on-match>
<background-validation>true</background-validation>
<background-validation-millis>10000</background-validation-millis>
</validation>
<timeout>
<idle-timeout-minutes>10</idle-timeout-minutes>
</timeout>
</datasource>
</datasources>
log4j-napadmin.xmllog4j konfiguration
nap.jksJKS fil indeholdende NAP certifikat til audience /nap
nap-admin.properties
trusted-sts-certs.jksJKS fil med certifikater fra STS providers.

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

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.

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`.

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/src/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

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.

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. 

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 8Ved konfigurationsændringer skal wildfly serveren genstartes.


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`

Forbindelse til nap-administration og nap-Lobby

...