ab3a787da5
- новый Spring Cloud Gateway (WebFlux): доменные маршруты /api/pcp-<x>/**
со StripPrefix=2, /api/stations без среза пути, catch-all /api/** → ui-service;
опциональная JWT-валидация на edge (gateway.security.jwt-enabled, по умолчанию off)
- config-repo: pcp-gateway-service.yaml (маршруты) + порт/адрес gateway в реестрах
application-{local,docker-local,dev}
- build: репозитории переведены на mavenCentral (nstart-proxy закомментирован),
включены mavenLocal/gradlePluginPortal; settings: include модуля
- pcp-tgu-ui-service: vite-proxy и nginx.conf свёрнуты на единый /api → gateway
(вместо набора per-service правил)
- deploy: сервис gateway в docker-compose; helm-чарт pcp-gateway-service
- CI: .gitlab/ci/pcp-gateway-service.yml + проводка в .gitlab-ci.yml
51 lines
1.7 KiB
Kotlin
51 lines
1.7 KiB
Kotlin
group = "space.nstart.pcp"
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
kotlin("plugin.spring")
|
|
id("org.springframework.boot")
|
|
id("io.spring.dependency-management")
|
|
}
|
|
|
|
version = "0.0.1"
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of((property("versions.java") as String).toInt())
|
|
}
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs.addAll("-Xjsr305=strict")
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Реактивный edge: Spring Cloud Gateway (WebFlux-вариант) + конфиг из config-server.
|
|
// Маршруты живут в config-repo/pcp-gateway-service.yaml — единый источник правды.
|
|
implementation("org.springframework.cloud:spring-cloud-starter-gateway-server-webflux")
|
|
implementation("org.springframework.cloud:spring-cloud-starter-config")
|
|
implementation("org.springframework.boot:spring-boot-starter-actuator")
|
|
// Валидация JWT на edge (Keycloak/new-start-id) — включается флагом gateway.security.jwt-enabled.
|
|
// Тянет reactive Spring Security (ServerHttpSecurity/@EnableWebFluxSecurity).
|
|
implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
|
|
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
|
|
|
|
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
|
|
implementation("org.jetbrains.kotlin:kotlin-reflect")
|
|
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
tasks.withType<Test> {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom("org.springframework.cloud:spring-cloud-dependencies:${property("versions.spring.cloud")}")
|
|
}
|
|
}
|