diff --git a/deploy/local/launchctl/README.md b/deploy/local/launchctl/README.md index 49ce0487..f47f21ce 100644 --- a/deploy/local/launchctl/README.md +++ b/deploy/local/launchctl/README.md @@ -109,10 +109,10 @@ curl -sS http://127.0.0.1:20300/actuator/health/liveness curl -sS http://127.0.0.1:20300/actuator/health/readiness ``` -Swagger: +API / Swagger: -- GB32960 ingest: `http://127.0.0.1:20100/swagger-ui/index.html` -- JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html` -- Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html` +- GB32960 ingest health: `http://127.0.0.1:20100/actuator/health` +- JT808 ingest health: `http://127.0.0.1:20400/actuator/health` +- Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health` - History query: `http://127.0.0.1:20200/swagger-ui/index.html` - Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html` diff --git a/docs/operations/vehicle-ingest-tdengine-verification.md b/docs/operations/vehicle-ingest-tdengine-verification.md index 0f0613b1..f5bd1efe 100644 --- a/docs/operations/vehicle-ingest-tdengine-verification.md +++ b/docs/operations/vehicle-ingest-tdengine-verification.md @@ -190,11 +190,11 @@ curl -sS http://127.0.0.1:20300/actuator/health/liveness curl -sS http://127.0.0.1:20300/actuator/health/readiness ``` -Swagger: +API / Swagger: -- JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html` -- GB32960 ingest: `http://127.0.0.1:20100/swagger-ui/index.html` -- Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html` +- JT808 ingest health: `http://127.0.0.1:20400/actuator/health` +- GB32960 ingest health: `http://127.0.0.1:20100/actuator/health` +- Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health` - History query: `http://127.0.0.1:20200/swagger-ui/index.html` - Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html` diff --git a/modules/apps/gb32960-ingest-app/pom.xml b/modules/apps/gb32960-ingest-app/pom.xml index d61281b5..337adec8 100644 --- a/modules/apps/gb32960-ingest-app/pom.xml +++ b/modules/apps/gb32960-ingest-app/pom.xml @@ -49,10 +49,6 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - - org.springdoc - springdoc-openapi-starter-webmvc-ui - org.springframework.boot spring-boot-starter-test diff --git a/modules/apps/gb32960-ingest-app/src/main/resources/application.yml b/modules/apps/gb32960-ingest-app/src/main/resources/application.yml index 5065b8b6..b823c666 100644 --- a/modules/apps/gb32960-ingest-app/src/main/resources/application.yml +++ b/modules/apps/gb32960-ingest-app/src/main/resources/application.yml @@ -28,12 +28,6 @@ spring: server: port: ${HTTP_PORT:20100} -springdoc: - swagger-ui: - path: /swagger-ui.html - api-docs: - path: /v3/api-docs - lingniu: ingest: gb32960: diff --git a/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java b/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java index 0b40ab84..e27673c7 100644 --- a/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java +++ b/modules/apps/gb32960-ingest-app/src/test/java/com/lingniu/ingest/gb32960app/Gb32960IngestAppDefaultsTest.java @@ -64,7 +64,8 @@ class Gb32960IngestAppDefaultsTest { .doesNotContain("event-history:") .doesNotContain("event-file-store:") .doesNotContain("vehicle-state:") - .doesNotContain("vehicle-stat:"); + .doesNotContain("vehicle-stat:") + .doesNotContain("springdoc:"); assertThat(applicationYaml()) .contains("password: ${GB32960_PLATFORM_PWD_HYUNDAI:}") .contains("password: ${GB32960_PLATFORM_PWD_YUEJIN:}") diff --git a/modules/apps/jt808-ingest-app/pom.xml b/modules/apps/jt808-ingest-app/pom.xml index 30ff9319..fa39adda 100644 --- a/modules/apps/jt808-ingest-app/pom.xml +++ b/modules/apps/jt808-ingest-app/pom.xml @@ -49,10 +49,6 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - - org.springdoc - springdoc-openapi-starter-webmvc-ui - org.springframework.boot spring-boot-starter-test diff --git a/modules/apps/jt808-ingest-app/src/main/resources/application.yml b/modules/apps/jt808-ingest-app/src/main/resources/application.yml index 276b6443..0e45d132 100644 --- a/modules/apps/jt808-ingest-app/src/main/resources/application.yml +++ b/modules/apps/jt808-ingest-app/src/main/resources/application.yml @@ -28,12 +28,6 @@ spring: server: port: ${HTTP_PORT:20400} -springdoc: - swagger-ui: - path: /swagger-ui.html - api-docs: - path: /v3/api-docs - lingniu: ingest: jt808: diff --git a/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java b/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java index 5407a2aa..d4fdc471 100644 --- a/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java +++ b/modules/apps/jt808-ingest-app/src/test/java/com/lingniu/ingest/jt808app/Jt808IngestAppDefaultsTest.java @@ -55,6 +55,7 @@ class Jt808IngestAppDefaultsTest { .doesNotContain("event-file-store:") .doesNotContain("vehicle-state:") .doesNotContain("vehicle-stat:") + .doesNotContain("springdoc:") .doesNotContain("SESSION_STORE") .doesNotContain("VEHICLE_IDENTITY_STORE") .doesNotContain("KAFKA_ENABLED"); diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java index 7827419c..0636ee43 100644 --- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java +++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java @@ -294,6 +294,25 @@ class MavenModuleProfileTest { } } + @Test + void springdocUiIsOnlyPackagedWithAppsThatExposeRestApis() throws Exception { + for (String appPom : List.of( + "modules/apps/gb32960-ingest-app/pom.xml", + "modules/apps/jt808-ingest-app/pom.xml", + "modules/apps/yutong-mqtt-app/pom.xml")) { + assertThat(hasDependency(modulePom(appPom), "org.springdoc", "springdoc-openapi-starter-webmvc-ui")) + .as(appPom + " exposes Actuator only; Swagger UI belongs to query/API apps") + .isFalse(); + } + for (String appPom : List.of( + "modules/apps/vehicle-history-app/pom.xml", + "modules/apps/vehicle-analytics-app/pom.xml")) { + assertThat(hasDependency(modulePom(appPom), "org.springdoc", "springdoc-openapi-starter-webmvc-ui")) + .as(appPom + " exposes REST APIs") + .isTrue(); + } + } + @Test void buildSurfaceDoesNotManageLombokWhenProductionSourcesDoNotUseIt() throws Exception { Document pom = rootPom(); diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java index 293cdd95..028f005b 100644 --- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java +++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/PortainerComposeResourceLimitsTest.java @@ -163,8 +163,9 @@ class PortainerComposeResourceLimitsTest { .contains("launchctl bootout \"gui/$(id -u)\" \"$HOME/Library/LaunchAgents/com.lingniu.yutong-mqtt.plist\" || true") .contains("launchctl bootout \"gui/$(id -u)\" \"$HOME/Library/LaunchAgents/com.lingniu.vehicle-analytics.plist\" || true") .contains("launchctl list | rg 'com.lingniu.(gb32960|jt808|yutong-mqtt|vehicle-history|vehicle-analytics)'") - .contains("Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`") + .contains("Yutong MQTT ingest health: `http://127.0.0.1:20500/actuator/health`") .contains("Analytics metrics: `http://127.0.0.1:20300/swagger-ui/index.html`") + .doesNotContain("Yutong MQTT ingest: `http://127.0.0.1:20500/swagger-ui/index.html`") .doesNotContain("sed \\") .doesNotContain("三个服务"); @@ -451,7 +452,8 @@ class PortainerComposeResourceLimitsTest { assertThat(readme) .contains("`jt808-ingest-app`: TCP `808`,HTTP `20400`") .contains("curl -sS http://127.0.0.1:20400/actuator/health") - .contains("JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`") + .contains("JT808 ingest health: `http://127.0.0.1:20400/actuator/health`") + .doesNotContain("JT808 ingest: `http://127.0.0.1:20400/swagger-ui/index.html`") .doesNotContain("20482"); } diff --git a/modules/apps/yutong-mqtt-app/pom.xml b/modules/apps/yutong-mqtt-app/pom.xml index 7c2039d0..e2896cc3 100644 --- a/modules/apps/yutong-mqtt-app/pom.xml +++ b/modules/apps/yutong-mqtt-app/pom.xml @@ -45,10 +45,6 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - - org.springdoc - springdoc-openapi-starter-webmvc-ui - org.springframework.boot spring-boot-starter-test diff --git a/modules/apps/yutong-mqtt-app/src/main/resources/application.yml b/modules/apps/yutong-mqtt-app/src/main/resources/application.yml index 1cdb4d4c..86301eb5 100644 --- a/modules/apps/yutong-mqtt-app/src/main/resources/application.yml +++ b/modules/apps/yutong-mqtt-app/src/main/resources/application.yml @@ -21,12 +21,6 @@ spring: server: port: ${HTTP_PORT:20500} -springdoc: - swagger-ui: - path: /swagger-ui.html - api-docs: - path: /v3/api-docs - lingniu: ingest: mqtt: diff --git a/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java b/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java index ebfa3c7e..5e99c230 100644 --- a/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java +++ b/modules/apps/yutong-mqtt-app/src/test/java/com/lingniu/ingest/yutongmqttapp/YutongMqttAppDefaultsTest.java @@ -49,6 +49,7 @@ class YutongMqttAppDefaultsTest { .doesNotContain("event-file-store:") .doesNotContain("vehicle-state:") .doesNotContain("vehicle-stat:") + .doesNotContain("springdoc:") .doesNotContain("VEHICLE_IDENTITY_STORE") .doesNotContain("KAFKA_ENABLED"); }