Skip to content
This repository has been archived by the owner on Jan 15, 2025. It is now read-only.

Commit

Permalink
Bruk beregning modul fra felles repo og fjern overført kode (#208)
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 authored Jan 16, 2024
1 parent 384b71a commit 1aebea5
Show file tree
Hide file tree
Showing 53 changed files with 98 additions and 2,568 deletions.
2 changes: 0 additions & 2 deletions .nais/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,3 @@ azure_access_inbound:
cluster: dev-gcp
unsecured:
bidragsjablon_url: bidrag-sjablon.dev-fss-pub.nais.io
bidragsjablon_scope: dev-fss.bidrag.bidrag-sjablon

6 changes: 2 additions & 4 deletions .nais/nais.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,12 @@ spec:
cpu: 1000m
memory: 1024Mi
requests:
cpu: 500m
cpu: 50m
memory: 512Mi
ingresses:
{{#each ingresses as |url|}}
- {{url}}
{{/each}}
env:
- name: BIDRAGSJABLON_URL
- name: BIDRAG_SJABLON_URL
value: https://{{ unsecured.bidragsjablon_url }}/bidrag-sjablon
- name: BIDRAGSJABLON_SCOPE
value: {{ unsecured.bidragsjablon_scope }}
2 changes: 0 additions & 2 deletions .nais/prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,3 @@ azure_access_inbound:
cluster: prod-gcp
unsecured:
bidragsjablon_url: bidrag-sjablon.prod-fss-pub.nais.io
bidragsjablon_scope: prod-fss.bidrag.bidrag-sjablon

2 changes: 1 addition & 1 deletion initLocalEnv.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
kubectl config use dev-gcp
kubectl exec -n=bidrag --tty deployment/bidrag-beregn-forskudd-rest printenv | grep -E 'AZURE_|_URL|SCOPE' > src/test/resources/application-lokal-nais-secrets.properties
kubectl exec -n=bidrag --tty deployment/bidrag-beregn-forskudd-rest printenv | grep -E 'AZURE_|_URL|SCOPE' > src/main/resources/application-lokal-nais-secrets.properties
162 changes: 15 additions & 147 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,13 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<!-- dependencies -->
<bidrag-commons.version>20231201131246_f719b2b</bidrag-commons.version>
<bidrag-commons-test.version>1.20230511093912_dc35d81</bidrag-commons-test.version>
<bidrag-beregn-forskudd-core.version>1.2.1</bidrag-beregn-forskudd-core.version>
<bidrag-transport.version>20240103144324_9f5809f</bidrag-transport.version>
<bidrag-beregn-felles.version>2024.01.16.101302</bidrag-beregn-felles.version>
<springdoc-openapi-ui.version>2.3.0</springdoc-openapi-ui.version>
<wiremock-standalone.version>2.35.1</wiremock-standalone.version>
<springframework-cloud.version>4.1.0</springframework-cloud.version>
<token-support.version>3.2.0</token-support.version>
<com.squareup.okhttp3.version>4.12.0</com.squareup.okhttp3.version>
<okhttp3.version>4.9.2</okhttp3.version>
<mockito-kotlin.version>5.2.1</mockito-kotlin.version>
<kotest.version>5.8.0</kotest.version>
<mockk.version>4.0.2</mockk.version>
<!-- language -->
<java.version>21</java.version>
<kotlin.version>1.9.22</kotlin.version>
Expand All @@ -48,39 +42,11 @@
</repository>
</repositories>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>no.nav.bidrag</groupId>
<artifactId>bidrag-beregn-forskudd-core</artifactId>
<version>${bidrag-beregn-forskudd-core.version}</version>
</dependency>

<dependency>
<groupId>no.nav.bidrag</groupId>
<artifactId>bidrag-commons</artifactId>
<version>${bidrag-commons.version}</version>
</dependency>

<dependency>
<groupId>no.nav.bidrag</groupId>
<artifactId>bidrag-transport</artifactId>
<version>${bidrag-transport.version}</version>
</dependency>

<dependency>
<groupId>no.nav.security</groupId>
<artifactId>token-client-spring</artifactId>
<version>${token-support.version}</version>
<artifactId>bidrag-beregn-forskudd</artifactId>
<version>${bidrag-beregn-felles.version}</version>
</dependency>

<dependency>
Expand All @@ -89,25 +55,11 @@
<version>${token-support.version}</version>
</dependency>

<!-- test -->
<dependency>
<groupId>no.nav.bidrag</groupId>
<artifactId>bidrag-commons-test</artifactId>
<version>${bidrag-commons-test.version}</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<dependency>
<groupId>org.mockito.kotlin</groupId>
<artifactId>mockito-kotlin</artifactId>
<version>${mockito-kotlin.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
Expand All @@ -116,43 +68,28 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

<dependency>
<groupId>no.nav.security</groupId>
<artifactId>token-validation-spring-test</artifactId>
<version>${token-support.version}</version>
<scope>test</scope>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

<!-- kotlin -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>

<!-- prometheus -->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-core</artifactId>
</dependency>

<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

<!-- swagger -->
<dependency>
<groupId>org.springdoc</groupId>
Expand All @@ -168,73 +105,11 @@
<optional>true</optional>
</dependency>

<!-- test scope -->
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock-jre8-standalone</artifactId>
<version>${wiremock-standalone.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
<version>${springframework-cloud.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit5</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.kotest</groupId>
<artifactId>kotest-assertions-core-jvm</artifactId>
<version>${kotest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.ninja-squad</groupId>
<artifactId>springmockk</artifactId>
<version>${mockk.version}</version>
<scope>test</scope>
</dependency>

</dependencies>

<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
Expand All @@ -253,19 +128,12 @@
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
</args>
<jvmTarget>17</jvmTarget>
<jvmTarget>21</jvmTarget>
<compilerPlugins>
<plugin>spring</plugin>
</compilerPlugins>
Expand Down Expand Up @@ -324,7 +192,7 @@
<dependency>
<groupId>com.pinterest.ktlint</groupId>
<artifactId>ktlint-cli</artifactId>
<version>1.1.0</version>
<version>1.1.1</version>
</dependency>
<!-- additional 3rd party ruleset(s) can be specified here -->
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,24 +7,16 @@ import io.swagger.v3.oas.annotations.enums.SecuritySchemeType
import io.swagger.v3.oas.annotations.info.Info
import io.swagger.v3.oas.annotations.security.SecurityRequirement
import io.swagger.v3.oas.annotations.security.SecurityScheme
import no.nav.bidrag.beregn.forskudd.core.ForskuddCore
import no.nav.bidrag.beregn.forskudd.rest.consumer.SjablonConsumer
import no.nav.bidrag.commons.CorrelationId
import no.nav.bidrag.commons.ExceptionLogger
import io.swagger.v3.oas.models.examples.Example
import no.nav.bidrag.beregn.forskudd.BeregnForskuddApi
import no.nav.bidrag.commons.web.CorrelationIdFilter
import no.nav.bidrag.commons.web.DefaultCorsFilter
import no.nav.bidrag.commons.web.HttpHeaderRestTemplate
import no.nav.bidrag.commons.web.UserMdcFilter
import org.springframework.beans.factory.annotation.Value
import org.springframework.boot.web.client.RootUriTemplateHandler
import org.springdoc.core.customizers.OpenApiCustomizer
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.Import
import org.springframework.context.annotation.Scope
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
import org.springframework.web.client.RestTemplate

const val LIVE_PROFILE = "live"

@Configuration
@OpenAPIDefinition(
Expand All @@ -37,36 +29,8 @@ const val LIVE_PROFILE = "live"
scheme = "bearer",
type = SecuritySchemeType.HTTP,
)
@Import(CorrelationIdFilter::class, UserMdcFilter::class, DefaultCorsFilter::class)
@Import(CorrelationIdFilter::class, UserMdcFilter::class, DefaultCorsFilter::class, BeregnForskuddApi::class)
class BeregnForskuddConfig {
@Bean
fun forskuddCore(): ForskuddCore {
return ForskuddCore.getInstance()
}

@Bean
@Scope("prototype")
fun restTemplate(): HttpHeaderRestTemplate {
val httpHeaderRestTemplate = HttpHeaderRestTemplate()
httpHeaderRestTemplate.addHeaderGenerator(CorrelationIdFilter.CORRELATION_ID_HEADER) { CorrelationId.fetchCorrelationIdForThread() }
return httpHeaderRestTemplate
}

@Bean
fun sjablonConsumer(@Value("\${BIDRAGSJABLON_URL}") sjablonBaseUrl: String, restTemplate: RestTemplate): SjablonConsumer {
restTemplate.uriTemplateHandler = RootUriTemplateHandler(sjablonBaseUrl)
return SjablonConsumer(restTemplate)
}

@Bean
fun exceptionLogger(): ExceptionLogger {
return ExceptionLogger(BidragBeregnForskudd::class.java.simpleName)
}

@Bean
fun correlationIdFilter(): CorrelationIdFilter {
return CorrelationIdFilter()
}

@Bean
fun jackson2ObjectMapperBuilder(): Jackson2ObjectMapperBuilder {
Expand All @@ -75,4 +39,13 @@ class BeregnForskuddConfig {
.failOnUnknownProperties(false)
.serializationInclusion(JsonInclude.Include.NON_NULL)
}

@Bean
fun openApiCustomiser(examples: Collection<Example>): OpenApiCustomizer {
return OpenApiCustomizer { openAPI ->
examples.forEach { example ->
openAPI.components.addExamples(example.description, example)
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,16 @@ package no.nav.bidrag.beregn.forskudd.rest

import no.nav.bidrag.commons.web.DefaultCorsFilter
import no.nav.security.token.support.spring.api.EnableJwtTokenValidation
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.boot.SpringApplication
import org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Import

@SpringBootApplication(exclude = [SecurityAutoConfiguration::class, ManagementWebSecurityAutoConfiguration::class])
@EnableJwtTokenValidation(ignore = ["org.springframework", "org.springdoc"])
@Import(
DefaultCorsFilter::class,
)
@Import(DefaultCorsFilter::class)
class BidragBeregnForskudd

const val ISSUER = "aad"
val SECURE_LOGGER: Logger = LoggerFactory.getLogger("secureLogger")

fun main(args: Array<String>) {
val profile = if (args.isEmpty()) LIVE_PROFILE else args[0]
val app = SpringApplication(BidragBeregnForskudd::class.java)
app.setAdditionalProfiles(profile)
app.run(*args)
runApplication<BidragBeregnForskudd>(*args)
}
Loading

0 comments on commit 1aebea5

Please sign in to comment.