Fia er et fagsystem for prioritering av virksomheter.
I teamet bruker vi colima
som container runtime. Det skal strengt tatt ikke
være noe problem å bruke en annen runtime, men dette er stegene må på plass for å sette opp colima
, i tillegg til de som er nevnte i README i repoet
.
Migrering fra Docker desktop
- installere nye versjoner av
docker
ogdocker-compose
(for eksempel med Homebrew) linke disse til PATH - passe på at
credsStore
i~/.docker/config.json
ikke har verdiendesktop
- symlinke den nye versjonen av
docker-compose
til~/.docker/cli-plugins/docker-compose
hvis man vil kunne skrivedocker compose
uten bindestrek:ln -sfn $(which docker-compose) ~/.docker/cli-plugins/docker-compose
For å kjøre prosjektet lokalt anbefales det å kjøre med frontend. (Se oppsett i frontend-repo for lokal kjøring med frontend.)
Uten endringer henter frontend siste backend image, men man kan også bygge backend lokalt og bruke dette i kjøring med frontend også, se guide i frontend-repo
For å legge til nye testvirksomheter i dev-miljøet må man hente testvirksomheter fra Tenor.
Fremgangsmåte er beskrevet her.
Hvert kvartal publiserer NAV ny statistikk for sykefravær iht publiseringkalender Fia mottar ny statistikk via Kafka. Denne produseres av pia-sykefravarsstatistikk.
Testdata må produseres av scripts i pia-dvh-import før du følger vanlig framgangsmåte
Framgangsmåte for å produsere nytt kvartal av testdata er beskrevet her
Dette krever noe vedlikehold for å holde appen oppdatert:
- Importer nytt kvartal med sykefraværsstatistikk ved å kjøre import jobb med pia-jobbsender. Dette vil gjøre at pia-dvh-import importerer nylig publisert statistikk fra Bucket. (For dev se her)
- Oppdater siste_publiseringsinfo: publiseringskvartaler lagres i
siste_publiseringsinfo
og må oppdateres med nytt kvartal. Kopier migreringsscript fra tidligere kvartal som: V119__oppdatere_siste_publiseringsinfo_Q4_2024.sql og lag et nytt migreringsscript med riktige datoer. Push til produksjon og dev etter import er ferdig. - Etter
gjeldendePeriode
er oppdatert må du lage en ny dump fil med testdata til lokal kjøring (se her)
Når du kjører lydia-api lokalt bruker applikasjonen testdata fra et sql script i scripts/db/
.
Denne filen bruker samme testdata som integrasjonstestene våre, dvs kunstig data og fiktive organisasjonsnummere. Filen bør oppdateres manuelt etter hver endring i db struktur, og i alle tilfeller etter publisering av ny sykefraværsstatistikk.
- Installer psql lokalt (https://www.timescale.com/blog/how-to-install-psql-on-mac-ubuntu-debian-windows/)
- Verifiser at du har psql installert ved å kjøre
psql --version
i terminalen - Kjør
./gradlew cleanTest test --tests no.nav.lydia.DbDumpTest -PlokalDbDump=true
I script filen run.sh
kan du oppdatere lenken til filen du har generert og lastet opp (commit) på github
- Gå til repoet på GitHub (https://github.com/navikt/lydia-api).
- Finn dump-fila,
/lydia-api/scripts/db/[filnavn_her].sql
(Sannsynleg lenke til mappa: https://github.com/navikt/lydia-api/tree/main/scripts/db). - Klikk på "Raw" og kopier lenka til sida du kjem til. Formatet skal vere
https://raw.githubusercontent.com/navikt/lydia-api/main/scripts/db/{data_source}_{timestamp}-dump.sql
. - Lim inn denne lenka i
run.sh
. - Commit og push. (Du treng ikkje vente på at GitHub Actions skal bli ferdig med build og deploy.)
- Oppdater
run.sh
i lydia-rådgiver-frontend med den same lenka.
- Kjør
./run.sh
i roten av repoet for å starte appen i docker med alle avhengigheter
- Installer psql lokalt (https://www.timescale.com/blog/how-to-install-psql-on-mac-ubuntu-debian-windows/)
- Verifiser at du har psql installert ved å kjøre
psql --version
i terminalen - Koble til postgresql lokalt ved å kjøre
PGPASSWORD=test psql -h localhost -p 5432 -U postgres
i terminalen
- Åpne IntelliJ og gå til Database panelet
- Trykk på
+
og velgData Source
ogPostgreSQL
- Fyll ut feltene slik:
Host
:localhost
Port
:5432
User
:postgres
Password
:test
Database
:postgres
- Trykk på
Test connection
for å verifisere at tilkoblingen fungerer
- Installer Database Client extension
- Åpne databasepanelet
- Trykk på
+
og velgPostgreSQL
underServer Type
- Fyll ut feltene slik:
Host
:localhost
Port
:5432
User
:postgres
Password
:test
Database
:postgres
- Trykk på
Connect
/Save
For å koble seg mot Aiven Kafka lokalt trenger man:
- kafka-cli (kan også installeres med brew install kafka)
- nais-cli
Vi har gitt tilgang til en k8s-ressurs som heter pia-devops
som har lese- og skrivetilgang til ia-sak-v1
-topicet.
Det er denne man bruker som utvikler om man vil koble seg opp mot topicet lokalt. Det gjør man slik:
logg på gcloud og sett cluster med kubectx
nais aiven create -p nav-dev kafka pia-devops pia
(lager en AivenApplication i Kafka pool nav-dev og gir neste kommando i output -- obs: husk å bruke nav-prod i produksjon)- Output fra forrige steg gir neste kommando, noe som:
nais aiven get kafka pia-devops-pia-<id> pia
denne lager lage secrets - Output fra forrige steg gir path til der config ble lagret
KAFKA_CONFIG=<path-til-config>
source $KAFKA_CONFIG/kafka-secret.env
- Nå skal man klar for å koble seg opp mot topicet i miljøet man har valgt. Bruk de ulike kommandoene i
kafka-cli
for å gjøre det du har tenkt å gjøre. For å f.eks. konsumere meldinger påia-sak-v1
-topicet kan man kjøre kommandoen:kafka-console-consumer --bootstrap-server $KAFKA_BROKERS --consumer.config $KAFKA_CONFIG/kafka.properties --topic "pia.ia-sak-v1"
Spørsmål knyttet til koden eller prosjektet kan stilles som et issue her på GitHub.
Interne henvendelser kan sendes via Slack i kanalen #team-pia.
Dette repoet bruker GitHub Copilot til å generere kode.