Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5eff527c48 | ||
|
|
642713e14c | ||
|
|
ff8b205124 | ||
|
|
8c5f925e36 | ||
|
|
fe5cd41749 | ||
|
|
3a25e33f3f | ||
|
|
ec625fb7b5 |
@@ -62,7 +62,7 @@ tasks.named("buildAll") {
|
||||
|
||||
val formatter: DateTimeFormatter = ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
|
||||
|
||||
tasks.bootJar {
|
||||
tasks.jar {
|
||||
manifest {
|
||||
attributes["Implementation-Title"] = rootProject.name
|
||||
attributes["Implementation-Version"] = archiveVersion.get()
|
||||
|
||||
@@ -38,6 +38,7 @@ spring-boot-oauth2-resource-server = { module = "org.springframework.boot:spring
|
||||
spring-boot-config = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "spring-boot" }
|
||||
spring-cloud = { module = "org.springframework.cloud:spring-cloud-dependencies", version.ref = "spring-cloud" }
|
||||
spring-cloud-starter = { module = "org.springframework.cloud:spring-cloud-starter" }
|
||||
spring-cloud-starter-bus-kafka = { module = "org.springframework.cloud:spring-cloud-starter-bus-kafka" }
|
||||
spring-cloud-starter-config = { module = "org.springframework.cloud:spring-cloud-starter-config" }
|
||||
spring-cloud-config-server = { module = "org.springframework.cloud:spring-cloud-config-server" }
|
||||
spring-boot-starter = { module = "org.springframework.boot:spring-boot-starter" }
|
||||
|
||||
@@ -10,4 +10,5 @@ dependencies {
|
||||
annotationProcessor(libs.mapstruct.processor)
|
||||
kapt(libs.mapstruct.processor)
|
||||
implementation(libs.spring.cloud.starter.config)
|
||||
implementation(libs.spring.cloud.starter.bus.kafka)
|
||||
}
|
||||
|
||||
+4
-2
@@ -32,14 +32,16 @@ class VersionHtmlController {
|
||||
}
|
||||
|
||||
private fun getTitle(): String {
|
||||
val title = VersionHtmlController::class.java.getPackage().implementationTitle
|
||||
val title = VersionHtmlController::class.java.`package`.implementationTitle
|
||||
?: return "application"
|
||||
return title.ifBlank {
|
||||
"application"
|
||||
}
|
||||
}
|
||||
|
||||
private fun getVersion(): String {
|
||||
val version = VersionHtmlController::class.java.getPackage().implementationVersion
|
||||
val version = VersionHtmlController::class.java.`package`.implementationVersion
|
||||
?: return "DEVELOPER"
|
||||
return version.ifBlank {
|
||||
"DEVELOPER"
|
||||
}
|
||||
|
||||
+4
-2
@@ -1,5 +1,6 @@
|
||||
package de.twomartens.wahlrecht.controller.v1
|
||||
|
||||
import de.twomartens.wahlrecht.property.ServiceProperties
|
||||
import io.swagger.v3.oas.annotations.Hidden
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
@@ -7,11 +8,12 @@ import org.springframework.web.bind.annotation.RestController
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = ["/wahlrecht/v1"])
|
||||
class HealthCheckController {
|
||||
class HealthCheckController(private val properties: ServiceProperties) {
|
||||
|
||||
|
||||
@Hidden
|
||||
@GetMapping("/healthCheck")
|
||||
fun healthCheck(message: String): String {
|
||||
return message
|
||||
return properties.greeting.format(message)
|
||||
}
|
||||
}
|
||||
+5
-2
@@ -1,6 +1,7 @@
|
||||
package de.twomartens.wahlrecht.monitoring.actuator
|
||||
|
||||
import de.twomartens.wahlrecht.interceptor.HeaderInterceptorRest
|
||||
import de.twomartens.wahlrecht.property.ServiceProperties
|
||||
import org.springframework.boot.actuate.health.Health
|
||||
import org.springframework.boot.actuate.health.HealthIndicator
|
||||
import org.springframework.boot.actuate.health.Status
|
||||
@@ -29,7 +30,9 @@ import java.time.Clock
|
||||
@Component
|
||||
class RestHealthIndicator(
|
||||
clock: Clock, interceptor: HeaderInterceptorRest,
|
||||
serverProperties: ServerProperties, private val restTemplateRestHealthIndicator: RestTemplate
|
||||
serverProperties: ServerProperties,
|
||||
private val restTemplateRestHealthIndicator: RestTemplate,
|
||||
private val serviceProperties: ServiceProperties
|
||||
) : AbstractHealthIndicator(clock, Preparable { interceptor.markAsHealthCheck() }), HealthIndicator {
|
||||
private val randomizer = SecureRandom()
|
||||
private val urlPrefix: String = (HTTP_PREFIX + HOST + HOST_PORT_SEPARATOR
|
||||
@@ -43,7 +46,7 @@ class RestHealthIndicator(
|
||||
val random = randomizer.nextInt(100000, 999999).toString()
|
||||
val url = "$urlPrefix{random}"
|
||||
val response = restTemplateRestHealthIndicator.getForEntity(url, String::class.java, random)
|
||||
val status = if (response.body == random) Status.UP else Status.DOWN
|
||||
val status = if (response.body == serviceProperties.greeting.format(random)) Status.UP else Status.DOWN
|
||||
return Health.status(status)
|
||||
.withDetail(DETAIL_ENDPOINT_KEY, url)
|
||||
.build()
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
server.port: 12000
|
||||
management.server.port: 12001
|
||||
|
||||
|
||||
spring:
|
||||
config:
|
||||
import:
|
||||
- "classpath:config/wahlrecht.yaml"
|
||||
- "optional:configserver:http://localhost:8888/config"
|
||||
|
||||
@@ -23,9 +23,9 @@ management:
|
||||
http.server.requests: true
|
||||
|
||||
spring:
|
||||
cloud:
|
||||
config:
|
||||
import:
|
||||
- "classpath:config/wahlrecht.yaml"
|
||||
name: wahlrecht
|
||||
main:
|
||||
banner-mode: off
|
||||
profiles:
|
||||
@@ -38,9 +38,6 @@ spring:
|
||||
resourceserver:
|
||||
jwt:
|
||||
jwk-set-uri: https://id.2martens.de/realms/2martens/protocol/openid-connect/certs
|
||||
application:
|
||||
name: wahlrecht
|
||||
|
||||
|
||||
springdoc:
|
||||
swagger-ui:
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
de.twomartens.wahlrecht:
|
||||
greeting: "Moin %s"
|
||||
greeting: "Moin %s, you are great"
|
||||
|
||||
Reference in New Issue
Block a user