Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Navitabs
rootBackend For Frontend (GM-BFF) - Leverancebeskrivelse


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

DriftvejledningDROS
NSPDen nationale service platform
DriftenNSP Leverandøren og NSP Driftleverandøren
SDSSundhedsdatastyrelsen
DriftsvejledningGM-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:

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:

...

Installation

GM-BFF bygges og startes  i lokal docker med følgende commando:

KommandoBeskrivelse
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 \
-v ./conf/logback.xml:/workspace/BOOT-INF/classes/logback.xml \
-v ./conf/application.yml:/workspace/BOOT-INF/classes/application.yml \
-e JAVA_OPTS="-XX:MaxDirectMemorySize=20M -Dspring.profiles.active=prod" \
gm-bff
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.

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:

FilnavnBeskrivelse
application.yamlse i GM-BFF - Driftsvejledning#Konfiguration
logback.xmlGM-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 2025Martin Henriksen/SDSEtablering af dokumentation