Page History
| Navitabs | ||
|---|---|---|
| ||
Indholdsfortegnelse
| Table of Contents |
|---|
Introduktion
Formål
Dette dokument indeholder en beskrivelse af hvordan DROS installeres på et NSP Backend miljøhar normalt til formål at beskrive hvordan en NSP komponent installeres på NSP. GM-BFF kører ikke på NSP, men i Triforks test og produktionsmiljø. Dokumentet vil derfor kun liste overordnet, nogle af de teknologier som er brugt.
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
...
....
Definitioner og referencer
| NSP | Den nationale service platform |
| Driften | NSP Leverandøren og NSP Driftleverandøren |
| SDS | Sundhedsdatastyrelsen | Driftvejledning
| Driftsvejledning | DROSGM-BFF - 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:
...
| GitHub Actions | https://github.com/features/actions |
Installation
GM-BFF bygges og startes i lokal docker med følgende commando:
| Kommando | Beskrivelse |
|---|---|
mvn verify spring-boot:build-image -Dspring-boot.build-image.imageName=gm-bff -Drevision=1.0.2 | Bygger image med gm-bff med version 1.0.2 |
docker run -p 8080:8080 \ | Starter appen i docker med configuration angivet i application.xml og configuration af logning i logback.xml |
GitHub Actions
GM-BFF benytter Github Action pipeline, hvor Workflows er ligger i folderen ./github/workflows. Byg af image startes ved at tagge med en version:
| Git kommandoer |
|---|
git tag 1.0.146 |
git push --tags |
Bemærk, bygge pipeline er ikke offentligt tilgængeligt og tagging skal også udføres i lukke repository.
Docker
Ved succesfuldt byg med Github Actions vil GM-BFF Docker image blive pushet ghcr.io/trifork/gm-bff. Bemærk, at der ikke er offentligt adgang
...
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:2.1.12"
Komponenternes konfiguration er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8.GM-BFF afvikles ikke som en standard NSP komponent i en applikationsserver, men i en tomcat webserver, som er default for en Spring Boot applikation.
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.se GM-BFF - Guide til udviklere#Kravtilsoftware
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:
...
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.
...
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ø
...
Hver instans af GM-BFF kræver ca. 1GB hukommelse at afvikle.
Konfiguration
GM-BFF konfigureres via følgende filer som alle skal være tilgængelige på classpath:
| Filnavn | Beskrivelse |
|---|---|
| application.yaml | se i GM-BFF - Driftsvejledning#Konfiguration |
| logback.xml | GM-BFF benytter logback til logning |
For at filerne bliver tilgængelige på classpath, skal de mountes ind i folderen /workspace/BOOT-INF/classes/
SLA logning
SLA-Logger benyttes ikke, men i stedet logges varighed af kald til komponenten i standard loggeren.
Afvikling
GM-BFF startes og med Docker Compose kommandoer.
Dokument Historik
| 3/4 2025 | Martin Henriksen/SDS | Etablering af dokumentation |