Skip to content

Commit

Permalink
Feature/sommeroppgave app (#3532)
Browse files Browse the repository at this point in the history
* Lagt til app for levende arbeidsforhold
#deploy-levende-arbeidsforhold-service

* Liten folder fix
#deploy-levende-arbeidsforhold-service

* Liten name fix
#deploy-levende-arbeidsforhold-service

* Liten name fix
#deploy-levende-arbeidsforhold-service

* Revertert endringer i generer-navn-service
#deploy-levende-arbeidsforhold-service

* #deploy-levende-arbeidsforhold-service

* test tilgang

* Fungerer å kjøre lokalt

* Fjernet develocity

* renamet applikasjonen

* Lagt til KafkaConfig.java

* Test tilgang

* Lagt til kafke implementation

* Lagt til kafke implementationLagt til settings

* Kommentert ut //    implementation 'io.confluent:kafka-avro-serializer:7.5.1' i build.gradle

* Kommentert ut //    implementation 'io.confluent:kafka-avro-serializer:7.5.1' i build.gradle

* Fungerer

* FUNGERER

* #deploy-levende-arbeidsforhold-service

* #deploy-levende-arbeidsforhold-service

* Fjerne ubrukt kode fra template

* Start på å hente PDL hendelser

* Slettet ting som var til generer navn service

* Spring module method helloworld

* La til annotation i DoedsfallListener.java

* La til kafka group id i application.yaml og eventlistener

* Add dev .yml file and changes to KafkaConfig.java
#deploy-levende-arbeidsforhold-service

* Endret typo for KafkaConfig group-id
#deploy-levende-arbeidsforhold-service

* Troubleshooting fikse logger, endre til =dev i Dockerfile
#deploy-levende-arbeidsforhold-service

* Troubleshooting fikse logger, endre til =prod i Dockerfile
#deploy-levende-arbeidsforhold-service

* Fjernet Profile("dev") i listener filen
#deploy-levende-arbeidsforhold-service

* Fjernet Profile("dev") i KafkaConfig.java filen
#deploy-levende-arbeidsforhold-service

* Endret til Profile("dev", "prod") i KafkaConfig.java filen
#deploy-levende-arbeidsforhold-service

* Kommenterer ut logging som spammer elastic
#deploy-levende-arbeidsforhold-service

* Init skrive ut records
#deploy-levende-arbeidsforhold-service

* Kopier over .avdl-filer fra pdl-repoet

* Slettet .avdl-filer, la til .avsc-filer

* Endre objekt-type til records

* Skriver ut records

* Skriver ut records
#deploy-levende-arbeidsforhold-service

* Lagt til Consumers.java

* Lagt til HentArbeidsforholdCommand.java

* Lagt til HentArbeidsforholdConsumer.java

* Lagt service mappe og laget en tom service klasse

* Se om consumer fungerer nåt deployet #deploy-levende-arbeidsforhold-service

* Se om consumer fungerer nåt deployet

* Se om jeg får kjørt consumer #deploy

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Forandret fra å logge token

* Forandret fra å logge token #deploy-levende-arbeidsforhold-service

* Lagt til controller

* Skriver ut kun doedsfall
#deploy-levende-arbeidsforhold-service

* Skriver ut til konsoll når dødsfall-hendelser forekommer

* La til en tilfeldig suffix for group-id sånn at vi ikke kun har 1 konsument

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Tror at man får hentet arbeidsforhold

* Lagt til endre arbeidsforhold command og consumer

* Lagt til endre arbeidsforhold command og consumer

* Lagt til endre arbeidsforhold command og consumer

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Se om jeg får kjørt consumer #deploy-levende-arbeidsforhold-service

* Forandret fra å logge token

* Forandret fra å logge token #deploy-levende-arbeidsforhold-service

* Rebaset forandringen

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Tror at man får hentet arbeidsforhold

* Limet fra endre-arbeidsforhold

* Lagt inn standalone.insecure

* Limt inn fra endre-arbeidsforhold

* Limt inn fra endre-arbeidsforhold

* Limt inn fra endre-arbeidsforhold

* Endret fra ArbeidsforholdDTO til Arbeidsforhold klassen

* Prøvet å lage en EndreArbeidsforholdCommand

* La to EndreArbeidsforholdCommand i HentArbeidsforholdConsumer.java og endret navnet til AaregConsumer.java

* Lagt til endre arbeidsforhold command og consumer

* Forandret fra å logge token #deploy-levende-arbeidsforhold-service

* Rebaset forandringen

* Fått hjelp av Stian #deploy-levende-arbeidsforhold-service

* Limt inn fra endre-arbeidsforhold

* Endret fra ArbeidsforholdDTO til Arbeidsforhold klassen

* Må endre i EndreArbeidsforholdCommand.java

* Sender spørring med aktørid

* Endret fra ArbeidsforholdDTO til Arbeidsforhold

* Setter opp riktig endepunkt ved bruk av proxy

* Lager metode for å håndtere arbeidsforhold ved dødsfall

* Avslutter nå alle arbeidsforhold for en person på dødsfall

* Endret EndreArbeidsforholdCommand.java til å logge annerledes slik at det er lettere å sjekke hvor feilen kommer fra

* Nå kræsjer den ikke

* Forandret put meldingen

* La til ny/riktig Arbeidsforhold klasse

* Forandre til put meldingen til å ha header

* Endrer arbeidsforhold med gyldig sluttårsak- og varslings-kode

* Legger til toString for Arbeidsforhold

* Forandret EndreArbeidsforholdCommand.java slik at den ikke gir feilmelding

* Fungerer å endrearbeidsforhold. Endret put kallet i EndreArbeidsforholdCommand.java.

* La til .subscribe()

* Rydder opp og fjerner ubrukte filer

* Legger til SupressWarning på SonarCloud

* Fjernet logging av suksess-scenarier. Logger kun for feilscenarier
#deploy-levende-arbeidsforhold-service

* La til doxygen dokumentasjon for /listener mappen

* Skrev readme for /domain.v1 folderen

* Deployer for å se feilmeldinger #deploy-levende-arbeidsforhold-service

* Legger til sjekk om arbeidsforholdet allerede er avsluttet

* Lagt til outbound.external.host: testnav-aareg-proxy.dev-fss-pub.nais.io i config,.yml

* Lagt på lenger maxLength av stacktrace og prøver mindre endringer for KafkaConfig
#deploy-levende-arbeidsforhold-service

* Lagt på lenger maxLength av stacktrace og prøver mindre endringer for KafkaConfig
#deploy-levende-arbeidsforhold-service

* Whoops
#deploy-levende-arbeidsforhold-service

* Revert "Whoops"

This reverts commit 05647ef.

* Revert "Lagt på lenger maxLength av stacktrace og prøver mindre endringer for KafkaConfig"

This reverts commit fcb7890.

* Revert "Lagt på lenger maxLength av stacktrace og prøver mindre endringer for KafkaConfig"

This reverts commit 07d8748.

* Lagt til kafka.groupid i config.yml #deploy-levende-arbeidsforhold-service

* lagt til pool i application.yml #deploy-levende-arbeidsforhold-service

* Fjernet det jeg gjorde #deploy-levende-arbeidsforhold-service

* Deployer hoved-branch
#deploy-levende-arbeidsforhold-service

* Refactor application dependencies and configs #deploy-levende-arbeidsforhold-service

Removed unnecessary dependencies and configuration entries across multiple files for better clarity and efficiency. Updated dependency paths and module includes to align with the current project structure.

* Remove @AllArgsConstructor annotations from domain classes
#deploy-levende-arbeidsforhold-service

This commit removes the @AllArgsConstructor annotations from several domain classes, including Gyldighetsperiode, Person, and Arbeidsavtale among others. The decision to remove these constructors may be aimed at simplifying object creation or enforcing the use of builder patterns.

* Switch to SecureRandom for consumer group ID generation

This commit replaces Math.random() with SecureRandom for generating random suffixes for Kafka consumer group IDs. This change improves the security and unpredictability of generated IDs in the KafkaConfig class.

---------

Co-authored-by: stigus <stian.gustavsson@nav.no>
Co-authored-by: Andrea Devold Fjeld <andrea.devold.fjeld@gmail.com>
Co-authored-by: Andrea Devold Fjeld <solveig.andrea.devold.fjeld@nav.no>
Co-authored-by: Martine.Erdal.Mansaker <martine.erdal.mansaker@nav.no>
Co-authored-by: kristenhaerum <kristen.herum@nav.no>
  • Loading branch information
6 people authored Aug 14, 2024
1 parent 154afe5 commit b77ff6f
Show file tree
Hide file tree
Showing 58 changed files with 2,556 additions and 3 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/app.levende-arbeidsforhold-service.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: levende-arbeidsforhold-service

on:
push:
paths:
- libs/kafka-config/**
- libs/avro-schema/**
- libs/security-core/**
- libs/servlet-core/**
- libs/servlet-insecure-security/**
- libs/reactive-core/**
- apps/levende-arbeidsforhold-service/**
- .github/workflows/app.levende-arbeidsforhold-service.yml

jobs:
workflow:
uses: ./.github/workflows/common.workflow.backend.yml
with:
working-directory: "apps/levende-arbeidsforhold-service"
deploy-tag: "#deploy-levende-arbeidsforhold-service"
permissions:
contents: read
id-token: write
secrets: inherit
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,10 @@ consumers:
namespace: dolly
url: https://testnav-aareg-proxy.dev-fss-pub.nais.io
cluster: dev-fss

spec:
azure:
application:
enabled: true
management:
endpoints:
enabled-by-default: true
Expand Down
8 changes: 8 additions & 0 deletions apps/levende-arbeidsforhold-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM ghcr.io/navikt/baseimages/temurin:21
LABEL maintainer="Team Dolly"

ENV JAVA_OPTS="-Dspring.profiles.active=prod"

ADD /build/libs/app.jar /app/app.jar

EXPOSE 8080
26 changes: 26 additions & 0 deletions apps/levende-arbeidsforhold-service/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Levende arbeidsforhold-service

Fyll inn:

## Swagger

Swagger finnes under [/swagger](https://levende-arbeidsforhold-service.intern.dev.nav.no/swagger) -endepunktet til
applikasjonen.

## Lokal kjøring

Ha naisdevice kjørende og kjør GenererNavnServiceApplicationStarter med følgende argumenter:

```
-Dspring.cloud.vault.token=[vault-token]
-Dspring.profiles.active=dev
```

### Utviklerimage

I utviklerimage brukes ikke naisdevice og du må legge til følgende ekstra argumenter:

```
-Djavax.net.ssl.trustStore=[path til lokal truststore]
-Djavax.net.ssl.trustStorePassword=[passord til lokal truststore]
```
84 changes: 84 additions & 0 deletions apps/levende-arbeidsforhold-service/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
plugins {
id 'java'
id "org.sonarqube" version "5.0.0.4638"
id 'org.springframework.boot' version "3.2.6"
id 'io.spring.dependency-management' version "1.1.5"
id "jacoco"
}

test {
useJUnitPlatform()
}

sonarqube {
properties {
property "sonar.dynamicAnalysis", "reuseReports"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.java.coveragePlugin", "jacoco"
property "sonar.language", "java"
property "sonar.token", System.getenv("SONAR_TOKEN")
property "sonar.organization", "navikt"
property "sonar.project.monorepo.enabled", true
property "sonar.projectKey", "testnav-levende-arbeidsforhold-service"
property "sonar.projectName", "testnav-levende-arbeidsforhold-service"
property "sonar.sourceEncoding", "UTF-8"
}
}
bootJar {
archiveFileName = "app.jar"
}

dependencyManagement {
applyMavenExclusions = false
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:2023.0.1'
}
}

repositories {
mavenCentral()
mavenLocal()
maven {
url = uri('https://packages.confluent.io/maven/')
}
}

dependencies {
implementation 'no.nav.testnav.libs:avro-schema'
implementation 'no.nav.testnav.libs:kafka-config'
implementation 'no.nav.testnav.libs:security-core'
implementation 'no.nav.testnav.libs:servlet-insecure-security'
implementation 'no.nav.testnav.libs:servlet-core'
implementation 'no.nav.testnav.libs:reactive-core'

implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
implementation 'org.springframework.boot:spring-boot-starter-security'

implementation 'org.springframework.cloud:spring-cloud-starter-vault-config'
implementation 'org.springframework.boot:spring-boot-starter-actuator'

implementation 'io.micrometer:micrometer-registry-prometheus'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0'
implementation 'io.swagger.core.v3:swagger-annotations-jakarta:2.2.21'

implementation 'net.logstash.logback:logstash-logback-encoder:7.4'
implementation 'org.hibernate.validator:hibernate-validator'

testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.cloud:spring-cloud-contract-wiremock'

implementation 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'

implementation 'org.apache.kafka:kafka-clients:3.7.0'
implementation 'io.confluent:kafka-avro-serializer:7.6.0'
implementation 'org.springframework.kafka:spring-kafka'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
51 changes: 51 additions & 0 deletions apps/levende-arbeidsforhold-service/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: "nais.io/v1alpha1"
kind: "Application"
metadata:
name: testnav-levende-arbeidsforhold-service
namespace: dolly
labels:
team: dolly
spec:
image: "{{image}}"
port: 8080
accessPolicy:
inbound:
rules:
- application: team-dolly-lokal-app
cluster: dev-gcp
- application: testnav-oversikt-frontend
cluster: dev-gcp
outbound:
external:
- host: testnav-aareg-proxy.dev-fss-pub.nais.io
azure:
application:
allowAllUsers: true
enabled: true
tenant: nav.no
liveness:
path: /internal/isAlive
initialDelay: 4
periodSeconds: 5
failureThreshold: 500
readiness:
path: /internal/isReady
initialDelay: 4
periodSeconds: 5
failureThreshold: 500
prometheus:
enabled: true
path: /internal/metrics
replicas:
min: 1
max: 1
resources:
requests:
cpu: 200m
memory: 1024Mi
limits:
memory: 2048Mi
kafka:
pool: nav-dev
ingresses:
- "https://testnav-levende-arbeidsforhold-service.intern.dev.nav.no"
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit b77ff6f

Please sign in to comment.