Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0082305a5a
|
||
|
|
11345c94a5
|
||
|
|
f5f773a90b | ||
|
|
323337ed64 | ||
|
|
b04d6f4389 | ||
|
|
517f2b4f1b | ||
|
|
f089d70d5f | ||
|
|
2a78b47d83 | ||
|
|
84baee6ebb | ||
|
|
35a1b49412 | ||
|
|
9453e10803 | ||
|
|
a2b85f402d | ||
|
|
3a9c70932d | ||
|
|
7e87623b0e | ||
|
|
1b71ef0614 | ||
|
|
9aa199103d | ||
|
|
904bc60ed7 |
+7
-23
@@ -118,10 +118,13 @@ steps:
|
||||
- ssh-keyscan -H git.2martens.de > $HOME/.ssh/known_hosts 2>/dev/null
|
||||
- git clone ssh://giteajim@git.2martens.de:22/2martens/cloud-configuration.git .
|
||||
- git checkout main
|
||||
- name: modify deployed image
|
||||
- name: update image version
|
||||
image: alpine
|
||||
commands:
|
||||
- sed -i -r "s/(wahlrecht_image_version:).*/\1\ ${DRONE_SEMVER}/" ansible/inventories/host_vars/api-server/public.yaml
|
||||
- mkdir $HOME/bin
|
||||
- wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 -O $HOME/bin/yq && chmod +x $HOME/bin/yq
|
||||
- sed -i -r "s/(tag:).*/\1\ \"${DRONE_SEMVER}\"/" argocd/wahlrecht/${DRONE_DEPLOY_TO}/overwrite_values.yaml
|
||||
- cd argocd/wahlrecht/${DRONE_DEPLOY_TO} && $HOME/bin/yq '. *= load("overwrite_values.yaml")' default_values.yaml > values.yaml
|
||||
- name: save modified variable file
|
||||
image: alpine/git
|
||||
environment:
|
||||
@@ -134,32 +137,13 @@ steps:
|
||||
- touch $HOME/.ssh/known_hosts
|
||||
- chmod 600 $HOME/.ssh/known_hosts
|
||||
- ssh-keyscan -H git.2martens.de > $HOME/.ssh/known_hosts 2>/dev/null
|
||||
- git add ansible/inventories/host_vars/api-server/public.yaml
|
||||
- git add argocd/wahlrecht/${DRONE_DEPLOY_TO}/*
|
||||
- git diff-index --quiet HEAD || git commit -m "[Drone] Changed wahlrecht_image_version to ${DRONE_SEMVER}"
|
||||
- git push origin main
|
||||
- name: deploy image
|
||||
image: plugins/ansible:latest
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /root/.ansible
|
||||
settings:
|
||||
playbook: ansible/deploy_spring.yaml
|
||||
inventory: ansible/inventories/production
|
||||
galaxy: ansible/requirements.yaml
|
||||
galaxy_force: false
|
||||
private_key:
|
||||
from_secret: private_ssh_key
|
||||
vault_password:
|
||||
from_secret: vault_password
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /var/lib/drone/cache/.ansible
|
||||
|
||||
trigger:
|
||||
target:
|
||||
- production
|
||||
- test
|
||||
event:
|
||||
include:
|
||||
- promote
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="MainApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
|
||||
<module name="wahlrecht.server.main" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="de.twomartens.wahlrecht.MainApplication" />
|
||||
<extension name="net.ashald.envfile">
|
||||
<option name="IS_ENABLED" value="true" />
|
||||
<option name="IS_SUBST" value="false" />
|
||||
<option name="IS_PATH_MACRO_SUPPORTED" value="false" />
|
||||
<option name="IS_IGNORE_MISSING_FILES" value="false" />
|
||||
<option name="IS_ENABLE_EXPERIMENTAL_INTEGRATIONS" value="false" />
|
||||
<ENTRIES>
|
||||
<ENTRY IS_ENABLED="true" PARSER="runconfig" IS_EXECUTABLE="false" />
|
||||
<ENTRY IS_ENABLED="true" PARSER="env" IS_EXECUTABLE="false" PATH=".env" />
|
||||
</ENTRIES>
|
||||
</extension>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
@@ -54,7 +54,7 @@ normalization.runtimeClasspath.metaInf {
|
||||
}
|
||||
|
||||
tasks.register("cleanLibs") {
|
||||
delete("${buildDir}/libs")
|
||||
delete("${layout.buildDirectory}/libs")
|
||||
}
|
||||
|
||||
tasks.build {
|
||||
|
||||
@@ -9,10 +9,10 @@ apply(plugin="com.netflix.nebula.release")
|
||||
tasks.register("writeVersionProperties") {
|
||||
group = "version"
|
||||
mustRunAfter("release")
|
||||
outputs.file("$buildDir/version.properties")
|
||||
val directory = buildDir
|
||||
outputs.file("${layout.buildDirectory}/version.properties")
|
||||
val directory = layout.buildDirectory.asFile
|
||||
doLast {
|
||||
Files.createDirectories(directory.toPath())
|
||||
File("$buildDir/version.properties").writeText("VERSION=${project.version}\n")
|
||||
Files.createDirectories(directory.get().toPath())
|
||||
File("${layout.buildDirectory}/version.properties").writeText("VERSION=${project.version}\n")
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
|
||||
@@ -8,7 +8,7 @@ dependencies {
|
||||
|
||||
jib {
|
||||
from {
|
||||
image = "amazoncorretto:" + properties["projectSourceCompatibility"]
|
||||
image = "amazoncorretto:" + properties["projectSourceCompatibility"] + "-alpine"
|
||||
platforms {
|
||||
platform {
|
||||
architecture = "amd64"
|
||||
|
||||
@@ -10,5 +10,4 @@ dependencies {
|
||||
annotationProcessor(libs.mapstruct.processor)
|
||||
kapt(libs.mapstruct.processor)
|
||||
implementation(libs.spring.cloud.starter.config)
|
||||
implementation(libs.spring.cloud.starter.bus.kafka)
|
||||
}
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package de.twomartens.wahlrecht.configuration
|
||||
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
import org.springframework.web.filter.ForwardedHeaderFilter
|
||||
|
||||
@Configuration
|
||||
open class FilterConfiguration {
|
||||
@Bean
|
||||
open fun forwardedFilter(): ForwardedHeaderFilter {
|
||||
return ForwardedHeaderFilter()
|
||||
}
|
||||
}
|
||||
-3
@@ -6,7 +6,6 @@ import io.swagger.v3.oas.annotations.security.OAuthFlows
|
||||
import io.swagger.v3.oas.annotations.security.SecurityScheme
|
||||
import io.swagger.v3.oas.models.OpenAPI
|
||||
import io.swagger.v3.oas.models.info.Info
|
||||
import io.swagger.v3.oas.models.servers.Server
|
||||
import org.springframework.beans.factory.annotation.Value
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
@@ -36,7 +35,5 @@ open class OpenApiConfiguration {
|
||||
.version(apiVersion)
|
||||
.description(apiDescription)
|
||||
)
|
||||
.addServersItem(Server().url("http://localhost:12000"))
|
||||
.addServersItem(Server().url("https://api.2martens.de"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@ class SpringPolicyEnforcer(private val policyEnforcer: PolicyEnforcer,
|
||||
|
||||
private fun authorize(request: HttpRequest, response: HttpResponse): AuthorizationContext {
|
||||
val enforcementMode = policyEnforcerConfig.enforcementMode
|
||||
log.debug("Authorize with enforcement mode: [{}]", enforcementMode)
|
||||
return if (EnforcementMode.DISABLED == enforcementMode) {
|
||||
createAuthorizedContext()
|
||||
} else policyEnforcer.enforce(request, response)
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
server.port: 12000
|
||||
management.server.port: 12001
|
||||
|
||||
|
||||
spring:
|
||||
config:
|
||||
import:
|
||||
- "classpath:config/wahlrecht.yaml"
|
||||
- "optional:configserver:http://localhost:8888/config"
|
||||
- "optional:configserver:${CONFIGSERVER_SCHEME:http}://${CONFIGSERVER_HOST:configserver}:${CONFIGSERVER_PORT:8888}${CONFIGSERVER_PREFIX:/config}"
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
spring:
|
||||
config:
|
||||
import:
|
||||
- "configserver:http://configserver:8888/config"
|
||||
kafka:
|
||||
bootstrap-servers:
|
||||
- kafka:9092
|
||||
- "configserver:${CONFIGSERVER_SCHEME:http}://${CONFIGSERVER_HOST:configserver}:${CONFIGSERVER_PORT:8888}${CONFIGSERVER_PREFIX:/config}"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
server:
|
||||
port: 12000
|
||||
port: ${PORT:12000}
|
||||
shutdown: graceful
|
||||
forward-headers-strategy: framework
|
||||
|
||||
### technical configurations ###
|
||||
management:
|
||||
# for security, don't use same port as application
|
||||
server.port: 12001
|
||||
server.port: ${ACTUATOR_PORT:12001}
|
||||
health:
|
||||
livenessState.enabled: true
|
||||
readinessState.enabled: true
|
||||
@@ -38,7 +38,7 @@ spring:
|
||||
oauth2:
|
||||
resourceserver:
|
||||
jwt:
|
||||
jwk-set-uri: https://id.2martens.de/realms/2martens/protocol/openid-connect/certs
|
||||
jwk-set-uri: ${KEYCLOAK_URL:https://id.2martens.de}/realms/${KEYCLOAK_REALM:2martens}/protocol/openid-connect/certs
|
||||
application:
|
||||
name: wahlrecht
|
||||
|
||||
|
||||
Reference in New Issue
Block a user