Skip to content

Commit d586056

Browse files
authored
IS-2765: Bruke felles Aiven-cache (#556)
1 parent b3c7148 commit d586056

15 files changed

+62
-172
lines changed

.github/workflows/redis.yaml

-30
This file was deleted.

.nais/naiserator-dev.yaml

+3-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ spec:
7171
rules:
7272
- application: digdir-krr-proxy
7373
namespace: team-rocket
74-
- application: isdialogmote-redis
7574
- application: ispdfgen
7675
- application: isnarmesteleder
7776
- application: isoppfolgingstilfelle
@@ -85,19 +84,19 @@ spec:
8584
claims:
8685
extra:
8786
- "NAVident"
87+
redis:
88+
- instance: cache
89+
access: readwrite
8890
tokenx:
8991
enabled: true
9092
envFrom:
9193
- secret: isdialogmote-serviceuser
92-
- secret: isdialogmote-redis-password
9394
- secret: isdialogmote-altinnuser
9495
kafka:
9596
pool: nav-dev
9697
env:
9798
- name: KTOR_ENV
9899
value: production
99-
- name: REDIS_HOST
100-
value: "isdialogmote-redis.teamsykefravr.svc.cluster.local"
101100
- name: DOKARKIV_CLIENT_ID
102101
value: "dev-fss.teamdokumenthandtering.dokarkiv-q1"
103102
- name: DOKARKIV_URL

.nais/naiserator-prod.yaml

+3-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ spec:
7171
rules:
7272
- application: digdir-krr-proxy
7373
namespace: team-rocket
74-
- application: isdialogmote-redis
7574
- application: ispdfgen
7675
- application: isnarmesteleder
7776
- application: isoppfolgingstilfelle
@@ -85,19 +84,19 @@ spec:
8584
claims:
8685
extra:
8786
- "NAVident"
87+
redis:
88+
- instance: cache
89+
access: readwrite
8890
tokenx:
8991
enabled: true
9092
envFrom:
9193
- secret: isdialogmote-serviceuser
92-
- secret: isdialogmote-redis-password
9394
- secret: isdialogmote-altinnuser
9495
kafka:
9596
pool: nav-prod
9697
env:
9798
- name: KTOR_ENV
9899
value: "production"
99-
- name: REDIS_HOST
100-
value: "isdialogmote-redis.teamsykefravr.svc.cluster.local"
101100
- name: DOKARKIV_CLIENT_ID
102101
value: "prod-fss.teamdokumenthandtering.dokarkiv"
103102
- name: DOKARKIV_URL

.nais/redis-config.yaml

-33
This file was deleted.

.nais/redisexporter.yaml

-35
This file was deleted.

src/main/kotlin/no/nav/syfo/App.kt

+9-8
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,7 @@ import no.nav.syfo.testdata.reset.kafka.kafkaTestdataResetConsumerConfig
5353
import org.apache.kafka.clients.consumer.KafkaConsumer
5454
import org.apache.kafka.clients.producer.KafkaProducer
5555
import org.slf4j.LoggerFactory
56-
import redis.clients.jedis.JedisPool
57-
import redis.clients.jedis.JedisPoolConfig
58-
import redis.clients.jedis.Protocol
56+
import redis.clients.jedis.*
5957

6058
const val applicationPort = 8080
6159

@@ -76,14 +74,17 @@ fun main() {
7674
kafkaEsyfovarselConfig(environment.kafka)
7775
),
7876
)
79-
77+
val redisConfig = environment.redisConfig
8078
val cache = RedisStore(
8179
JedisPool(
8280
JedisPoolConfig(),
83-
environment.redisHost,
84-
environment.redisPort,
85-
Protocol.DEFAULT_TIMEOUT,
86-
environment.redisSecret
81+
HostAndPort(redisConfig.host, redisConfig.port),
82+
DefaultJedisClientConfig.builder()
83+
.ssl(redisConfig.ssl)
84+
.user(redisConfig.redisUsername)
85+
.password(redisConfig.redisPassword)
86+
.database(redisConfig.redisDB)
87+
.build()
8788
)
8889
)
8990

src/main/kotlin/no/nav/syfo/application/ApplicationEnvironment.kt

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package no.nav.syfo.application
22

33
import io.ktor.server.application.*
4+
import no.nav.syfo.application.cache.RedisConfig
5+
import java.net.URI
46
import java.time.LocalDate
57

68
data class Environment(
@@ -27,9 +29,12 @@ data class Environment(
2729
aivenTruststoreLocation = getEnvVar("KAFKA_TRUSTSTORE_PATH"),
2830
aivenKeystoreLocation = getEnvVar("KAFKA_KEYSTORE_PATH"),
2931
),
30-
val redisHost: String = getEnvVar("REDIS_HOST"),
31-
val redisPort: Int = getEnvVar("REDIS_PORT", "6379").toInt(),
32-
val redisSecret: String = getEnvVar("REDIS_PASSWORD"),
32+
val redisConfig: RedisConfig = RedisConfig(
33+
redisUri = URI(getEnvVar("REDIS_URI_CACHE")),
34+
redisDB = 7, // se https://github.com/navikt/istilgangskontroll/blob/master/README.md
35+
redisUsername = getEnvVar("REDIS_USERNAME_CACHE"),
36+
redisPassword = getEnvVar("REDIS_PASSWORD_CACHE"),
37+
),
3338
val isdialogmoteDbHost: String = getEnvVar("NAIS_DATABASE_ISDIALOGMOTE_ISDIALOGMOTE_DB_HOST"),
3439
val isdialogmoteDbPort: String = getEnvVar("NAIS_DATABASE_ISDIALOGMOTE_ISDIALOGMOTE_DB_PORT"),
3540
val isdialogmoteDbName: String = getEnvVar("NAIS_DATABASE_ISDIALOGMOTE_ISDIALOGMOTE_DB_DATABASE"),
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package no.nav.syfo.application.cache
2+
3+
import java.net.URI
4+
5+
class RedisConfig(
6+
val redisUri: URI,
7+
val redisDB: Int,
8+
val redisUsername: String,
9+
val redisPassword: String,
10+
val ssl: Boolean = true
11+
) {
12+
val host: String = redisUri.host
13+
val port: Int = redisUri.port
14+
}

src/test/kotlin/no/nav/syfo/brev/arbeidstaker/ArbeidstakerBrevApiSpek.kt

+2-15
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import kotlinx.coroutines.runBlocking
1010
import no.altinn.schemas.services.intermediary.receipt._2009._10.ReceiptExternal
1111
import no.altinn.schemas.services.intermediary.receipt._2009._10.ReceiptStatusEnum
1212
import no.altinn.services.serviceengine.correspondence._2009._10.ICorrespondenceAgencyExternalBasic
13-
import no.nav.syfo.application.cache.RedisStore
1413
import no.nav.syfo.brev.arbeidstaker.domain.ArbeidstakerBrevDTO
1514
import no.nav.syfo.brev.arbeidstaker.domain.ArbeidstakerResponsDTO
1615
import no.nav.syfo.brev.esyfovarsel.ArbeidstakerHendelse
@@ -47,9 +46,6 @@ import org.amshove.kluent.shouldBeNull
4746
import org.amshove.kluent.shouldNotBeNull
4847
import org.spekframework.spek2.Spek
4948
import org.spekframework.spek2.style.specification.describe
50-
import redis.clients.jedis.JedisPool
51-
import redis.clients.jedis.JedisPoolConfig
52-
import redis.clients.jedis.Protocol
5349
import java.time.LocalDateTime
5450
import java.util.*
5551

@@ -74,15 +70,6 @@ class ArbeidstakerBrevApiSpek : Spek({
7470
externalMockEnvironment = externalMockEnvironment,
7571
altinnMock = altinnMock,
7672
)
77-
val cache = RedisStore(
78-
JedisPool(
79-
JedisPoolConfig(),
80-
externalMockEnvironment.environment.redisHost,
81-
externalMockEnvironment.environment.redisPort,
82-
Protocol.DEFAULT_TIMEOUT,
83-
externalMockEnvironment.environment.redisSecret
84-
)
85-
)
8673
val tokendingsClient = TokendingsClient(
8774
tokenxClientId = externalMockEnvironment.environment.tokenxClientId,
8875
tokenxEndpoint = externalMockEnvironment.environment.tokenxEndpoint,
@@ -92,14 +79,14 @@ class ArbeidstakerBrevApiSpek : Spek({
9279
aadAppClient = externalMockEnvironment.environment.aadAppClient,
9380
aadAppSecret = externalMockEnvironment.environment.aadAppSecret,
9481
aadTokenEndpoint = externalMockEnvironment.environment.aadTokenEndpoint,
95-
redisStore = cache,
82+
redisStore = externalMockEnvironment.redisCache,
9683
)
9784
val oppfolgingstilfelleClient = OppfolgingstilfelleClient(
9885
azureAdV2Client = azureAdV2Client,
9986
tokendingsClient = tokendingsClient,
10087
isoppfolgingstilfelleClientId = externalMockEnvironment.environment.isoppfolgingstilfelleClientId,
10188
isoppfolgingstilfelleBaseUrl = externalMockEnvironment.environment.isoppfolgingstilfelleUrl,
102-
cache = cache,
89+
cache = externalMockEnvironment.redisCache,
10390
)
10491
val arbeidstakerVarselService = ArbeidstakerVarselService(
10592
esyfovarselProducer = esyfovarselProducer,

src/test/kotlin/no/nav/syfo/brev/narmesteleder/NarmesteLederBrevSpek.kt

+2-15
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import kotlinx.coroutines.runBlocking
99
import no.altinn.schemas.services.intermediary.receipt._2009._10.ReceiptExternal
1010
import no.altinn.schemas.services.intermediary.receipt._2009._10.ReceiptStatusEnum
1111
import no.altinn.services.serviceengine.correspondence._2009._10.ICorrespondenceAgencyExternalBasic
12-
import no.nav.syfo.application.cache.RedisStore
1312
import no.nav.syfo.brev.arbeidstaker.ArbeidstakerVarselService
1413
import no.nav.syfo.brev.arbeidstaker.domain.ArbeidstakerResponsDTO
1514
import no.nav.syfo.brev.domain.BrevType
@@ -50,9 +49,6 @@ import org.amshove.kluent.shouldBeNull
5049
import org.amshove.kluent.shouldNotBeNull
5150
import org.spekframework.spek2.Spek
5251
import org.spekframework.spek2.style.specification.describe
53-
import redis.clients.jedis.JedisPool
54-
import redis.clients.jedis.JedisPoolConfig
55-
import redis.clients.jedis.Protocol
5652
import java.time.LocalDateTime
5753
import java.util.*
5854

@@ -78,15 +74,6 @@ object NarmesteLederBrevSpek : Spek({
7874
altinnMock = altinnMock,
7975
esyfovarselProducer = esyfovarselProducerMock,
8076
)
81-
val cache = RedisStore(
82-
JedisPool(
83-
JedisPoolConfig(),
84-
externalMockEnvironment.environment.redisHost,
85-
externalMockEnvironment.environment.redisPort,
86-
Protocol.DEFAULT_TIMEOUT,
87-
externalMockEnvironment.environment.redisSecret
88-
)
89-
)
9077
val tokendingsClient = TokendingsClient(
9178
tokenxClientId = externalMockEnvironment.environment.tokenxClientId,
9279
tokenxEndpoint = externalMockEnvironment.environment.tokenxEndpoint,
@@ -96,14 +83,14 @@ object NarmesteLederBrevSpek : Spek({
9683
aadAppClient = externalMockEnvironment.environment.aadAppClient,
9784
aadAppSecret = externalMockEnvironment.environment.aadAppSecret,
9885
aadTokenEndpoint = externalMockEnvironment.environment.aadTokenEndpoint,
99-
redisStore = cache,
86+
redisStore = externalMockEnvironment.redisCache,
10087
)
10188
val oppfolgingstilfelleClient = OppfolgingstilfelleClient(
10289
azureAdV2Client = azureAdV2Client,
10390
tokendingsClient = tokendingsClient,
10491
isoppfolgingstilfelleClientId = externalMockEnvironment.environment.isoppfolgingstilfelleClientId,
10592
isoppfolgingstilfelleBaseUrl = externalMockEnvironment.environment.isoppfolgingstilfelleUrl,
106-
cache = cache,
93+
cache = externalMockEnvironment.redisCache,
10794
)
10895
val arbeidstakerVarselService = ArbeidstakerVarselService(
10996
esyfovarselProducer = esyfovarselProducer,

src/test/kotlin/no/nav/syfo/identhendelse/IdenthendelseServiceSpek.kt

+2-3
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@ object IdenthendelseServiceSpek : Spek({
4141
redisStore = RedisStore(
4242
JedisPool(
4343
JedisPoolConfig(),
44-
externalMockEnvironment.environment.redisHost,
45-
externalMockEnvironment.environment.redisPort,
44+
externalMockEnvironment.environment.redisConfig.host,
45+
externalMockEnvironment.environment.redisConfig.port,
4646
Protocol.DEFAULT_TIMEOUT,
47-
externalMockEnvironment.environment.redisSecret
4847
)
4948
),
5049
),

src/test/kotlin/no/nav/syfo/testhelper/ExternalMockEnvironment.kt

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package no.nav.syfo.testhelper
22

33
import io.ktor.server.netty.*
44
import no.nav.syfo.application.ApplicationState
5+
import no.nav.syfo.application.cache.RedisStore
56
import no.nav.syfo.testhelper.mock.*
67
import java.util.*
78

@@ -47,7 +48,7 @@ class ExternalMockEnvironment private constructor() {
4748
narmestelederUrl = narmesteLederMock.url,
4849
pdlUrl = pdlMock.url,
4950
)
50-
val redisServer = testRedis(environment)
51+
lateinit var redisCache: RedisStore
5152

5253
val wellKnownSelvbetjening = wellKnownSelvbetjeningMock()
5354
val wellKnownVeilederV2 = wellKnownVeilederV2Mock()
@@ -67,13 +68,11 @@ class ExternalMockEnvironment private constructor() {
6768

6869
fun ExternalMockEnvironment.startExternalMocks() {
6970
this.externalApplicationMockMap.start()
70-
this.redisServer.start()
7171
}
7272

7373
fun ExternalMockEnvironment.stopExternalMocks() {
7474
this.externalApplicationMockMap.stop()
7575
this.database.stop()
76-
this.redisServer.stop()
7776
}
7877

7978
fun HashMap<String, NettyApplicationEngine>.start() {

0 commit comments

Comments
 (0)