feat: Maven multimodule scaffolding for Ordinis MDM service

- 10 модулей (domain, validation, events-api, outbox, rest-api, app, read-api, projection-writer, cuod-bundle, migrations)
- Parent pom + BOM с Spring Boot 3.4.2, Spring Cloud 2024.0.0, Vault Config 4.2.0
- ordinis-app: Spring Boot main с Actuator/Prometheus/Logstash JSON encoder/OpenTelemetry/Cloud Config/Vault skeleton
- ordinis-migrations: Liquibase changelogs (dictionary_definitions/records, audit_log, outbox_events, idempotency_keys, EXCLUSION CONSTRAINT через btree_gist)
- Multi-stage Dockerfiles для app и migrations
This commit is contained in:
Zimin A.N.
2026-05-03 00:41:53 +03:00
commit a28fd0b352
26 changed files with 1130 additions and 0 deletions
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<springProperty scope="context" name="appName" source="spring.application.name" defaultValue="ordinis-app"/>
<springProperty scope="context" name="environment" source="ENVIRONMENT" defaultValue="dev"/>
<appender name="STDOUT_JSON" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<includeMdcKeyName>trace_id</includeMdcKeyName>
<includeMdcKeyName>span_id</includeMdcKeyName>
<includeMdcKeyName>scope</includeMdcKeyName>
<includeMdcKeyName>dictionary</includeMdcKeyName>
<includeMdcKeyName>request_id</includeMdcKeyName>
<includeMdcKeyName>user_id</includeMdcKeyName>
<customFields>{"service":"${appName}","environment":"${environment}"}</customFields>
</encoder>
</appender>
<appender name="STDOUT_HUMAN" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- DEV: human-readable; PROD/STAGING: JSON для Loki -->
<springProfile name="dev">
<root level="INFO">
<appender-ref ref="STDOUT_HUMAN"/>
</root>
<logger name="cloud.nstart.terravault.ordinis" level="DEBUG"/>
</springProfile>
<springProfile name="!dev">
<root level="INFO">
<appender-ref ref="STDOUT_JSON"/>
</root>
<logger name="cloud.nstart.terravault.ordinis" level="DEBUG"/>
</springProfile>
</configuration>