Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
emelianov
2026-06-15 10:13:33 +03:00
95 changed files with 5608 additions and 555 deletions
+2
View File
@@ -29,6 +29,7 @@ pcp:
coverage-scheme: 8080
satellite-catalog: 8080
dynamic-plan: 8080
gateway: 8080
services:
config: http://${pcp.network.host}:${pcp.ports.config}
@@ -47,6 +48,7 @@ pcp:
coverage-scheme: http://pcp-coverage-scheme-service:${pcp.ports.coverage-scheme}
satellite-catalog: http://pcp-satellite-catalog-service:${pcp.ports.satellite-catalog}
dynamic-plan: http://pcp-dynamic-plan-service:${pcp.ports.dynamic-plan}
gateway: http://pcp-gateway-service:${pcp.ports.gateway}
spring:
boot:
@@ -27,6 +27,7 @@ pcp:
coverage-scheme: 7012
satellite-catalog: 7013
dynamic-plan: 7014
gateway: 7080
services:
config: http://spring-cloud-config-server:${pcp.ports.config}
@@ -45,6 +46,7 @@ pcp:
coverage-scheme: http://pcp-coverage-scheme-service:${pcp.ports.coverage-scheme}
satellite-catalog: http://pcp-satellite-catalog-service:${pcp.ports.satellite-catalog}
dynamic-plan: http://pcp-dynamic-plan-service:${pcp.ports.dynamic-plan}
gateway: http://pcp-gateway-service:${pcp.ports.gateway}
spring:
kafka:
+2
View File
@@ -31,6 +31,7 @@ pcp:
coverage-scheme: 7012
satellite-catalog: 7013
dynamic-plan: 7014
gateway: 7080
services:
config: http://${pcp.network.host}:${pcp.ports.config}
@@ -49,6 +50,7 @@ pcp:
coverage-scheme: http://${pcp.network.host}:${pcp.ports.coverage-scheme}
satellite-catalog: http://${pcp.network.host}:${pcp.ports.satellite-catalog}
dynamic-plan: http://${pcp.network.host}:${pcp.ports.dynamic-plan}
gateway: http://${pcp.network.host}:${pcp.ports.gateway}
spring:
boot:
+105
View File
@@ -0,0 +1,105 @@
spring:
boot:
admin:
client:
instance:
service-base-url: ${pcp.services.gateway}
management-base-url: ${pcp.services.gateway}
cloud:
gateway:
server:
# WebFlux-вариант Spring Cloud Gateway (Boot 4 / Spring Cloud 2025.1).
webflux:
# CORS теперь живёт ТОЛЬКО здесь — единая точка на edge. Раньше дублировался
# per-service (pcp-ui-service/WebConfig.kt), но после сворачивания фронта на
# gateway браузер ходит к бэкендам строго через него. Страховка от cross-origin
# к самому gateway (dev напрямую, LAN-адрес рабочей станции): allowedOriginPatterns
# "*" совместим с allowCredentials=true (в отличие от allowedOrigins "*").
globalcors:
cors-configurations:
'[/**]':
allowedOriginPatterns: "*"
allowedMethods: "*"
allowedHeaders: "*"
allowCredentials: true
maxAge: 3600
routes:
# --- Доменные сервисы. Префикс /api/pcp-<x> СРЕЗАЕТСЯ (StripPrefix=2 убирает
# 2 сегмента: api + pcp-<x>), т.е. /api/pcp-tgu/api/plans -> бэкенд /api/plans.
# Это ровно семантика прежнего vite-rewrite. Цели берём из реестра pcp.services.*.
- id: tgu
uri: ${pcp.services.tgu}
predicates:
- Path=/api/pcp-tgu/**
filters:
- StripPrefix=2
- id: ballistics
uri: ${pcp.services.ballistics}
predicates:
- Path=/api/pcp-ballistics/**
filters:
- StripPrefix=2
- id: mission
uri: ${pcp.services.mission}
predicates:
- Path=/api/pcp-mission/**
filters:
- StripPrefix=2
- id: request
uri: ${pcp.services.request}
predicates:
- Path=/api/pcp-request/**
filters:
- StripPrefix=2
- id: complex
uri: ${pcp.services.complex-mission-service}
predicates:
- Path=/api/pcp-complex/**
filters:
- StripPrefix=2
- id: slots
uri: ${pcp.services.slots}
predicates:
- Path=/api/pcp-slots/**
filters:
- StripPrefix=2
# --- Станции: путь СОХРАНЯЕМ (в vite было без rewrite) — без StripPrefix.
- id: stations
uri: ${pcp.services.stations}
predicates:
- Path=/api/stations/**
# Catch-all /api/** -> pcp-ui-service СНЯТ: фронт переведён на источники напрямую
# (tgu/баллистика/mission), ui-service выводится из эксплуатации. См.
# docs/план-перевода-с-pcp-ui-service.md и задачу #40 бэклога. Любой не-матчнутый
# /api/** теперь честно отдаёт 404 на gateway, а не молча уходит в умирающий сервис.
# Валидация JWT на edge. По умолчанию ВЫКЛЮЧЕНА (anonymous, как сейчас работает фронт).
# Для закрытого контура: GATEWAY_JWT_ENABLED=true И задать issuer через env
# SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=<realm new-start>.
# Issuer намеренно НЕ объявлен здесь: пустое значение заставило бы автоконфиг поднимать
# JwtDecoder и падать на старте.
gateway:
security:
jwt-enabled: ${GATEWAY_JWT_ENABLED:false}
management:
endpoints:
web:
exposure:
include: health,info,metrics,prometheus
---
spring:
config:
activate:
on-profile: local
server:
port: ${pcp.ports.gateway:7080}
---
spring:
config:
activate:
on-profile: dev
server:
port: ${pcp.ports.gateway:8080}