Skip to content

navikt/k9-brukerdialog-cache

Repository files navigation

K9-brukerdialog-cache

Lines of Code Quality Gate Status Coverage Code Smells Technical Debt Duplicated Lines (%) Bugs

CI / CD Alerts Vulnerabilities scanning of dependencies

Innholdsoversikt

1. Kontekst

Persistererinng av kortlevde (midlertidige) datastrukturer for tjenester i team brukerdialog.

2. Funksjonelle Krav

Denne tjenesten understøtter behovet for mellomlagring av datastrukturer, deriblant søknader. Tjenesten eksponerer api-er for lagring, oppdatering og sletting av datastrukturerer i databasen.

3. Begrensninger

4. Programvarearkitektur

5. Kode

6. Data

7. Infrastrukturarkitektur

8. Distribusjon av tjenesten (deployment)

Distribusjon av tjenesten er gjort med bruk av Github Actions. Sif Innsyn API CI / CD

Push/merge til master branche vil teste, bygge og deploye til produksjonsmiljø og testmiljø.

9. Utviklingsmiljø

Forutsetninger

  • docker
  • docker-compose
  • Java 17
  • Kubectl

Bygge Prosjekt

For å bygge kode, kjør:

./gradlew clean build

Kjøre Prosjekt

For å kjøre kode, kjør:

./gradlew clean build && docker build --tag k9-brukerdialog-cache-local . && docker-compose up --build

Eller for å hoppe over tester under bygging:

./gradlew clean build -x test && docker build --tag k9-brukerdialog-cache-local . && docker-compose up --build

Henting av data via api-endepunktene

Applikasjonen er konfigurert med en lokal oicd provider stub for å utsending og verifisering av tokens. For å kunne gjøre kall på endepunktene, må man ha et gyldig token.

Henting av token

  1. Åpne oicd-provider-gui i nettleseren enten ved å bruke docker dashbord, eller ved å gå til http://localhost:5000.
  2. Trykk "Token for nivå 4" for å logge inn med ønsket bruker, ved å oppgi fødselsnummer. Tokenet blir da satt som en cookie (selvbetjening-idtoken) i nettleseren.
  3. Deretter kan du åpne http://localhost:8080/swagger-ui.html for å teste ut endepunktene.

Om man ønsker å bruke postman må man selv, lage en cookie og sette tokenet manuelt. Eksempel: selvbetjening-idtoken=eyJhbGciOiJSUzI1NiIsInR5cCI6Ikp.eyJzdWIiOiIwMTAxMDExMjM0NSIsImFjc.FBmVFuHI9d8akrVdAxi1dRg03qKV4EGk; Path=/; Domain=localhost; Expires=Fri, 18 Jun 2021 08:46:13 GMT;

10. Drift og støtte

Logging

Loggene til tjenesten kan leses på to måter:

Kibana

For [dev-gcp: ](TODO: fyll ut)

For [prod-gcp:](TODO: fyll ut)

Kubectl

For dev-gcp:

kubectl config use-context dev-gcp
kubectl get pods -n dusseldorf | grep k9-brukerdialog-cache
kubectl logs -f k9-brukerdialog-cache-<POD-ID> --namespace dusseldorf -c k9-brukerdialog-cache

For prod-gcp:

kubectl config use-context prod-gcp
kubectl get pods -n dusseldorf | grep k9-brukerdialog-cache
kubectl logs -f k9-brukerdialog-cache-<POD-ID> --namespace dusseldorf -c k9-brukerdialog-cache

Alarmer

Vi bruker nais-alerts for å sette opp alarmer. Disse finner man konfigurert i nais/alerterator-prod.yml.

Metrics

Henvendelser

Spørsmål koden eller prosjekttet kan rettes til team dusseldorf på: