File tree 13 files changed +4766
-3777
lines changed
src/main/kotlin/no/java/conf
13 files changed +4766
-3777
lines changed Original file line number Diff line number Diff line change @@ -14,10 +14,10 @@ jobs:
14
14
- name : Checkout
15
15
uses : actions/checkout@v4
16
16
17
- - name : Set up JDK 21
17
+ - name : Set up JDK
18
18
uses : actions/setup-java@v4
19
19
with :
20
- java-version : ' 21 '
20
+ java-version : ' 22 '
21
21
distribution : ' temurin'
22
22
23
23
- name : Build
Original file line number Diff line number Diff line change 1
- FROM eclipse-temurin:21 -jre
1
+ FROM eclipse-temurin:22 -jre
2
2
3
3
RUN mkdir -p /opt/app
4
4
COPY build/libs/history.jar /opt/app
Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ application {
15
15
}
16
16
17
17
kotlin {
18
- jvmToolchain(21 )
18
+ jvmToolchain(22 )
19
19
}
20
20
21
21
repositories {
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ services:
10
10
- discovery.type=single-node
11
11
- xpack.security.http.ssl.enabled=false
12
12
- xpack.license.self_generated.type=trial
13
- image : docker.elastic.co/elasticsearch/elasticsearch:8.15.1
13
+ image : docker.elastic.co/elasticsearch/elasticsearch:8.16.0
14
14
mem_limit : 1gb
15
15
networks :
16
16
- history
Original file line number Diff line number Diff line change @@ -9,4 +9,4 @@ services:
9
9
- discovery.type=single-node
10
10
- xpack.security.http.ssl.enabled=false
11
11
- xpack.license.self_generated.type=trial
12
- image : docker.elastic.co/elasticsearch/elasticsearch:8.15.1
12
+ image : docker.elastic.co/elasticsearch/elasticsearch:8.16.0
Original file line number Diff line number Diff line change 10
10
"postinstall" : " nuxt prepare"
11
11
},
12
12
"dependencies" : {
13
- "@nuxt/icon" : " ^1.5.6 " ,
13
+ "@nuxt/icon" : " ^1.8.1 " ,
14
14
"@nuxt/scripts" : " ^0.9.5" ,
15
- "nuxt" : " ^3.13.0 " ,
15
+ "nuxt" : " ^3.14.1592 " ,
16
16
"vue" : " latest" ,
17
17
"vue-router" : " latest" ,
18
18
"vuetify-nuxt-module" : " ^0.18.3"
Original file line number Diff line number Diff line change 1
1
2
2
[versions ]
3
- ktor-version = " 2.3.12 "
4
- kotlin-version = " 2.0.20 "
5
- logback-version = " 1.5.8 "
6
- prometheus-version = " 1.13.5 "
3
+ ktor-version = " 3.0.1 "
4
+ kotlin-version = " 2.0.21 "
5
+ logback-version = " 1.5.12 "
6
+ prometheus-version = " 1.14.1 "
7
7
gradle_versions_filter_version = " 0.1.16"
8
8
detekt_version = " 1.23.7"
9
- kotlinter_version = " 4.4.1 "
9
+ kotlinter_version = " 4.5.0 "
10
10
kotlin_logging_version = " 7.0.0"
11
11
arrow_version = " 1.2.4"
12
- search_client_version = " 2.2.2 "
12
+ search_client_version = " 2.3.1 "
13
13
kotlinx_serialization_version = " 1.7.3"
14
14
node_version = " 7.1.0"
15
15
Original file line number Diff line number Diff line change 1
1
distributionBase =GRADLE_USER_HOME
2
2
distributionPath =wrapper/dists
3
- distributionUrl =https\://services.gradle.org/distributions/gradle-8.10.1 -bin.zip
3
+ distributionUrl =https\://services.gradle.org/distributions/gradle-8.11 -bin.zip
4
4
networkTimeout =10000
5
5
validateDistributionUrl =true
6
6
zipStoreBase =GRADLE_USER_HOME
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ import io.ktor.server.application.install
7
7
import io.ktor.server.metrics.micrometer.MicrometerMetrics
8
8
import io.ktor.server.plugins.callid.CallId
9
9
import io.ktor.server.plugins.callid.callIdMdc
10
- import io.ktor.server.plugins.callloging .CallLogging
10
+ import io.ktor.server.plugins.calllogging .CallLogging
11
11
import io.ktor.server.request.path
12
12
import io.ktor.server.response.respond
13
13
import io.ktor.server.routing.get
Original file line number Diff line number Diff line change @@ -2,24 +2,22 @@ package no.java.conf.plugins
2
2
3
3
import arrow.core.Either
4
4
import io.ktor.http.HttpStatusCode
5
- import io.ktor.server.application.ApplicationCall
6
- import io.ktor.server.application.call
7
5
import io.ktor.server.response.respond
8
6
import io.ktor.server.response.respondRedirect
9
- import io.ktor.util.pipeline.PipelineContext
7
+ import io.ktor.server.routing.RoutingContext
10
8
import no.java.conf.model.ApiError
11
9
12
- context(PipelineContext < Unit , ApplicationCall > )
10
+ context(RoutingContext )
13
11
suspend inline fun <reified A : Any > Either <ApiError , A >.respond (status : HttpStatusCode = HttpStatusCode .OK ) =
14
12
when (this ) {
15
13
is Either .Left -> respond(value)
16
14
is Either .Right -> call.respond(status, value)
17
15
}
18
16
19
- suspend fun PipelineContext < Unit , ApplicationCall > .respond (error : ApiError ) =
17
+ suspend fun RoutingContext .respond (error : ApiError ) =
20
18
call.respond(error.statusCode, error.messageMap())
21
19
22
- context(PipelineContext < Unit , ApplicationCall > )
20
+ context(RoutingContext )
23
21
suspend inline fun <reified A : Any > Either <ApiError , A >.respondRedirect (url : String ) =
24
22
when (this ) {
25
23
is Either .Left -> respond(value)
Original file line number Diff line number Diff line change 1
1
package no.java.conf.plugins
2
2
3
3
import io.ktor.server.application.Application
4
- import io.ktor.server.application.call
5
- import io.ktor.server.application.install
6
- import io.ktor.server.response.respondText
7
- import io.ktor.server.routing.get
8
- import io.ktor.server.routing.routing
9
- import io.ktor.server.sessions.Sessions
10
- import io.ktor.server.sessions.cookie
11
- import io.ktor.server.sessions.get
12
- import io.ktor.server.sessions.sessions
13
- import io.ktor.server.sessions.set
14
4
15
5
fun Application.configureSecurity () {
16
- data class MySession (
17
- val count : Int = 0 ,
18
- )
19
6
20
- install(Sessions ) {
21
- cookie<MySession >(" MY_SESSION" ) {
22
- cookie.extensions[" SameSite" ] = " lax"
23
- }
24
- }
25
- routing {
26
- get(" /session/increment" ) {
27
- val session = call.sessions.get<MySession >() ? : MySession ()
28
- call.sessions.set(session.copy(count = session.count + 1 ))
29
- call.respondText(" Counter is ${session.count} . Refresh to increment." )
30
- }
31
- }
32
7
}
Original file line number Diff line number Diff line change @@ -67,11 +67,17 @@ class SearchService(
67
67
private var readyState = State .NEW
68
68
69
69
suspend fun setup () {
70
+ logger.debug { " Setting up SearchService" }
71
+
70
72
if (readyState != State .NEW ) {
73
+ logger.debug { " Incorrect search state - was $readyState " }
74
+
71
75
return
72
76
}
73
77
74
78
if (! skipIndex) {
79
+ logger.debug { " Creating index" }
80
+
75
81
client.deleteIndex(INDEX_NAME , ignoreUnavailable = true )
76
82
77
83
client.createIndex(INDEX_NAME ) {
@@ -98,15 +104,23 @@ class SearchService(
98
104
}
99
105
}
100
106
107
+ logger.debug { " State -> Mapped" }
108
+
101
109
readyState = State .MAPPED
102
110
}
103
111
104
112
suspend fun ingest (sessions : List <Session >) {
113
+ logger.debug { " Ingesting" }
114
+
105
115
if (readyState != State .MAPPED ) {
116
+ logger.debug { " Incorrect search state - was $readyState " }
117
+
106
118
return
107
119
}
108
120
109
121
if (! skipIndex) {
122
+ logger.debug { " Bulk" }
123
+
110
124
val itemCallBack =
111
125
object : BulkItemCallBack {
112
126
override fun bulkRequestFailed (
@@ -151,6 +165,8 @@ class SearchService(
151
165
logger.info { " Indexing skipped" }
152
166
}
153
167
168
+ logger.debug { " State -> Indexed" }
169
+
154
170
readyState = State .INDEXED
155
171
}
156
172
You can’t perform that action at this time.
0 commit comments