Compare commits

...
11 Commits
Author SHA1 Message Date
2martens fe5cd41749 Specify metadata in jar task (likely used by Jib)
continuous-integration/drone/push Build is failing
2023-08-16 22:31:05 +02:00
2martens 3a25e33f3f Prevent NPE 2023-08-16 22:30:50 +02:00
2martens ec625fb7b5 Use service properties to check successful change
continuous-integration/drone/push Build is failing
2023-08-16 22:21:53 +02:00
2martens c8e4474175 Remove configserver import from general configuration
continuous-integration/drone/push Build is failing
2023-08-16 22:09:50 +02:00
2martens 499c85ae49 Load configserver only in production and move refreshable prod properties to wahlrecht-prod
continuous-integration/drone/push Build is failing
2023-08-16 22:08:50 +02:00
2martens e88d98efc1 Dummy change
continuous-integration/drone/push Build is failing
2023-08-16 21:56:57 +02:00
2martens 8d545aa7fb Moved refreshable configuration to config sub-directory
continuous-integration/drone/push Build is failing
2023-08-16 21:54:42 +02:00
2martens a04094bc60 Move configserver import to bootstrap.yaml
continuous-integration/drone/push Build is failing
2023-08-16 21:09:15 +02:00
2martens 7d68612e57 Adjusted path to configserver
continuous-integration/drone/push Build is failing
2023-08-16 20:17:57 +02:00
2martens 64295db0e7 Added environments for http requests
continuous-integration/drone/push Build is failing
2023-08-16 20:08:54 +02:00
2martens 6dcd302ab7 OPTIONS method does not have to be allowed 2023-08-16 20:08:01 +02:00
12 changed files with 39 additions and 21 deletions
@@ -62,7 +62,7 @@ tasks.named("buildAll") {
val formatter: DateTimeFormatter = ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ") val formatter: DateTimeFormatter = ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
tasks.bootJar { tasks.jar {
manifest { manifest {
attributes["Implementation-Title"] = rootProject.name attributes["Implementation-Title"] = rootProject.name
attributes["Implementation-Version"] = archiveVersion.get() attributes["Implementation-Version"] = archiveVersion.get()
+1 -1
View File
@@ -1,4 +1,4 @@
POST http://localhost:12000/wahlrecht/v1/calculate POST {{backend}}/wahlrecht/v1/calculate
Content-Type: application/json Content-Type: application/json
{ {
+2
View File
@@ -0,0 +1,2 @@
GET {{backend}}/wahlrecht/v1/elections
Content-Type: application/json
+8
View File
@@ -0,0 +1,8 @@
{
"dev": {
"backend": "http://localhost:12000"
},
"prod" : {
"backend": "https://api.2martens.de"
}
}
@@ -1,2 +0,0 @@
server:
port: 12000
@@ -16,8 +16,8 @@ open class WebConfiguration(private val headerInterceptorRest: HeaderInterceptor
override fun addCorsMappings(registry: CorsRegistry) { override fun addCorsMappings(registry: CorsRegistry) {
val registration = registry.addMapping("/**") val registration = registry.addMapping("/**")
registration.allowedMethods( registration.allowedMethods(
HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.GET.name(), HttpMethod.POST.name(),
HttpMethod.PUT.name(), HttpMethod.OPTIONS.name() HttpMethod.PUT.name(), HttpMethod.HEAD.name()
) )
registration.allowCredentials(true) registration.allowCredentials(true)
registration.allowedOrigins( registration.allowedOrigins(
@@ -32,14 +32,16 @@ class VersionHtmlController {
} }
private fun getTitle(): String { private fun getTitle(): String {
val title = VersionHtmlController::class.java.getPackage().implementationTitle val title = VersionHtmlController::class.java.`package`.implementationTitle
?: return "application"
return title.ifBlank { return title.ifBlank {
"application" "application"
} }
} }
private fun getVersion(): String { private fun getVersion(): String {
val version = VersionHtmlController::class.java.getPackage().implementationVersion val version = VersionHtmlController::class.java.`package`.implementationVersion
?: return "DEVELOPER"
return version.ifBlank { return version.ifBlank {
"DEVELOPER" "DEVELOPER"
} }
@@ -1,5 +1,6 @@
package de.twomartens.wahlrecht.controller.v1 package de.twomartens.wahlrecht.controller.v1
import de.twomartens.wahlrecht.property.ServiceProperties
import io.swagger.v3.oas.annotations.Hidden import io.swagger.v3.oas.annotations.Hidden
import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestMapping
@@ -7,11 +8,12 @@ import org.springframework.web.bind.annotation.RestController
@RestController @RestController
@RequestMapping(value = ["/wahlrecht/v1"]) @RequestMapping(value = ["/wahlrecht/v1"])
class HealthCheckController { class HealthCheckController(private val properties: ServiceProperties) {
@Hidden @Hidden
@GetMapping("/healthCheck") @GetMapping("/healthCheck")
fun healthCheck(message: String): String { fun healthCheck(message: String): String {
return message return properties.greeting.format(message)
} }
} }
@@ -0,0 +1,5 @@
spring:
config:
import:
- "classpath:config/wahlrecht.yaml"
- "optional:configserver:http://configserver:8888/config"
@@ -24,7 +24,8 @@ management:
spring: spring:
config: config:
import: "optional:configserver:http://127.0.0.1:8888/config" import:
- "classpath:config/wahlrecht.yaml"
main: main:
banner-mode: off banner-mode: off
profiles: profiles:
@@ -41,16 +42,6 @@ spring:
name: wahlrecht name: wahlrecht
# properties for application
de.twomartens.wahlrecht:
defaultTimeZone: Europe/Berlin
greeting: "Hello %s"
statusprobe:
scheduleDuration: 60
maxKafkaFailureDuration: 5
maxBlobFailureCount: 5
maxFailurePercent: 50
springdoc: springdoc:
swagger-ui: swagger-ui:
display-request-duration: true display-request-duration: true
@@ -0,0 +1,2 @@
de.twomartens.wahlrecht:
greeting: "Moin %s"
@@ -0,0 +1,8 @@
de.twomartens.wahlrecht:
defaultTimeZone: Europe/Berlin
greeting: "Hello %s"
statusprobe:
scheduleDuration: 60
maxKafkaFailureDuration: 5
maxBlobFailureCount: 5
maxFailurePercent: 50