Dette dokument indeholder en beskrivelse af hvordan DDTV installeres på et NSP backend miljø.
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.
| NSP | Den nationale service platform |
| Driften | NSP Leverandøren og NSP Driftleverandøren |
| SDS | Sundhedsdatastyrelsen |
| DDTV | Din Digitale Tandlæge Vælger |
DDTV anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.
DDTV bygges med NSP's Jenkins server via følgende jobs:
NSP Leverandøren er selv ansvarlige for at pushe release versioner af DDTV til NSP Docker Registry igennem Jenkins.
DDTV består af følgende Docker images som pushes til NSP Docker Registry:
| registry.nspop.dk/components/ddtv-citizen-service |
| registry.nspop.dk/components/ddtv-dentist-service |
| registry.nspop.dk/components/ddtv-batch-service |
DDTV leveres samtidig som et sæt af Docker Compose filer i folderen https://git.nspop.dk/projects/COM/repos/din-digitale-tandlaegevaelger/browse/compose.
En leverance af DDTV består af en compose folder som beskrevet ovenfor samt tilhørende tags af det byggede Docker image.
Compose folderen indeholder fem underfoldere:
| configuration | Her ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Din digitale tandlægevælger (DDTV) - Driftsvejledning. Indeholder også database som underfolder som indeholder liquidbase change sets til databasen. |
| development | Her ligger en Docker Compose fil til brug for udvikling. Se Din digitale tandlægevælger (DDTV) - Guide til udviklere. |
| test | Her ligger en Docker Compose fil der kan starte DDTV i en standalone test konfiguration. |
| release | Her ligger Docker Compose-filer som det forventes, at driften anvender på både test og produktionsmiljøerne.
Der ligger også en compose fil som skal køres, for at få de seneste databaseændringer på med liquibase. Se mere under "Afvikling".
|
Komponenterne er udviklet og testet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:latest".
Komponenternes konfiguration er tilpasset deployment på WildFly 34.0.0 applikationsservere med OpenJDK 21.
Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og docker skal være installeret.
DDTV kræver adgang til "Personinformation".
I folderen "compose/configuration" findes følgende konfigurationsfiler:
| batch-service/application.properties | Konfiguration af ddtv-batch-service servicen |
| citizen-service/application.properties | Konfiguration af ddtv-citizen-service servicen |
| dentist-service/application.properties | Konfiguration af ddtv-dentist-service servicen |
| log4j.properties | Opsætning af logning i servicen findes i batch-, citizen- og dentist-service folderne |
| database/db/liquidbase.test.properties | Database-credentials til liquibase for test |
Alle filer skal tilrettes til de forskellige miljøer som DDTV installeres på. Filerne indeholder en konfiguration der passer til DDTV i en standalone test konfiguration.
I Din digitale tandlægevælger (DDTV) - Driftsvejledning er de enkelte filer gennemgået i detaljer.
Konfigurationsfiler til SLA logning konfigureres i nedenstående filer. Da SLA log ikke understøttes i java 21 er SLA logningsmodulet delvist indbygget i DDTV og migreret til at bruge Jakarta i stedet for Javax.
| log4j-nspslalog.properties | SLA log konfigurationsfil |
DDTV startes og stoppes med Docker Compose kommandoer.
Database-ændringer til servicen køres på med Liquibase. Dette gøres i praksis ved at køre "release/docker-compose-db.yml" med kommandoen:
docker-compose -f compose/release/docker-compose-db.yml up --build
Bemærk, at "compose/configuration/liquibase.properties" skal indeholde de relevante database-credentials.
For en standalone test af DDTV hentes "compose" folderen for den ønskede version og kommandoen herunder køres i testfolderen:
docker-compose up |
På et NSP miljø hentes "compose" folderen for den ønskede version og kommandoen "docker-compose -f <compose-file> up" køres i folderen "release", for hver docker-compose fil.