From 59edc7a8d498b96526679821880fecce0c5eb4ae Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 12:08:54 +0800 Subject: [PATCH] config: expose health probes for active apps --- .../src/main/resources/application.yml | 4 +++ .../src/main/resources/application.yml | 4 +++ .../src/main/resources/application.yml | 4 +++ .../src/main/resources/application.yml | 4 +++ .../PortainerComposeResourceLimitsTest.java | 29 +++++++++++++++++++ .../src/main/resources/application.yml | 4 +++ 6 files changed, 49 insertions(+) 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 49397d62..daa835c5 100644 --- a/modules/apps/gb32960-ingest-app/src/main/resources/application.yml +++ b/modules/apps/gb32960-ingest-app/src/main/resources/application.yml @@ -130,6 +130,10 @@ management: web: exposure: include: health,info,metrics,prometheus,gb32960sessions + endpoint: + health: + probes: + enabled: ${MANAGEMENT_HEALTH_PROBES_ENABLED:true} health: redis: enabled: ${MANAGEMENT_HEALTH_REDIS_ENABLED:false} 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 9622a619..07275d2d 100644 --- a/modules/apps/jt808-ingest-app/src/main/resources/application.yml +++ b/modules/apps/jt808-ingest-app/src/main/resources/application.yml @@ -90,6 +90,10 @@ management: web: exposure: include: health,info,metrics,prometheus + endpoint: + health: + probes: + enabled: ${MANAGEMENT_HEALTH_PROBES_ENABLED:true} health: redis: enabled: ${MANAGEMENT_HEALTH_REDIS_ENABLED:false} diff --git a/modules/apps/vehicle-analytics-app/src/main/resources/application.yml b/modules/apps/vehicle-analytics-app/src/main/resources/application.yml index 482bb1fc..c227a302 100644 --- a/modules/apps/vehicle-analytics-app/src/main/resources/application.yml +++ b/modules/apps/vehicle-analytics-app/src/main/resources/application.yml @@ -70,6 +70,10 @@ management: web: exposure: include: health,info,metrics,prometheus + endpoint: + health: + probes: + enabled: ${MANAGEMENT_HEALTH_PROBES_ENABLED:true} metrics: tags: application: vehicle-analytics-app diff --git a/modules/apps/vehicle-history-app/src/main/resources/application.yml b/modules/apps/vehicle-history-app/src/main/resources/application.yml index 859bf837..aaa90061 100644 --- a/modules/apps/vehicle-history-app/src/main/resources/application.yml +++ b/modules/apps/vehicle-history-app/src/main/resources/application.yml @@ -107,6 +107,10 @@ management: web: exposure: include: health,info,metrics,prometheus + endpoint: + health: + probes: + enabled: ${MANAGEMENT_HEALTH_PROBES_ENABLED:true} health: redis: enabled: ${MANAGEMENT_HEALTH_REDIS_ENABLED:false} 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 3d289a11..c79fbf73 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 @@ -1,11 +1,14 @@ package com.lingniu.ingest.historyapp; import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; +import org.springframework.core.io.FileSystemResource; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import java.util.Properties; import static org.assertj.core.api.Assertions.assertThat; @@ -47,6 +50,24 @@ class PortainerComposeResourceLimitsTest { .contains("JAVA_OPTS: ${JAVA_OPTS:---sun-misc-unsafe-memory-access=allow -XX:+UseZGC -XX:MaxRAMPercentage=75}"); } + @Test + void activeAppsExposeHealthProbeGroupsByDefault() { + Path root = repositoryRoot(); + List activeAppConfigs = List.of( + root.resolve("modules/apps/gb32960-ingest-app/src/main/resources/application.yml"), + root.resolve("modules/apps/jt808-ingest-app/src/main/resources/application.yml"), + root.resolve("modules/apps/yutong-mqtt-app/src/main/resources/application.yml"), + root.resolve("modules/apps/vehicle-history-app/src/main/resources/application.yml"), + root.resolve("modules/apps/vehicle-analytics-app/src/main/resources/application.yml")); + + for (Path config : activeAppConfigs) { + assertThat(yamlProperties(config)) + .as(config.toString()) + .containsEntry("management.endpoint.health.probes.enabled", + "${MANAGEMENT_HEALTH_PROBES_ENABLED:true}"); + } + } + @Test void dockerEntrypointExecsJavaForSignalHandling() throws IOException { String dockerfile = Files.readString(repositoryRoot().resolve("Dockerfile")); @@ -388,6 +409,14 @@ class PortainerComposeResourceLimitsTest { return compose.substring(start, end); } + private static Properties yamlProperties(Path path) { + YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean(); + factory.setResources(new FileSystemResource(path)); + Properties properties = factory.getObject(); + assertThat(properties).isNotNull(); + return properties; + } + private static Path repositoryRoot() { Path current = Path.of(System.getProperty("user.dir")).toAbsolutePath(); while (current != null) { 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 9eefde95..2caea623 100644 --- a/modules/apps/yutong-mqtt-app/src/main/resources/application.yml +++ b/modules/apps/yutong-mqtt-app/src/main/resources/application.yml @@ -100,6 +100,10 @@ management: web: exposure: include: health,info,metrics,prometheus + endpoint: + health: + probes: + enabled: ${MANAGEMENT_HEALTH_PROBES_ENABLED:true} health: redis: enabled: ${MANAGEMENT_HEALTH_REDIS_ENABLED:false}