Skip to content

Commit 29c5ede

Browse files
authored
Distroless docker (#506)
* Distroless docker * Distroless docker * Distroless docker
1 parent 13ccc36 commit 29c5ede

File tree

3 files changed

+63
-62
lines changed

3 files changed

+63
-62
lines changed

Dockerfile

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1-
FROM ghcr.io/navikt/baseimages/temurin:21
1+
FROM gcr.io/distroless/java21
22
LABEL maintainer="Team Bidrag" \
33
44

5-
COPY init-scripts /init-scripts
6-
ADD ./target/app.jar app.jar
5+
COPY --from=busybox /bin/sh /bin/sh
6+
COPY --from=busybox /bin/printenv /bin/printenv
7+
8+
WORKDIR /app
9+
10+
COPY ./target/app.jar app.jar
711

8-
ENV SPRING_PROFILES_ACTIVE=nais
912
EXPOSE 8080
13+
ARG JDK_JAVA_OPTIONS
14+
ENV LANG=nb_NO.UTF-8 LANGUAGE='nb_NO:nb' LC_ALL=nb_NO.UTF-8 TZ="Europe/Oslo"
15+
ENV SPRING_PROFILES_ACTIVE=nais
16+
ENTRYPOINT ["/bin/sh", "-c", "java $JAVA_PROXY_OPTIONS -jar app.jar"]

pom.xml

+14-14
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.springframework.boot</groupId>
99
<artifactId>spring-boot-starter-parent</artifactId>
10-
<version>3.2.4</version>
10+
<version>3.4.3</version>
1111
<relativePath/> <!-- lookup parent from repository -->
1212
</parent>
1313

@@ -23,21 +23,21 @@
2323

2424
<!-- language -->
2525
<java.version>21</java.version>
26-
<kotlin.version>2.1.0</kotlin.version>
26+
<kotlin.version>2.1.10</kotlin.version>
2727

2828
<!-- dependent versions other than from spring-boot -->
29-
<apache-avro-version>1.11.3</apache-avro-version>
30-
<bidrag-felles.version>2025.02.06.105637</bidrag-felles.version>
29+
<apache-avro-version>1.12.0</apache-avro-version>
30+
<bidrag-felles.version>2025.03.14.124512</bidrag-felles.version>
3131
<commons-codec.version>1.16.0</commons-codec.version>
3232
<graphq-dgs-client.version>8.4.2</graphq-dgs-client.version>
3333
<joark-hendelse.version>67a9be4476b63b7247cfacfaf821ab656bd2a952</joark-hendelse.version>
3434
<kafka-avro-serializer.version>7.5.3</kafka-avro-serializer.version>
35-
<logback-encoder.version>7.4</logback-encoder.version>
35+
<logback-encoder.version>8.0</logback-encoder.version>
3636
<nimbus-jose-jwt.version>9.15.2</nimbus-jose-jwt.version>
37-
<springdoc-openapi-ui.version>2.3.0</springdoc-openapi-ui.version>
38-
<springframework-cloud.version>4.1.1</springframework-cloud.version>
37+
<springdoc-openapi-ui.version>2.8.5</springdoc-openapi-ui.version>
38+
<springframework-cloud.version>4.2.0</springframework-cloud.version>
3939
<squareup.version>4.12.0</squareup.version>
40-
<token-support.version>3.2.0</token-support.version>
40+
<token-support.version>5.0.19</token-support.version>
4141

4242
<!-- build -->
4343
<build-helper-maven.version>3.5.0</build-helper-maven.version>
@@ -70,12 +70,12 @@
7070
<dependency>
7171
<groupId>org.yaml</groupId>
7272
<artifactId>snakeyaml</artifactId>
73-
<version>2.2</version>
73+
<version>2.4</version>
7474
</dependency>
7575
<dependency>
7676
<groupId>org.scala-lang</groupId>
7777
<artifactId>scala-library</artifactId>
78-
<version>2.13.12</version>
78+
<version>2.13.15</version>
7979
</dependency>
8080
<dependency>
8181
<groupId>com.jayway.jsonpath</groupId>
@@ -89,7 +89,7 @@
8989
<dependency>
9090
<groupId>org.jetbrains.kotlinx</groupId>
9191
<artifactId>kotlinx-datetime-jvm</artifactId>
92-
<version>0.5.0</version>
92+
<version>0.6.1</version>
9393
</dependency>
9494
<!-- joark hendelser med avro avhengighet -->
9595
<dependency>
@@ -111,7 +111,7 @@
111111
<dependency>
112112
<groupId>org.apache.commons</groupId>
113113
<artifactId>commons-compress</artifactId>
114-
<version>1.26.1</version>
114+
<version>1.27.1</version>
115115
</dependency>
116116
<dependency>
117117
<groupId>org.apache.avro</groupId>
@@ -229,13 +229,13 @@
229229
<dependency>
230230
<groupId>ch.qos.logback</groupId>
231231
<artifactId>logback-core</artifactId>
232-
<version>1.4.14</version>
232+
<version>1.5.17</version>
233233
</dependency>
234234

235235
<dependency>
236236
<groupId>ch.qos.logback</groupId>
237237
<artifactId>logback-classic</artifactId>
238-
<version>1.4.14</version>
238+
<version>1.5.17</version>
239239
</dependency>
240240

241241
<dependency>

src/main/java/no/nav/bidrag/dokument/arkiv/BidragDokumentArkivConfig.kt

+38-44
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import no.nav.bidrag.dokument.arkiv.service.OppgaveService
3131
import org.slf4j.LoggerFactory
3232
import org.springframework.beans.factory.annotation.Qualifier
3333
import org.springframework.beans.factory.annotation.Value
34-
import org.springframework.boot.web.client.RootUriTemplateHandler
3534
import org.springframework.context.annotation.Bean
3635
import org.springframework.context.annotation.Configuration
3736
import org.springframework.context.annotation.Import
@@ -40,6 +39,7 @@ import org.springframework.http.HttpHeaders
4039
import org.springframework.http.MediaType
4140
import org.springframework.http.client.observation.DefaultClientRequestObservationConvention
4241
import org.springframework.retry.annotation.EnableRetry
42+
import org.springframework.web.util.DefaultUriBuilderFactory
4343

4444
@Configuration
4545
@EnableSecurityConfiguration
@@ -72,7 +72,7 @@ class BidragDokumentArkivConfig {
7272
environmentProperties: EnvironmentProperties,
7373
): SafConsumer {
7474
httpHeaderRestTemplate.uriTemplateHandler =
75-
RootUriTemplateHandler(environmentProperties.safUrl)
75+
DefaultUriBuilderFactory(environmentProperties.safUrl)
7676
httpHeaderRestTemplate.addHeaderGenerator(
7777
HttpHeaders.CONTENT_TYPE,
7878
) { MediaType.APPLICATION_JSON_VALUE }
@@ -86,7 +86,7 @@ class BidragDokumentArkivConfig {
8686
environmentProperties: EnvironmentProperties,
8787
): OppgaveConsumer {
8888
httpHeaderRestTemplate.uriTemplateHandler =
89-
RootUriTemplateHandler(environmentProperties.oppgaveUrl)
89+
DefaultUriBuilderFactory(environmentProperties.oppgaveUrl)
9090
httpHeaderRestTemplate.addHeaderGenerator(
9191
HttpHeaders.CONTENT_TYPE,
9292
) { MediaType.APPLICATION_JSON_VALUE }
@@ -101,7 +101,7 @@ class BidragDokumentArkivConfig {
101101
objectMapper: ObjectMapper?,
102102
): DokarkivConsumer {
103103
httpHeaderRestTemplate.uriTemplateHandler =
104-
RootUriTemplateHandler(environmentProperties.dokarkivUrl)
104+
DefaultUriBuilderFactory(environmentProperties.dokarkivUrl)
105105
httpHeaderRestTemplate.addHeaderGenerator(
106106
HttpHeaders.CONTENT_TYPE,
107107
) { MediaType.APPLICATION_JSON_VALUE }
@@ -117,7 +117,7 @@ class BidragDokumentArkivConfig {
117117
securityTokenService: SecurityTokenService,
118118
): DokdistFordelingConsumer {
119119
httpHeaderRestTemplate.uriTemplateHandler =
120-
RootUriTemplateHandler(environmentProperties.dokdistFordelingUrl)
120+
DefaultUriBuilderFactory(environmentProperties.dokdistFordelingUrl)
121121
httpHeaderRestTemplate.addHeaderGenerator(
122122
HttpHeaders.CONTENT_TYPE,
123123
) { MediaType.APPLICATION_JSON_VALUE }
@@ -136,7 +136,7 @@ class BidragDokumentArkivConfig {
136136
environmentProperties: EnvironmentProperties,
137137
): PersonConsumer {
138138
httpHeaderRestTemplate.uriTemplateHandler =
139-
RootUriTemplateHandler(environmentProperties.bidragPersonUrl + "/bidrag-person")
139+
DefaultUriBuilderFactory(environmentProperties.bidragPersonUrl + "/bidrag-person")
140140
return PersonConsumer(httpHeaderRestTemplate)
141141
}
142142

@@ -145,9 +145,7 @@ class BidragDokumentArkivConfig {
145145
personConsumers: ResourceByDiscriminator<PersonConsumer>,
146146
oppgaveConsumers: ResourceByDiscriminator<OppgaveConsumer>,
147147
saksbehandlerInfoManager: SaksbehandlerInfoManager,
148-
): OppgaveService {
149-
return OppgaveService(personConsumers, oppgaveConsumers, saksbehandlerInfoManager)
150-
}
148+
): OppgaveService = OppgaveService(personConsumers, oppgaveConsumers, saksbehandlerInfoManager)
151149

152150
@Bean
153151
fun endreJournalpostService(
@@ -156,15 +154,13 @@ class BidragDokumentArkivConfig {
156154
dokarkivKnyttTilSakConsumer: DokarkivKnyttTilSakConsumer,
157155
hendelserProducer: HendelserProducer,
158156
saksbehandlerInfoManager: SaksbehandlerInfoManager,
159-
): EndreJournalpostService {
160-
return EndreJournalpostService(
161-
journalpostServices.get(Discriminator.REGULAR_USER),
162-
dokarkivConsumers.get(Discriminator.REGULAR_USER),
163-
dokarkivKnyttTilSakConsumer,
164-
hendelserProducer,
165-
saksbehandlerInfoManager,
166-
)
167-
}
157+
): EndreJournalpostService = EndreJournalpostService(
158+
journalpostServices.get(Discriminator.REGULAR_USER),
159+
dokarkivConsumers.get(Discriminator.REGULAR_USER),
160+
dokarkivKnyttTilSakConsumer,
161+
hendelserProducer,
162+
saksbehandlerInfoManager,
163+
)
168164

169165
@Bean
170166
fun journalpostServices(
@@ -247,7 +243,7 @@ class BidragDokumentArkivConfig {
247243
securityTokenService: SecurityTokenService,
248244
): DokarkivKnyttTilSakConsumer {
249245
httpHeaderRestTemplate.uriTemplateHandler =
250-
RootUriTemplateHandler(environmentProperties.dokarkivKnyttTilSakUrl)
246+
DefaultUriBuilderFactory(environmentProperties.dokarkivKnyttTilSakUrl)
251247
httpHeaderRestTemplate.addHeaderGenerator(
252248
HttpHeaders.CONTENT_TYPE,
253249
) { MediaType.APPLICATION_JSON_VALUE }
@@ -282,7 +278,7 @@ class BidragDokumentArkivConfig {
282278
securityTokenService: SecurityTokenService,
283279
environmentProperties: EnvironmentProperties,
284280
): BidragOrganisasjonConsumer {
285-
httpHeaderRestTemplate.uriTemplateHandler = RootUriTemplateHandler(
281+
httpHeaderRestTemplate.uriTemplateHandler = DefaultUriBuilderFactory(
286282
environmentProperties.bidragOrganisasjonUrl + "/bidrag-organisasjon",
287283
)
288284
httpHeaderRestTemplate
@@ -329,30 +325,28 @@ class BidragDokumentArkivConfig {
329325
val bidragPersonUrl: String,
330326
val bidragOrganisasjonUrl: String,
331327
) {
332-
override fun toString(): String {
333-
return (
334-
"dokarkivUrl='" +
335-
dokarkivUrl +
336-
'\'' +
337-
", safUrl='" +
338-
safUrl +
339-
'\'' +
340-
", bidragPersonUrl='" +
341-
bidragPersonUrl +
342-
'\'' +
343-
", dokarkivKnyttTilSakUrl='" +
344-
dokarkivKnyttTilSakUrl +
345-
'\'' +
346-
", securityTokenUrl='" +
347-
securityTokenUrl +
348-
'\'' +
349-
", bidragOrganisasjonUrl='" +
350-
bidragOrganisasjonUrl +
351-
'\'' +
352-
", naisAppName='" +
353-
naisAppName
354-
)
355-
}
328+
override fun toString(): String = (
329+
"dokarkivUrl='" +
330+
dokarkivUrl +
331+
'\'' +
332+
", safUrl='" +
333+
safUrl +
334+
'\'' +
335+
", bidragPersonUrl='" +
336+
bidragPersonUrl +
337+
'\'' +
338+
", dokarkivKnyttTilSakUrl='" +
339+
dokarkivKnyttTilSakUrl +
340+
'\'' +
341+
", securityTokenUrl='" +
342+
securityTokenUrl +
343+
'\'' +
344+
", bidragOrganisasjonUrl='" +
345+
bidragOrganisasjonUrl +
346+
'\'' +
347+
", naisAppName='" +
348+
naisAppName
349+
)
356350
}
357351

358352
companion object {

0 commit comments

Comments
 (0)