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:
- CRA_build - Bygger koden
- CRA_push_snapshot - Pusher det nyeste snapshot image til NSP Docker Registry.
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:
configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se CRA - Driftsvejledning |
development | Her ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere. |
jobcron | Her ligger en Dockerfil til afvikling af de forskellige cron-jobs, som kan anvendes til test af servicen. |
test | Her ligger en Docker Compose fil der kan starte CRA i en standalone test konfiguration. |
release | Her 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:
compose/configuration/cra/bootstrap.xml compose/configuration/cra/config.xml compose/configuration/cra/seal.xml compose/configuration/cra/services.xml
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.
I 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.properties | Propertyfil, der udpeger den konkrete SLA log konfigurationsfil, der anvendes |
log4j-nspslalog-cra.properties | SLA 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".