Skip to content

navikt/sokos-pdl-proxy

Repository files navigation

sokos-pdl-proxy

Innholdsoversikt


1. Funksjonelle Krav

Applikasjonen er et bindeledd mellom stormaskin og PDL (Persondataløsningen). Stormaskin har ikke mulighet til å gjøre GraphQL rest-kall men ved hjelp av denne proxy har vi mulighet til å hente et lite subset av persondata og identer fra PDL.

API tilbyr følgende:

  • Person identer, fornavn, mellomnavn, etternavn, forkortet navn, bostedsadresse, martikkeladresse, utenlandskadresse, ukjent bosted, metdata, kontaktadresse, oppholdsadresse

2. Utviklingsmiljø

Forutsetninger

  • Java 21
  • Gradle

Bygge prosjekt

./gradlew build shadowJar

Lokal utvikling

NB! Du må ha naisdevice kjørende på maskinen.

For å kjøre applikasjonen må du gjøre følgende:

  • Kjør scriptet setupLocalEnvironment.sh
    chmod 755 setupLocalEnvironment.sh && ./setupLocalEnvironment.sh
    
    Denne vil opprette default.properties med alle environment variabler du trenger for å kjøre applikasjonen som er definert i PropertiesConfig. Her vil du også kunne f.eks endre om du ønsker slå på autentisering eller ikke i koden "USE_AUTHENTICATION" to "true" i filen PropertiesConfig.

3. Programvarearkitektur

System diagram

4. Deployment

Distribusjon av tjenesten er gjort med bruk av Github Actions. sokos-pdl-proxy CI / CD

Push/merge til main branch vil teste, bygge og deploye til produksjonsmiljø og testmiljø. Det foreligger også mulighet for manuell deploy.

5. Autentisering

Applikasjonen bruker AzureAD autentisering

6. Drift og støtte

Logging

https://logs.adeo.no.

Feilmeldinger og infomeldinger som ikke innheholder sensitive data logges til data view Applikasjonslogger.
Sensetive meldinger logges til data view Securelogs sikker-utvikling/logging).

  • Filter for Produksjon

    • application:sokos-spk-mottak AND envclass:p
  • Filter for Dev

    • application:sokos-spk-mottak AND envclass:q

Kubectl

For dev-gcp:

kubectl config use-context dev-gcp
kubectl get pods -n okonomi | grep sokos-pdl-proxy
kubectl logs -f sokos-pdl-proxy-<POD-ID> --namespace okonomi -c sokos-pdl-proxy

For prod-gcp:

kubectl config use-context prod-gcp
kubectl get pods -n okonomi | grep sokos-pdl-proxy
kubectl logs -f sokos-pdl-proxy-<POD-ID> --namespace okonomi -c sokos-pdl-proxy

Alarmer

Vi bruker nais-alerts for å sette opp alarmer. Disse finner man konfigurert i .nais/alerts-dev.yaml filen og .nais/alerts-prod.yaml Alarmene blir publisert i Slack kanalen #team-mob-alerts-dev og #team-mob-alerts-prod.

Disse dukker opp i #team-mob-alerts-dev og #team-mob-alers-prod kanalene på Slack

Grafana


7. Swagger

8. Henvendelser

Spørsmål knyttet til koden eller prosjektet kan stilles som issues her på Github. Interne henvendelser kan sendes via Slack i kanalen #po-utbetaling