Page History
...
Table of Contents |
---|
Introduktion
Vejledning Dette dokument giver vejledning til installation og konfiguration af NAP Platformen.
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-NAP platformen.
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
Forudsætninger
Software requirementsKrav til udviklingssoftware:
Software | Version | Java | 8 og 13
---|---|
Docker | Gerne nyeste |
node | 10+ |
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 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
Engine | 18.02.0+ |
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/test 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-admin
Servicen benytter sig af nap-admin som backend. Det er dog muligt at køre en konfiguration, hvor der køres backend less.
For at køre backendless skal `--configuration=mock` tilføjes startkommandoen i compose filen i compose/development/.
2.4. Konfiguration
For at konfigurerer denne service skal en configurations.json fil volume mappes til pack/webapp/assets/.
...
Key
...
Value
...
projectsEndpoint
...
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
Er en statisk service som hostes i NSPs wildfly8 image.
Kør `docker-compose up` fra compose/test 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-x.y.z/
En leverance af nap-compose/) kører på samme netværk som en reverse proxy.
Det er denne url der åbnes i nap-java-host
reference består af en compose folder som beskrevet ovenfor samt tilhørende tags.
Folder | Indhold |
---|---|
development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
release | Her ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne. |
test | Her 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 .
Forbindelse til nap-admin
Servicen benytter sig af nap-admin som backend. Det er dog muligt at køre en konfiguration, hvor der køres backend less.
For at køre backendless skal `--configuration=mock` tilføjes startkommandoen i compose filen i compose/development/.
Konfiguration
For at konfigurerer denne service skal en configurations.json fil volume mappes til pack/webapp/assets/.
...
Key
...
Value
...
projectsEndpoint
...
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.
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`
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
Er en statisk service som hostes i NSPs wildfly8 image.
Kør `docker-compose up` fra compose/test mappen, 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.
Det er et krav for at køre tests, at dokumentsdelingsservicen på test2 kan køres.
Installation
Kør `docker-compose up` fra compose/test for at starte en wildfly server i docker på nap_net netværket.
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.dk. Disse 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-build - bygger 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 |
---|---|
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen |
database | Database scripts |
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. |
...
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).
Konfigurationsfiler | |
---|---|
Filnavn | IndholdBeskrivelse |
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.xml | log4j konfiguration |
nap.jks | JKS fil indeholdende NAP certifikat til audience /nap | nap-admin.properties | # Path to the service provider certificate
trusted-sts-certs.jks | JKS fil med certifikater fra STS providers. |
Disse filer bliver loadet ind på classpath wildfly når applikationen deployes.
Ved konfigurationsændringer skal wildfly serveren genstartes.
nap-host-java
MANGLER INFORMATION HER
installere den fil, der passer til dit styre system fra www.nsp.dk.
log4j-napadmin.xml | log4j konfiguration |
nap-admin.properties | Applikationskonfiguration |
oiosaml | Konfiguration af OIOSAML |
Disse filer bliver loadet ind på classpath når applikationen deployes.
Ved konfigurationsændringer skal wildfly serveren genstartes.
i 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 8.
nap-host-java
nap-host-java er lavet som executable, og kan hentes på nedenstående links.
Alternativt kan kilde koden bygges med java 13 og køres med `java -jar`
Forbindelse til nap-administration og nap
...
-Lobby
Servicen benytter sig af nap-admin og administration og nap-lobby-web enten lokalt eller på test1.
...