1. Indholdsfortegnelse

2. Introduktion

2.1. Formål

Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere driftsmæssige aspekter af komponenten.

Driftsvejledningen indeholder information om GM-BFF med hensyn til eksterne afhængigheder, standard placering af logfiler og konfigurationsfiler, og evt. krav til genstart af applikationer hvis komponenten ikke er responsiv.

I afsnit 3 (Komponenter) er beskrevet hvilke komponenter, der indgår i GM-BFF og deres forventede placering med hensyn til platform.

Afsnit 5 (Konfiguration) beskriver aktuelle konfigurationsparametre for GM-BFF henholdsvis Repository, samt eksempler på konfigurationsparameter-filer.

Afsnit 6.1, 6.2 og 6.3 (Overvågning) beskriver hvorledes GM-BFF komponenterne overvåges.

I afsnit 6.4 er GM-BFF-relaterede logfiler beskrevet, så disse evt. kan overvåges, og tillige danne baggrund for fejlsøgning.


Beskrivelse af standard fejlsøgning og start/stop vejledning for komponenterne er beskrevet i afsnit 7 (Standard fejlsøgning).

Specielle krav til backup er beskrevet i afsnit 8 (Krav til backup m.m.), ligesom procedure ved reetablering af komponenten ud fra backup beskrives.

2.2. Læsevejledning

Læseren forventes at have kendskab til Spring boot applikationer

2.3. Definitioner og referencer

Definition

Beskrivelse

NSP Den nationale service platform
SDS Sundhedsdatastyrelsen

3. Daglig drift

Dette afsnit beskriver den daglige drift af gm-bff.

3.1. Relaterede services

gm-bff afhænger af tilstedeværelsen af en række andre services, og ved fejl i nogle af disse vil gm-bff fejle tilsvarende. Disse services er:

  • CMS - Content Management System
  • KeyCloak til validering json web token i formatet JTP-H 
  • GM-Facade - til fremsøgning af journal data og bestilling af journal via digital post.

4. Konfiguration

GM-BFF kan afvikles i et docker setup, hvor et image bygges ved at kalde:

mvn -B spring-boot:build-image --file pom.xml
-DskipTests
-Drevision=${{ env.BUILD_ID }}
-Dspring-boot.build-image.imageName=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.BUILD_ID }}
-Dspring-boot.build-image.publish=true
-Ddocker.credentials.url=${{ env.REGISTRY }}
-Ddocker.credentials.username=${{ github.repository_owner }}
-Ddocker.credentials.password=${{ secrets.GITHUB_TOKEN }}

Bemærk, ovenstående opsætning er taget fra GitHub Action pipeline. 


Den applikationspecifikke del af GM_BFF konfigureres via filen application.yml.

Property: Beskrivelse
logging:
  level:
    ROOT: info
    org:
      springframework:
        web: debug
        security: debug
Opsætning af applikationsspecifik logningsniveau
server:
  port: 8082
  servlet:
    context-path: /gm-bff
Angivelse af ønsket port og context root.
management:
  endpoints:
    web:
      exposure:
        include: health
Eksponering af health check
spring:
Spring specifik opsætning
  application:
  name: gm-bff
Navn på applikationen
  datasource:
    driverClassName: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/db?currentSchema=gm
  username: db
  password: db
konfiguration af forbindelse til PostgreSQL database der indeholder applikationens journal cache.  
service:

  version: @project.version@
Version tages fra maven
  gm-facade-endpoint: https://gmaf/gmaf
url til GM-Facade
  cms-endpoint: https://cms
Url til cms
  oidc:
    issuer: https://test.cloud.idm.trifork.com/auth/realms/gravid
    audience: https://audience.nspop.dk/mhd
  scope: nsp-gm-clientstate
    issuance-policy: urn:dk:sds:policy:gm-access
Konfiguration til validering af json web tokens i formatet JTP-H. 
  cache:
  cache-age: 300
  cleanup-frequency: 300000
Konfiguration af journal cache.

Levetid angives i sekunder og specificere hvor længe en given cache er gyldig inden journalen hentes via GM-Facade.

cleanup-frequency angives i millisekunder og styrer hvor mange gange oprydningsjobbet kører og sletter cache elementer - hvis levetid er udløbet - fra databasen   
meilisearch:
meilisearch-endpoint: https://meilisearch
  meili-master-key: 9ooLuYuw149G5zhWYT....
Konfiguration af meilisearch
---
spring:
  config:
    activate:
      on-profile: prod
Properties som kune er relevant for afvikling i produktionsmiljø angives her. Pt. er der ingen-



4.1.1. log4j konfiguration

Der logges med log4j2s default opsætning, hvor der logges til til standard out. 

4.1.2. SLA-log konfiguration

Der findes ingen konfiguration af SLA-log, da dette request tider logges som en del af request logs med loggeren REQUEST_LOG:

Eksempel
 {"traceId":"68c7f7186ebdf5341a477e4f02b1f9aa","spanId":"e8f08dabc6e8c95e","method":"GET","clientIp":"127.0.0.1","userAgent":"bruno-runtime/2.10.0","uri":"/gm-bff/api/v1/overview/pregnancyinfo","status":200,"elapsedMs":2106}


Derudover logges udførselstider for kald til GM-Facede og CMS på lignende vis med loggeren SUB_REQUEST_LOG:

Eksempel på logning af kald til GM-Facade
{"traceId":"68c7f7186ebdf5341a477e4f02b1f9aa","spanId":"e8f08dabc6e8c95e","method":"GET","uri":"https://gmaf/gmaf/api/2025/06/25/journal","direction":"OUTBOUND","status":200,"elapsedMs":1454}

4.1.3. Whitelist konfiguration

Der er ingen whitelisting. 

4.2. Monitorering

Statuscheck af GM-BFF et tilgængelig på:

/gm-bff/actuator/health

5. Overvågning

GM-BFF overvåges via Grafana med følgende overvågningssider:

TODO

5.1. Audit log

Der foretages ikke audit log in gm-bff, da denne udelukkende kalder NSP komponenten GM-Facade. GM-Facade videre til MHD og som kalder videre til Dokumentdelingsservicen (DDS). Audit log foretages af i både MHD og DDS og derfor foretages der ikke yderligere audit log i gm-bff.  

6. Standard fejlsøgning

  • Ved problemer med indlæsning af servicens konfigurationsfiler bør man verificere at alle påkrævede properties er sat
  • En service kan stoppes og startes gennem docker.

7. Krav til backup m.m.

Det anbefales at aktuelle konfigurationsfiler til GM-BFF er under versionskontrol og back up.


8. Dokument Historik

3/4 2025 Martin Henriksen/SDS Etablering af dokumentation
15/9 2025 Thomas Glæsner/Trifork Udført
  • No labels