Add microservices for masterdata, events, and ZNS import; configure API gateway routes; implement real Turnier and Verein repository integrations; and update infrastructure, frontend, and documentation.
This commit is contained in:
+228
@@ -59,6 +59,9 @@ services:
|
||||
|
||||
# --- SERVICE URLs ---
|
||||
PING_SERVICE_URL: "http://ping-service:8082"
|
||||
MASTERDATA_SERVICE_URL: "http://masterdata-service:8086"
|
||||
EVENTS_SERVICE_URL: "http://events-service:8085"
|
||||
ZNS_IMPORT_SERVICE_URL: "http://zns-import-service:8095"
|
||||
|
||||
depends_on:
|
||||
postgres:
|
||||
@@ -162,6 +165,231 @@ services:
|
||||
volumes:
|
||||
- ./config/app/base-application.yaml:/workspace/config/application.yml:Z
|
||||
|
||||
# --- MICROSERVICE: Masterdata Service ---
|
||||
masterdata-service:
|
||||
image: "${DOCKER_REGISTRY:-git.mo-code.at/mo-code}/masterdata-service:${DOCKER_TAG:-latest}"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: backend/services/masterdata/Dockerfile
|
||||
args:
|
||||
GRADLE_VERSION: "${DOCKER_GRADLE_VERSION:-9.3.1}"
|
||||
JAVA_VERSION: "${DOCKER_JAVA_VERSION:-25}"
|
||||
VERSION: "${DOCKER_VERSION:-1.0.0-SNAPSHOT}"
|
||||
BUILD_DATE: "${DOCKER_BUILD_DATE}"
|
||||
labels:
|
||||
- "org.opencontainers.image.created=${DOCKER_BUILD_DATE}"
|
||||
container_name: "${PROJECT_NAME:-meldestelle}-masterdata-service"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${MASTERDATA_PORT:-8086:8086}"
|
||||
- "${MASTERDATA_DEBUG_PORT:-5007:5007}"
|
||||
environment:
|
||||
SPRING_PROFILES_ACTIVE: "${MASTERDATA_SPRING_PROFILES_ACTIVE:-docker}"
|
||||
DEBUG: "${MASTERDATA_DEBUG:-true}"
|
||||
SERVER_PORT: "${MASTERDATA_SERVER_PORT:-8086}"
|
||||
|
||||
# --- KEYCLOAK ---
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: "${KC_ISSUER_URI:-http://localhost:8180/realms/meldestelle}"
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: "${KC_JWK_SET_URI:-http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs}"
|
||||
|
||||
# --- CONSUL ---
|
||||
SPRING_CLOUD_CONSUL_HOST: "${CONSUL_HOST:-consul}"
|
||||
SPRING_CLOUD_CONSUL_PORT: "${CONSUL_HTTP_PORT:-8500}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_SERVICE_NAME: "${MASTERDATA_SERVICE_NAME:-masterdata-service}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS: "${MASTERDATA_CONSUL_PREFER_IP:-true}"
|
||||
|
||||
# - DATENBANK VERBINDUNG -
|
||||
SPRING_DATASOURCE_URL: "${POSTGRES_DB_URL:-jdbc:postgresql://postgres:5432/pg-meldestelle-db}"
|
||||
SPRING_DATASOURCE_USERNAME: "${POSTGRES_USER:-pg-user}"
|
||||
SPRING_DATASOURCE_PASSWORD: "${POSTGRES_PASSWORD:-pg-password}"
|
||||
|
||||
# --- VALKEY (formerly Redis) ---
|
||||
SPRING_DATA_VALKEY_HOST: "${VALKEY_SERVER_HOSTNAME:-valkey}"
|
||||
SPRING_DATA_VALKEY_PORT: "${VALKEY_SERVER_PORT:-6379}"
|
||||
SPRING_DATA_VALKEY_PASSWORD: "${VALKEY_PASSWORD:-}"
|
||||
SPRING_DATA_VALKEY_CONNECT_TIMEOUT: "${VALKEY_SERVER_CONNECT_TIMEOUT:-5s}"
|
||||
|
||||
# --- ZIPKIN ---
|
||||
MANAGEMENT_ZIPKIN_TRACING_ENDPOINT: "${ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}"
|
||||
MANAGEMENT_TRACING_SAMPLING_PROBABILITY: "${ZIPKIN_SAMPLING_PROBABILITY:-1.0}"
|
||||
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: "service_healthy"
|
||||
keycloak:
|
||||
condition: "service_healthy"
|
||||
consul:
|
||||
condition: "service_healthy"
|
||||
valkey:
|
||||
condition: "service_healthy"
|
||||
zipkin:
|
||||
condition: "service_started"
|
||||
|
||||
healthcheck:
|
||||
test: [ "CMD", "wget", "--spider", "-q", "http://localhost:8086/actuator/health/readiness" ]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 40s
|
||||
|
||||
networks:
|
||||
meldestelle-network:
|
||||
aliases:
|
||||
- "masterdata-service"
|
||||
profiles: [ "backend", "all" ]
|
||||
volumes:
|
||||
- ./config/app/base-application.yaml:/workspace/config/application.yml:Z
|
||||
|
||||
# --- MICROSERVICE: Events Service ---
|
||||
events-service:
|
||||
image: "${DOCKER_REGISTRY:-git.mo-code.at/mo-code}/events-service:${DOCKER_TAG:-latest}"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: backend/services/events/Dockerfile
|
||||
args:
|
||||
GRADLE_VERSION: "${DOCKER_GRADLE_VERSION:-9.3.1}"
|
||||
JAVA_VERSION: "${DOCKER_JAVA_VERSION:-25}"
|
||||
VERSION: "${DOCKER_VERSION:-1.0.0-SNAPSHOT}"
|
||||
BUILD_DATE: "${DOCKER_BUILD_DATE}"
|
||||
labels:
|
||||
- "org.opencontainers.image.created=${DOCKER_BUILD_DATE}"
|
||||
container_name: "${PROJECT_NAME:-meldestelle}-events-service"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${EVENTS_PORT:-8085:8085}"
|
||||
- "${EVENTS_DEBUG_PORT:-5008:5008}"
|
||||
environment:
|
||||
SPRING_PROFILES_ACTIVE: "${EVENTS_SPRING_PROFILES_ACTIVE:-docker}"
|
||||
DEBUG: "${EVENTS_DEBUG:-true}"
|
||||
SERVER_PORT: "${EVENTS_SERVER_PORT:-8085}"
|
||||
|
||||
# --- KEYCLOAK ---
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: "${KC_ISSUER_URI:-http://localhost:8180/realms/meldestelle}"
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: "${KC_JWK_SET_URI:-http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs}"
|
||||
|
||||
# --- CONSUL ---
|
||||
SPRING_CLOUD_CONSUL_HOST: "${CONSUL_HOST:-consul}"
|
||||
SPRING_CLOUD_CONSUL_PORT: "${CONSUL_HTTP_PORT:-8500}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_SERVICE_NAME: "${EVENTS_SERVICE_NAME:-events-service}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS: "${EVENTS_CONSUL_PREFER_IP:-true}"
|
||||
|
||||
# - DATENBANK VERBINDUNG -
|
||||
SPRING_DATASOURCE_URL: "${POSTGRES_DB_URL:-jdbc:postgresql://postgres:5432/pg-meldestelle-db}"
|
||||
SPRING_DATASOURCE_USERNAME: "${POSTGRES_USER:-pg-user}"
|
||||
SPRING_DATASOURCE_PASSWORD: "${POSTGRES_PASSWORD:-pg-password}"
|
||||
|
||||
# --- VALKEY (formerly Redis) ---
|
||||
SPRING_DATA_VALKEY_HOST: "${VALKEY_SERVER_HOSTNAME:-valkey}"
|
||||
SPRING_DATA_VALKEY_PORT: "${VALKEY_SERVER_PORT:-6379}"
|
||||
SPRING_DATA_VALKEY_PASSWORD: "${VALKEY_PASSWORD:-}"
|
||||
SPRING_DATA_VALKEY_CONNECT_TIMEOUT: "${VALKEY_SERVER_CONNECT_TIMEOUT:-5s}"
|
||||
|
||||
# --- ZIPKIN ---
|
||||
MANAGEMENT_ZIPKIN_TRACING_ENDPOINT: "${ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}"
|
||||
MANAGEMENT_TRACING_SAMPLING_PROBABILITY: "${ZIPKIN_SAMPLING_PROBABILITY:-1.0}"
|
||||
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: "service_healthy"
|
||||
keycloak:
|
||||
condition: "service_healthy"
|
||||
consul:
|
||||
condition: "service_healthy"
|
||||
valkey:
|
||||
condition: "service_healthy"
|
||||
zipkin:
|
||||
condition: "service_started"
|
||||
|
||||
healthcheck:
|
||||
test: [ "CMD", "wget", "--spider", "-q", "http://localhost:8085/actuator/health/readiness" ]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 40s
|
||||
|
||||
networks:
|
||||
meldestelle-network:
|
||||
aliases:
|
||||
- "events-service"
|
||||
profiles: [ "backend", "all" ]
|
||||
volumes:
|
||||
- ./config/app/base-application.yaml:/workspace/config/application.yml:Z
|
||||
|
||||
# --- MICROSERVICE: ZNS Import Service ---
|
||||
zns-import-service:
|
||||
image: "${DOCKER_REGISTRY:-git.mo-code.at/mo-code}/zns-import-service:${DOCKER_TAG:-latest}"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: backend/services/zns-import/Dockerfile
|
||||
args:
|
||||
GRADLE_VERSION: "${DOCKER_GRADLE_VERSION:-9.3.1}"
|
||||
JAVA_VERSION: "${DOCKER_JAVA_VERSION:-25}"
|
||||
VERSION: "${DOCKER_VERSION:-1.0.0-SNAPSHOT}"
|
||||
BUILD_DATE: "${DOCKER_BUILD_DATE}"
|
||||
labels:
|
||||
- "org.opencontainers.image.created=${DOCKER_BUILD_DATE}"
|
||||
container_name: "${PROJECT_NAME:-meldestelle}-zns-import-service"
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${ZNS_IMPORT_PORT:-8095:8095}"
|
||||
- "${ZNS_IMPORT_DEBUG_PORT:-5009:5009}"
|
||||
environment:
|
||||
SPRING_PROFILES_ACTIVE: "${ZNS_IMPORT_SPRING_PROFILES_ACTIVE:-docker}"
|
||||
DEBUG: "${ZNS_IMPORT_DEBUG:-true}"
|
||||
SERVER_PORT: "${ZNS_IMPORT_SERVER_PORT:-8095}"
|
||||
|
||||
# --- KEYCLOAK ---
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: "${KC_ISSUER_URI:-http://localhost:8180/realms/meldestelle}"
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI: "${KC_JWK_SET_URI:-http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs}"
|
||||
|
||||
# --- CONSUL ---
|
||||
SPRING_CLOUD_CONSUL_HOST: "${CONSUL_HOST:-consul}"
|
||||
SPRING_CLOUD_CONSUL_PORT: "${CONSUL_HTTP_PORT:-8500}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_SERVICE_NAME: "${ZNS_IMPORT_SERVICE_NAME:-zns-import-service}"
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS: "${ZNS_IMPORT_CONSUL_PREFER_IP:-true}"
|
||||
|
||||
# - DATENBANK VERBINDUNG -
|
||||
SPRING_DATASOURCE_URL: "${POSTGRES_DB_URL:-jdbc:postgresql://postgres:5432/pg-meldestelle-db}"
|
||||
SPRING_DATASOURCE_USERNAME: "${POSTGRES_USER:-pg-user}"
|
||||
SPRING_DATASOURCE_PASSWORD: "${POSTGRES_PASSWORD:-pg-password}"
|
||||
|
||||
# --- VALKEY (formerly Redis) ---
|
||||
SPRING_DATA_VALKEY_HOST: "${VALKEY_SERVER_HOSTNAME:-valkey}"
|
||||
SPRING_DATA_VALKEY_PORT: "${VALKEY_SERVER_PORT:-6379}"
|
||||
SPRING_DATA_VALKEY_PASSWORD: "${VALKEY_PASSWORD:-}"
|
||||
SPRING_DATA_VALKEY_CONNECT_TIMEOUT: "${VALKEY_SERVER_CONNECT_TIMEOUT:-5s}"
|
||||
|
||||
# --- ZIPKIN ---
|
||||
MANAGEMENT_ZIPKIN_TRACING_ENDPOINT: "${ZIPKIN_ENDPOINT:-http://zipkin:9411/api/v2/spans}"
|
||||
MANAGEMENT_TRACING_SAMPLING_PROBABILITY: "${ZIPKIN_SAMPLING_PROBABILITY:-1.0}"
|
||||
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: "service_healthy"
|
||||
keycloak:
|
||||
condition: "service_healthy"
|
||||
consul:
|
||||
condition: "service_healthy"
|
||||
valkey:
|
||||
condition: "service_healthy"
|
||||
zipkin:
|
||||
condition: "service_started"
|
||||
|
||||
healthcheck:
|
||||
test: [ "CMD", "wget", "--spider", "-q", "http://localhost:8095/actuator/health/readiness" ]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 40s
|
||||
|
||||
networks:
|
||||
meldestelle-network:
|
||||
aliases:
|
||||
- "zns-import-service"
|
||||
profiles: [ "backend", "all" ]
|
||||
volumes:
|
||||
- ./config/app/base-application.yaml:/workspace/config/application.yml:Z
|
||||
|
||||
networks:
|
||||
meldestelle-network:
|
||||
driver: bridge
|
||||
|
||||
Reference in New Issue
Block a user