Introduktion

Formål

Dette dokument indeholder en beskrivelse af hvordan National Adviseringsservice 2 (herefter NAS2) installeres på et NSP Backend miljø.

Læsevejledning

Læseren forventes at have kendskab til Sundhedsdatastyrelsens platform NSP, samt generelt kendskab til WildFly applikation server, Docker, Docker Compose samt Ubuntu Linux operativ system.

Dokument Historik

DatoAnsvarligBeskrivelse
TBDJacob QvortrupDraft udgave af installationsvejledningen
2021-04-16Jonas PedersenTilføjet information omkring liquibase.
2021-10-08Jonas PedersenTilføjet administrations service.

Definitioner og referencer

ReferenceBeskrivelse
NAS2National Adviseringsservice 2
NAS1National Adviseringsservice 1
NSPDen nationale service platform
DriftenNSP Leverandøren og NSP Driftleverandøren
SDSSundhedsdatastyrelsen
DriftvejledningNAS2 - Driftvejledning

Installation

NAS2 anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

Jenkins

NAS2 bygges med NSP's Jenkins server via følgende jobs:

NSP Leverandøren er selv ansvarlige for at pushe release versioner af NAS2 til NSP Docker Registry gennem Jenkins.

Docker

NAS2 består af fem Docker images som pushes til NSP Docker Registry med følgende navne:

Docker image name
registry.nspop.dk/components/nas/notificationbroker
registry.nspop.dk/components/nas/idlist
registry.nspop.dk/components/nas/subscriptionmanager
registry.nspop.dk/components/nas/pullpointfactory
registry.nspop.dk/components/nas/pullpoint
registry.nspop.dk/components/nas/cleanup

Docker Compose

NAS2 leveres samtidig som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/nas/trunk/compose.

For release x.y.z af NAS2 findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/nas/tags/release-x.y.z/compose

En leverance af NAS2 består af en compose folder som beskrevet ovenfor samt tilhørende tags af de fem Docker images.

Compose folderen indeholder 5 underfoldere:

FolderIndhold
configurationHer ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen
databaseHer ligger alle de databasefiler som det forventes at driften lægger på en NSP database
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.

Krav til miljø

Krav til applikationsservere

Komponenterne er udviklet og testet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:3.0.0-wildfly21.rc3"

Komponenternes konfiguration er således tilpasset deployering på WildFly 21 applikationsservere med OpenJDK 8

Krav til operativsystem

Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.

Krav til database

Databasen til NAS2 systemet er en selvstændig database og selvstændige tabeller i forhold til NAS1. NAS2 deler derfor ikke database med NAS1. 

Databasen den vedligeholdes ved hjælp af Liquibase. Liquibase forventer at database samt bruger allerede er oprettet. Som standard forventes det at databasen den hedder nas, men dette kan ændres i nas-ds.xml.

Hvis der skal afvikles integrationstest mod det mijlø der installeres skal changelog filen liquibase-changelog-test.xml anvendes. Dette kan angives via konfigurationsproperty liquibase.changelog.file.

Krav til adgang til andre services

NAS2 anvender NSP Kafka installationen på NSP Backend miljøet samt NSP Databasen. Uden adgang til disse kan servicen ikke fungere.

Krav til datahåndtering

Kravet til anvendere af NAS2 er at adviseringer ikke må indeholde personfølsomme data. NAS2 har dog ikke nogen måde at sikre dette, det er derfor op til SDS at sikre anvenderne overholder dette.

Krav til hardware

NAS2's ressourceforbrug vil afhænge af følgende:

  • Antallet og størrelsen af samtidige afleveringer af Adviseringer

  • Antallet af samtidige hentning af Adviseringer.
  • Antallet af ID'er i en ID-liste der aktivt anvendes ifm hentning af Adviseringer.

NAS2 er derimod lavet således at dens ressourceforbrug stort set ikke vil afhænge af følgende:

  • Antallet af Pullpoints
  • Antallet af Abonnementer.
  • Antallet af ID-lister.

NAS2 gennerelle krav til hardware er baseret på NSP Kafka miljøets krav til hardware, da denne står for opbevaring af alle Adviseringer.

Konfiguration

I folderen https://svn.nspop.dk/svn/components/nas/trunk/compose/configuration findes følgende konfigurationsfiler:

FilIndhold

notificationbroker.properties

Konfiguration af Notification Broker servicen
idlist.propertiesKonfiguration af ID-list servicen
subscriptionmanager.propertiesKonfiguration af Subscription Manager servicen
pullpointfactory.propertiesKonfiguration af Pullpoint Factory servicen
pullpoint.propertiesKonfiguration af Pullpoint servicen
cleanup.propertiesKonfiguration af Cleanup servicen
administration.propertiesKonfiguration af administrations servicen.
nas-ds.xmlDatasource filen der bruges af alle services
log4j-notificationbroker.xmlLog opsætning af Notification Broker servicen
log4j-idlist.xmlLog opsætning af ID-list servicen
log4j-subscriptionmanager.xmlLog opsætning af Subscription Manager servicen
log4j-pullpointfactory.xmlLog opsætning af Pullpoint Factory servicen
log4j-pullpoint.xmlLog opsætning af Pullpoint servicen
log4j-cleanup.xmlLog opsætning af Cleanup servicen
log4j-administration.xmlLog opsætning af administrations servicen.

Alle filer skal tilrettes til de forskellige miljøer som NAS2 installeres på. Filerne indeholder en konfiguration der passer til NAS2 i en standalone test konfiguration.

I Driftvejledningen er hver enkel fil gennemgået i detaljer.

SLA logning

Konfigurationsfiler til SLA logning ligger inde i de Docker images som NAS2 producere. De følger standarden for SLA logning og det bør derfor ikke være nødvendigt at ændre i disse.

Afvikling

NAS2 startes og stoppes med Docker Compose kommandoer.

Specielt for administration servicen

Denne service udstiller kun REST endpoints til anvendelse af administration af NAS2 og skal derfor kun være tilgængelig for driften.

Standalone test

For en standalone test af NAS2 hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".

NSP Miljø

På et NSP miljø hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "release".

  • No labels