Indhold

Introduktion

Formål

Dette dokument indeholder en beskrivelse af hvordan CRA 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.

Installation

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

Jenkins

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

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

Docker

CRA består af følgende Docker image som pushes til NSP Docker Registry:

Docker Compose

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

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

En leverance af CRA består af en compose folder som beskrevet ovenfor samt tilhørende tags af det byggede Docker image.

Compose folderen indeholder 5 underfoldere:

configurationHer ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se CRA - Driftsvejledning
developmentHer ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere.
jobcronHer ligger en Dockerfil til afvikling af de forskellige cron-jobs, som kan anvendes til test af servicen.
testHer ligger en Docker Compose fil der kan starte CRA 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:latest" (Kan styres med BASE_TAG)

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

CRA er afhængig af adgang til de Certificate Revocation Sources (CRSs), som den overvåger for at holde databasen opdateret med tilbagekaldte certifikater.

Konfiguration

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

Spring konfiguration
compose/configuration/cra/bootstrap.xml
compose/configuration/cra/config.xml
compose/configuration/cra/seal.xml
compose/configuration/cra/services.xml
Log konfiguration
compose/configuration/log4j-cra.xml
compose/configuration/log4j-nspslalog-cra.properties
compose/configuration/nspslalog-cra.properties

bootstrap

XML filen bootstrap.xml indeholder et eksempel på en opsætning af et antal CRS’er. Dette eksempel skal slettes og korrekte CRS’er skal konfigureres inden selve applikationen deployes.
En detaljeret gennemgang af filerne og opsætningen heri kan findes i afsnittet Opsætning.

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

CRA - 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-cra.propertiesPropertyfil, der udpeger den konkrete SLA log konfigurationsfil, der anvendes
log4j-nspslalog-cra.propertiesSLA log konfigurationsfil

Database

Under  deployment  vha. docker-compose, så bliver filen cra-ds.xml placeret i /pack/wildfly8/standalone/deployments.

CRA-databasen bliver bygget under deployment - eller et image af bygget biver hentet fra repo. Opskriften på byg af cradb findesi filen Dockerfile under cra-db modulet.
Det image som bygges til  cradb basere sig på 'mariadb:10.1' og indeholder 2 sql-filer:

  • drop-create-db.sql: anvendes til at oprette databasen
  • create-test-data.sql:  indsætter testdata i databasen.

Både cra-ds.xml og drop-create-db.sql  indeholder et simpelt brugernavn og kodeord for databasebrugeren og skal derfor rettes inden de anvendes i et produktionsmiljø. Vær også opmærksom på at værdien af connection property rewriteBatchedStatements skal passe med den tilsvarende i services.xml som beskrevet nedenfor

Applikation

Samtidigt med at alle konfigurationsfilerne er placeres korrekt og databasen er startes op kan, så bygges cra-app modulet.
I cra-app kopieres filen target/cra.war kopieres over i /pack/wildfly8/standalone/deployments/.

Konfigurationsfilen bootstrap.xml skal opdateres inden CRA deployes.

Afvikling

CRA startes og stoppes med Docker Compose kommandoer.

Standalone test

For en standalone test af CRA 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