- 1. Kontekst
- 2. Funksjonelle Krav
- 3. Begrensninger
- 4. Programvarearkitektur
- 5. Kode
- 6. Data
- 7. Infrastrukturarkitektur
- 8. Distribusjon av tjenesten (deployment)
- 9. Utviklingsmiljø
- 10. Drift og støtte
Persistererinng av kortlevde (midlertidige) datastrukturer for tjenester i team brukerdialog.
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.
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ø.
- docker
- docker-compose
- Java 17
- Kubectl
For å bygge kode, kjør:
./gradlew clean build
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
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.
- Åpne oicd-provider-gui i nettleseren enten ved å bruke docker dashbord, eller ved å gå til http://localhost:5000.
- 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.
- 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;
Loggene til tjenesten kan leses på to måter:
For [dev-gcp: ](TODO: fyll ut)
For [prod-gcp:](TODO: fyll ut)
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
Vi bruker nais-alerts for å sette opp alarmer. Disse finner man konfigurert i nais/alerterator-prod.yml.
Spørsmål koden eller prosjekttet kan rettes til team dusseldorf på: