1. Applikasjoner

1.1. State of the union

1.1.1. Repo og CI

Er appen på github? Er github actions i orden?

Kode og build på GitHub
On-prem GHA runner
Lag mono-repo av sakogbehandling og sob-proxy

1.1.2. SW avhengigheter

Legg inn bruk av rammeverk, biblioteker osv som vi i teamet ikke standardiserer videre på?

Java 1.7
Gamle pakker generelt
Avhengig av Nexus/OnPrem maven

1.1.3. Plattform

Mangler rundt riktig bruk av nais plattform. Veien ut til GCP, secret management, zero trust

Kjører i FSS
Ikke på NAIS
Deploy til både Q0 og Q1

1.1.4. Lokalutvikling

Mangler rundt Lokalutvikling

Ok

1.1.5. Tjenester

Uønskede avhengigheter til ABAC, OPENAM, legacy systemer, MQ, eller konsumenter som bruker oss feil: usikrede APIer, SOAP, …​

MQ server
TokenService

1.1.6. Persistering

Databaser og køer. Problematikk rundt dette legges inn her

Oracle

1.1.7. Overvåkning

Logger, metrikker og alerts. Problematikk rundt manglende oversikt settes inn her

Logging, alerts, metrikker og monitorering må gås igjennom og dokumenteres

1.1.8. Sikkerhet

Legg inn mangler rundt dependency checking som snyk, dependabot, bruk av usikre biblioteker eller teknikker

Trenger gjennomgang
Oppsett og oppfølging av dependabot/Snyk

1.2. Rammeverk og Versjoner

back-end
  • Java 8

  • JEE 7

  • Spring 3.2

  • Tokensupport/modig security

  • Hibernate/Spring data

1.2.1. Maven depenency versioner

mvn versions:display-property-updates

per 03.05.2022

The following version properties are referencing the newest available version:
  ${dozer.version} .............................................. 5.5.1
  ${hendelsehandterer.meldingsdefinisjon.version} ............... 1.1.0
  ${ibm.dhbcore.version} .......................................... 7.0
  ${ibm.mqjms.version} ............................................ 7.0
  ${jgitflow-maven-plugin.version} ........................... 1.0-m5.1
  ${opencsv.version} .............................................. 2.3
  ${sobproxy.meldingsdefinisjon.version} ........................ 1.1.0

The following version property updates are available:
  ${com.sun.xml.bind.jaxb-impl.version} ............. 2.2.6 -> 4.0.0-M4
  ${commons-logging.version} ............. 1.1.1 -> 99.0-does-not-exist
  ${cxf.version} ...................................... 2.7.5 -> 2.7.18
  ${flyway.core.version} ................................. 2.0 -> 2.3.1
  ${h2.version} .................................... 1.2.137 -> 2.1.212
  ${hamcrest.version} .................................... 1.2.1 -> 2.2
  ${hibernate.jpa.version} ........ 1.0.1.Final -> 1.0.1.Final-redhat-2
  ${hibernate.version} .................... 4.2.1.Final -> 6.0.0.Alpha7
  ${ibm.com-ibm-mqjms.version} ............................. 6.1 -> 7.0
  ${javax-inject.version} ............................. 1 -> 1-redhat-1
  ${jee.version} ......................................... 7.0 -> 8.0.1
  ${joda-time.version} ................................. 2.1 -> 2.10.14
  ${junit.version} ..................................... 4.11 -> 4.13.2
  ${logback.version} .......................... 1.0.13 -> 1.3.0-alpha14
  ${mockito.version} ................................... 1.9.5 -> 4.5.1
  ${modig-core.version} ........................ 1.0.1 -> 2.0.0-alpha.1
  ${modig-log.version} ................................. 1.1.2 -> 1.1.3
  ${modig-security.version} ........................... 1.0.13 -> 3.0.6
  ${ojdbc.version} ............................. 11.2.0.2.0 -> 12.1.0.2
  ${resteasy.version} ...................... 3.1.4.Final -> 4.0.0.Beta5
  ${sbl-felles.version} ................................... 3.9 -> 3.30
  ${slf4j.version} .............................. 1.7.5 -> 2.0.0-alpha7
  ${spring-data.version} ........................ 1.0.0.RC4 -> 2.0.0.M1
  ${spring.version} ........................... 3.2.3.RELEASE -> 5.3.19
  ${springockito-annotations.version} .................. 1.0.8 -> 1.0.9
  ${springockito.version} .............................. 1.0.5 -> 1.0.9
  ${stax2-api.version} ................................. 3.1.1 -> 4.2.1
  ${wsdl4j.version} ........................... 1.6.3 -> 1.6.3.redhat-1

1.3. Build og deploy

Prosjektet er satt opp til fortsatt bruke onprem Nexus (repo.adeo.no) som Maven repo. Bygg kan kjøres lokalt med Naisdevice

For å bygge og deploye er det satt opp en egen OnPrem GitHub action runner (https://github.com/navikt/team-org-github-runnerkubectl get pods -l app=sobproxy-gh-runner) for å kunne bygge med OnPrem Nexus repo, og lage Aura Deploy issue i Jira. Merk at hvis GH runneren er redeployet tar første build veldig lang tid (10min+) siden SobProxy trenger å laste ned JDK7 som ikke finnes i GH runneren sin container.

Bygg startes manuelt på GitHub ved å kjøre deploy workflow (https://github.com/navikt/sobproxy/actions/workflows/deploy.yml). Denne spør om miljø det skal deployes til - og/eller q0/q1

For å deploye til prod er det fortsatt manuelt ved å lage jira PROD issue (eks: https://jira.adeo.no/browse/PROD-17610) og DEPLOY issue (https://jira.adeo.no/browse/DEPLOY-409374)

1.4. Versjonering

SemVer versjonering ser ikke ut til å funke enda. Fikser senere, kanskje…​