docs: log session outcomes and apply enhancements across multiple components
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled

- **Docker Fixes:** Resolved failed builds for Gateway and Ping services by switching to `eclipse-temurin:21-jdk-alpine`, correcting Gradle configurations, and fixing cache mount paths.
- **ZNS-Import Consul Registration:** Enabled Consul service discovery by updating `application.yaml` and `build.gradle.kts`.
- **pgAdmin Provisioning:** Preconfigured the database server in `servers.json` and updated `dc-ops.yaml` for seamless setup.
- **Postman Documentation:** Added a detailed Postman test guide covering environment setup, endpoint groups, and recommended test sequences.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-04-03 14:24:42 +02:00
parent ed3d327c82
commit b9ec070993
16 changed files with 1685 additions and 22 deletions
+17 -9
View File
@@ -5,15 +5,16 @@
# ===================================================================
# === CENTRALIZED BUILD ARGUMENTS ===
ARG GRADLE_VERSION=9.3.1
ARG JAVA_VERSION=25
# HINWEIS: gradle:X.Y-jdkZ-alpine Images existieren nicht für alle Gradle/JDK-Kombinationen.
# Wir verwenden eclipse-temurin als Builder-Basis und das Projekt-eigene ./gradlew-Wrapper.
ARG JAVA_VERSION=21
ARG BUILD_DATE
ARG VERSION
# ===================================================================
# Build Stage
# ===================================================================
FROM gradle:${GRADLE_VERSION}-jdk${JAVA_VERSION}-alpine AS builder
FROM eclipse-temurin:${JAVA_VERSION}-jdk-alpine AS builder
ARG VERSION
ARG BUILD_DATE
@@ -33,7 +34,7 @@ ENV GRADLE_OPTS="-Dorg.gradle.caching=true \
-XX:+UseParallelGC \
-XX:MaxMetaspaceSize=512m"
ENV GRADLE_USER_HOME=/home/gradle/.gradle
ENV GRADLE_USER_HOME=/root/.gradle
# Copy gradle wrapper and configuration files
COPY gradlew gradlew.bat gradle.properties settings.gradle.kts ./
@@ -64,19 +65,26 @@ RUN mkdir -p \
frontend/shells/meldestelle-portal \
frontend/shells/meldestelle-desktop \
frontend/features/zns-import-feature \
frontend/features/veranstalter-feature \
frontend/features/veranstaltung-feature \
frontend/features/profile-feature \
frontend/features/reiter-feature \
frontend/features/pferde-feature \
frontend/features/verein-feature \
frontend/features/turnier-feature \
frontend/features/billing-feature \
docs
# Copy root build configuration
COPY build.gradle.kts ./
# Download and cache dependencies
RUN --mount=type=cache,id=gradle-cache-ping,target=/home/gradle/.gradle/caches \
--mount=type=cache,id=gradle-wrapper-ping,target=/home/gradle/.gradle/wrapper \
RUN --mount=type=cache,id=gradle-cache-ping,target=/root/.gradle/caches \
--mount=type=cache,id=gradle-wrapper-ping,target=/root/.gradle/wrapper \
./gradlew :backend:services:ping:ping-service:dependencies --no-daemon --info
# Build the application
RUN --mount=type=cache,id=gradle-cache-ping,target=/home/gradle/.gradle/caches \
--mount=type=cache,id=gradle-wrapper-ping,target=/home/gradle/.gradle/wrapper \
RUN --mount=type=cache,id=gradle-cache-ping,target=/root/.gradle/caches \
--mount=type=cache,id=gradle-wrapper-ping,target=/root/.gradle/wrapper \
./gradlew :backend:services:ping:ping-service:bootJar --no-daemon --info
# ===================================================================
@@ -20,6 +20,7 @@ dependencies {
implementation(libs.spring.boot.starter.web)
implementation(libs.spring.boot.starter.validation)
implementation(libs.spring.boot.starter.actuator)
implementation(libs.spring.cloud.starter.consul.discovery)
implementation(libs.exposed.core)
implementation(libs.exposed.dao)
@@ -20,7 +20,17 @@ spring:
exclude:
- org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
- org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
cloud:
consul:
host: ${SPRING_CLOUD_CONSUL_HOST:localhost}
port: ${SPRING_CLOUD_CONSUL_PORT:8500}
enabled: ${CONSUL_ENABLED:true}
discovery:
enabled: ${CONSUL_ENABLED:true}
register: ${CONSUL_ENABLED:true}
health-check-path: /actuator/health
health-check-interval: 10s
instance-id: ${spring.application.name}-${server.port}-${random.uuid}
management:
endpoints:
web: