0d69617420
mission-planing: POST /api/missions/{id}/clone — полный клон (replace)
или по перекрытию с окном (fork-forward, [start,stop) открытый правый конец);
пустые drop-mode (все съёмки вне окна) не клонируются
tgu-service: PlannedPlanStatus.DRAFT; POST /api/plans/{planId}/draft
(CreateDraftUseCase: guard replace/fork-forward, clone mission → planId=newMissionId,
компенсация при сбое); DRAFT отфильтрован из PlanQueryService read-пути;
MissionPlaningClient + MissionPlaningProperties + mission-planing.base-url в yaml
тесты: MissionCloneTest (6 граничных кейсов предиката перекрытия),
PlanQueryServiceTest (DRAFT не видна в ответе)
config-repo
Файлы в этом подпроекте предназначены для spring-cloud-config-server.
Ожидаемый сценарий:
- этот каталог хранится в GitLab-репозитории с конфигами
spring-cloud-config-serverчитает его черезCONFIG_GIT_URI- сервисы запрашивают конфиги по имени
spring.application.name
Для tle-monitoring-service используются файлы:
tle-monitoring-service.yaml
Пример запроса к Config Server:
GET /tle-monitoring-service/local
Архитектурные договоренности:
pcp-request-serviceявляется единственным owner request/grid-домена.pcp.services.requestдолжен использоваться как основной runtime endpoint для requests/cells/grid.pcp.services.earth-gridсохранен только как legacy alias и должен резолвиться вpcp.services.request.- lifecycle booked slots должен идти Kafka-first; legacy HTTP
/api/slots/booking/processне считается рабочим основным путем. pcp.services.adminуказывает наpcp-srpring-boot-admin-server; сервисы PCP должны регистрироваться в нем через Spring Boot Admin client.