179 lines
6.0 KiB
Plaintext
179 lines
6.0 KiB
Plaintext
# =============================================================================
|
|
# Meldestelle - Umgebungsvariablen Vorlage
|
|
# =============================================================================
|
|
# Dies ist die SINGLE SOURCE OF TRUTH für alle Umgebungsvariablen.
|
|
# Kopieren Sie zu .env.dev, .env.prod, .env.staging oder .env.test und anpassen.
|
|
#
|
|
# ⚠️ SICHERHEITSWARNUNG:
|
|
# - Niemals Produktions-Secrets in die Versionskontrolle committen
|
|
# - JWT_SECRET in der Produktion ändern
|
|
# - Starke Passwörter für Produktionsumgebungen verwenden
|
|
# - API-Schlüssel regelmäßig rotieren
|
|
# =============================================================================
|
|
|
|
# =============================================================================
|
|
# 1. ANWENDUNGSKONFIGURATION
|
|
# =============================================================================
|
|
APP_NAME=Meldestelle
|
|
APP_VERSION=1.0.0
|
|
APP_DESCRIPTION='Pferdesport Meldestelle System'
|
|
APP_ENVIRONMENT=development
|
|
APP_HOST=0.0.0.0
|
|
|
|
# Entwicklungsspezifische Einstellungen
|
|
DEBUG_MODE=true
|
|
DEV_HOT_RELOAD=true
|
|
|
|
# =============================================================================
|
|
# 2. PORT-VERWALTUNG - SINGLE SOURCE OF TRUTH
|
|
# =============================================================================
|
|
# Gateway Ports
|
|
GATEWAY_PORT=8081
|
|
GATEWAY_ADMIN_PORT=8080
|
|
|
|
# Service Ports (eindeutige Zuteilung)
|
|
PING_SERVICE_PORT=8082
|
|
MEMBERS_SERVICE_PORT=8083
|
|
HORSES_SERVICE_PORT=8084
|
|
EVENTS_SERVICE_PORT=8085
|
|
MASTERDATA_SERVICE_PORT=8086
|
|
AUTH_SERVICE_PORT=8087
|
|
|
|
# Infrastruktur Ports
|
|
CONSUL_PORT=8500
|
|
REDIS_PORT=6379
|
|
KAFKA_PORT=9092
|
|
PROMETHEUS_PORT=9090
|
|
GRAFANA_PORT=3000
|
|
|
|
# =============================================================================
|
|
# 3. DATENBANK-KONFIGURATION (PostgreSQL)
|
|
# =============================================================================
|
|
# Anwendungs-Datenbankeinstellungen
|
|
DB_HOST=localhost
|
|
DB_PORT=5432
|
|
DB_NAME=meldestelle
|
|
DB_USER=meldestelle
|
|
DB_PASSWORD=meldestelle
|
|
DB_MAX_POOL_SIZE=10
|
|
DB_MIN_POOL_SIZE=5
|
|
DB_AUTO_MIGRATE=true
|
|
|
|
# Docker PostgreSQL Container-Einstellungen
|
|
POSTGRES_USER=meldestelle
|
|
POSTGRES_PASSWORD=meldestelle
|
|
POSTGRES_DB=meldestelle
|
|
POSTGRES_EXTERNAL_PORT=5432
|
|
|
|
# =============================================================================
|
|
# 4. REDIS-KONFIGURATION
|
|
# =============================================================================
|
|
# Event Store Konfiguration
|
|
REDIS_EVENT_STORE_HOST=localhost
|
|
REDIS_EVENT_STORE_PORT=6379
|
|
REDIS_EVENT_STORE_PASSWORD=
|
|
REDIS_EVENT_STORE_DATABASE=0
|
|
REDIS_EVENT_STORE_CONNECTION_TIMEOUT=2000
|
|
REDIS_EVENT_STORE_READ_TIMEOUT=2000
|
|
REDIS_EVENT_STORE_USE_POOLING=true
|
|
REDIS_EVENT_STORE_MAX_POOL_SIZE=8
|
|
REDIS_EVENT_STORE_MIN_POOL_SIZE=2
|
|
|
|
# Cache-Konfiguration
|
|
REDIS_CACHE_HOST=localhost
|
|
REDIS_CACHE_PORT=6379
|
|
REDIS_CACHE_PASSWORD=
|
|
REDIS_CACHE_DATABASE=1
|
|
|
|
# Redis Docker-Einstellungen
|
|
REDIS_EXTERNAL_PORT=6379
|
|
REDIS_PASSWORD=
|
|
|
|
# =============================================================================
|
|
# 5. SICHERHEITSKONFIGURATION
|
|
# =============================================================================
|
|
JWT_SECRET=meldestelle-jwt-secret-key-for-development-change-in-production
|
|
JWT_ISSUER=meldestelle-api
|
|
JWT_AUDIENCE=meldestelle-clients
|
|
JWT_REALM=meldestelle
|
|
API_KEY=meldestelle-api-key-for-development
|
|
|
|
# =============================================================================
|
|
# 6. KEYCLOAK CONFIGURATION
|
|
# =============================================================================
|
|
KEYCLOAK_ADMIN=admin
|
|
KEYCLOAK_ADMIN_PASSWORD=admin
|
|
KC_DB=postgres
|
|
KC_DB_URL=jdbc:postgresql://postgres:5432/keycloak
|
|
KC_DB_USERNAME=meldestelle
|
|
KC_DB_PASSWORD=meldestelle
|
|
KC_HOSTNAME=auth.meldestelle.local
|
|
|
|
# =============================================================================
|
|
# 7. SERVICE DISCOVERY (Consul)
|
|
# =============================================================================
|
|
CONSUL_HOST=consul
|
|
CONSUL_ENABLED=true
|
|
SERVICE_DISCOVERY_ENABLED=true
|
|
SERVICE_DISCOVERY_REGISTER_SERVICES=true
|
|
SERVICE_DISCOVERY_HEALTH_CHECK_PATH=/health
|
|
SERVICE_DISCOVERY_HEALTH_CHECK_INTERVAL=10
|
|
|
|
# =============================================================================
|
|
# 8. MESSAGING (Kafka)
|
|
# =============================================================================
|
|
ZOOKEEPER_CLIENT_PORT=2181
|
|
KAFKA_BROKER_ID=1
|
|
KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
|
|
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
|
|
KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
|
|
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
|
|
|
|
# =============================================================================
|
|
# 9. MONITORING
|
|
# =============================================================================
|
|
# Grafana Configuration
|
|
GF_SECURITY_ADMIN_USER=admin
|
|
GF_SECURITY_ADMIN_PASSWORD=admin
|
|
GF_USERS_ALLOW_SIGN_UP=false
|
|
|
|
# Metrics Authentication
|
|
METRICS_AUTH_USERNAME=admin
|
|
METRICS_AUTH_PASSWORD=metrics
|
|
|
|
# Monitoring hostnames
|
|
GRAFANA_HOSTNAME=grafana.meldestelle.local
|
|
PROMETHEUS_HOSTNAME=prometheus.meldestelle.local
|
|
|
|
# =============================================================================
|
|
# 10. LOGGING CONFIGURATION
|
|
# =============================================================================
|
|
LOGGING_LEVEL=DEBUG
|
|
LOGGING_REQUESTS=true
|
|
LOGGING_RESPONSES=true
|
|
LOGGING_REQUEST_HEADERS=true
|
|
LOGGING_REQUEST_BODY=true
|
|
LOGGING_RESPONSE_HEADERS=true
|
|
LOGGING_RESPONSE_BODY=true
|
|
LOGGING_STRUCTURED=true
|
|
LOGGING_CORRELATION_ID=true
|
|
LOGGING_REQUEST_ID_HEADER=X-Request-ID
|
|
|
|
# =============================================================================
|
|
# 11. CORS AND RATE LIMITING
|
|
# =============================================================================
|
|
SERVER_CORS_ENABLED=true
|
|
SERVER_CORS_ALLOWED_ORIGINS=*
|
|
RATELIMIT_ENABLED=true
|
|
RATELIMIT_GLOBAL_LIMIT=100
|
|
RATELIMIT_GLOBAL_PERIOD_MINUTES=1
|
|
RATELIMIT_INCLUDE_HEADERS=true
|
|
|
|
# =============================================================================
|
|
# 12. SPRING PROFILES AND GATEWAY
|
|
# =============================================================================
|
|
SPRING_PROFILES_ACTIVE=dev
|
|
GATEWAY_ADMIN_USER=admin
|
|
GATEWAY_ADMIN_PASSWORD=admin
|