45 lines
1.9 KiB
Kotlin
45 lines
1.9 KiB
Kotlin
// Dieses Modul ist das API-Gateway und der einzige öffentliche Einstiegspunkt
|
||
// für alle externen Anfragen an das Meldestelle-System.
|
||
plugins {
|
||
alias(libs.plugins.kotlin.jvm)
|
||
alias(libs.plugins.kotlin.spring)
|
||
alias(libs.plugins.spring.boot)
|
||
alias(libs.plugins.spring.dependencyManagement)
|
||
}
|
||
|
||
// Konfiguriert die Hauptklasse für das ausführbare JAR.
|
||
springBoot {
|
||
mainClass.set("at.mocode.infrastructure.gateway.GatewayApplicationKt")
|
||
}
|
||
|
||
dependencies {
|
||
// Stellt sicher, dass alle Versionen aus der zentralen BOM kommen.
|
||
implementation(platform(projects.platform.platformBom))
|
||
// Stellt Utilities bereit
|
||
implementation(projects.core.coreUtils)
|
||
// Stellt gemeinsame Abhängigkeiten bereit.
|
||
implementation(projects.platform.platformDependencies)
|
||
|
||
// Stellt die Spring Cloud Gateway und Consul Discovery Abhängigkeiten bereit
|
||
implementation(libs.bundles.spring.cloud.gateway)
|
||
// Circuit Breaker (Resilience4j) für Gateway Filter
|
||
implementation("org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j")
|
||
// Reaktiver Webserver (Netty)
|
||
implementation("org.springframework.boot:spring-boot-starter-webflux")
|
||
// Spring Security (WebFlux) – benötigt für SecurityWebFilterChain-Konfiguration
|
||
implementation("org.springframework.boot:spring-boot-starter-security")
|
||
|
||
// Bindet die wiederverwendbare Logik zur JWT-Validierung ein.
|
||
implementation(projects.infrastructure.auth.authClient)
|
||
|
||
// Bindet die wiederverwendbare Logik für Metriken und Tracing ein.
|
||
implementation(projects.infrastructure.monitoring.monitoringClient)
|
||
|
||
// Stellt alle Test-Abhängigkeiten gebündelt bereit.
|
||
testImplementation(projects.platform.platformTesting)
|
||
testImplementation(libs.bundles.testing.jvm)
|
||
// Security im Testkontext – redundant aber ok
|
||
testImplementation(libs.spring.boot.starter.security)
|
||
|
||
}
|