Introduktion
Formål
Dette dokument indeholder en beskrivelse af hvordan DROS 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
1/3 2021 | Eva Troels/KIT | Draft udgave af installationsvejledningen |
21/4 2023 | Kristian/KIT | Liquidbase og database-folder |
Definitioner og referencer
NSP | Den nationale service platform |
Driften | NSP Leverandøren og NSP Driftleverandøren |
SDS | Sundhedsdatastyrelsen |
Driftvejledning | DROS - Driftsvejledning |
Installation
DROS anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.
Jenkins
DROS bygges med NSP's Jenkins server via følgende jobs:
- DROS_build - Bygger koden
- DROS_push_snapshot - Pusher det nyeste snapshot image til NSP Docker Registry.
NSP Leverandøren er selv ansvarlige for at pushe release versioner af DROS til NSP Docker Registry gennem Jenkins.
Docker
DROS består af følgende Docker image som pushes til NSP Docker Registry:
Docker Compose
DROS leveres samtidig som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/dros/trunk/compose.
For release x.y.z af DROS findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/dros/tags/release-x.y.z/compose
En leverance af DROS består af en compose folder som beskrevet ovenfor samt tilhørende tags af det byggede Docker image.
Compose folderen indeholder 5 underfoldere:
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se DROS - Driftsvejledning |
database | Her ligger liquidbase change sets til databasen samt sql-scripts til openxds. |
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 DROS i en standalone test konfiguration. |
release | Her ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne. Der ligger også en "bo-db" compose file som skal køres først, for at få de seneste database-ændringer kørt på med liquibase. Se mere under "Afvikling". |
Krav til miljø
Krav til applikationsservere
Komponenterne er udviklet og testet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:2.1.12"
Komponenternes konfiguration er således tilpasset deployering på WildFly 8.2 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 adgang til andre services
DROS anvender den bagvedliggende XDS infrastruktur på NSP Backend miljøet (XDS Registry og XDS Repository). Uden adgang til XDS Registry og XDS Repository kan servicen ikke fungere.
Krav til hardware
DROS ressourceforbrug vil afhænge af følgende:
Antallet og størrelsen af samtidige afleveringer af dokumenter.
- Antallet af samtidige opdateringer samt registreringer af dokumentmetadata.
Konfiguration
I folderen https://svn.nspop.dk/svn/components/dros/trunk/compose/configuration findes følgende konfigurationsfiler:
dros.properties | Konfiguration af DROS servicen |
log4j-dros-ws.xml | Log opsætning af DROS servicen |
log4j-properties.xml | Log opsætning |
liquidbase.properties | Database-credentials til liquibase |
Alle filer skal tilrettes til de forskellige miljøer som DROS installeres på. Filerne indeholder en konfiguration der passer til DROS i en standalone test konfiguration.
I DROS - Driftsvejledning er hver enkel fil gennemgået i detaljer.
SLA logning
Konfigurationsfiler til SLA logning konfigureres i nedenstående filer. De følger standarden for SLA logning og det bør derfor ikke være nødvendigt at ændre i disse.
nspslalog-dros.properties | Propertyfil, der udpeger den konkrete SLA log konfigurationsfil, der anvendes |
log4j-nspslalog-dros.properties | SLA log konfigurationsfil |
Afvikling
DROS startes og stoppes med Docker Compose kommandoer.
Liquibase
Database-ændringer til servicen køres på med Liquibase. Dette gøres i praksis ved at køre "release/docker-compose-bo-db.yml" med kommandoen:
docker-compose -f compose/release/docker-compose-bo-db.yml up --build
Bemærk, at "compose/configuration/liquibase.properties" skal indeholde de relevante database-credentials.
Standalone test
For en standalone test af DROS 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".