chore: expose history dlq in launchctl

This commit is contained in:
lingniu
2026-07-01 16:43:10 +08:00
parent 6ac77b2f7d
commit ec4aed3ca9
4 changed files with 19 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ export VEHICLE_IDENTITY_MYSQL_REFRESH_INTERVAL='60s'
export MYSQL_JDBC_URL="$VEHICLE_IDENTITY_MYSQL_JDBC_URL" export MYSQL_JDBC_URL="$VEHICLE_IDENTITY_MYSQL_JDBC_URL"
export MYSQL_USERNAME="$VEHICLE_IDENTITY_MYSQL_USERNAME" export MYSQL_USERNAME="$VEHICLE_IDENTITY_MYSQL_USERNAME"
export MYSQL_PASSWORD="$VEHICLE_IDENTITY_MYSQL_PASSWORD" export MYSQL_PASSWORD="$VEHICLE_IDENTITY_MYSQL_PASSWORD"
export KAFKA_TOPIC_HISTORY_DLQ='vehicle.dlq.history.v1'
export YUTONG_MQTT_ENABLED='false' export YUTONG_MQTT_ENABLED='false'
export YUTONG_MQTT_URI='' export YUTONG_MQTT_URI=''
export YUTONG_MQTT_TOPIC='#' export YUTONG_MQTT_TOPIC='#'

View File

@@ -40,6 +40,8 @@
<string>vehicle.event.mqtt-yutong.v1</string> <string>vehicle.event.mqtt-yutong.v1</string>
<key>KAFKA_TOPIC_YUTONG_MQTT_RAW</key> <key>KAFKA_TOPIC_YUTONG_MQTT_RAW</key>
<string>vehicle.raw.mqtt-yutong.v1</string> <string>vehicle.raw.mqtt-yutong.v1</string>
<key>KAFKA_TOPIC_HISTORY_DLQ</key>
<string>__KAFKA_TOPIC_HISTORY_DLQ__</string>
<key>TDENGINE_HISTORY_ENABLED</key> <key>TDENGINE_HISTORY_ENABLED</key>
<string>true</string> <string>true</string>
<key>TDENGINE_HISTORY_DATABASE</key> <key>TDENGINE_HISTORY_DATABASE</key>

View File

@@ -48,6 +48,7 @@ def replacements() -> dict[str, str]:
"__MYSQL_JDBC_URL__": env("MYSQL_JDBC_URL", identity_jdbc), "__MYSQL_JDBC_URL__": env("MYSQL_JDBC_URL", identity_jdbc),
"__MYSQL_USERNAME__": env("MYSQL_USERNAME", identity_username), "__MYSQL_USERNAME__": env("MYSQL_USERNAME", identity_username),
"__MYSQL_PASSWORD__": env("MYSQL_PASSWORD", identity_password), "__MYSQL_PASSWORD__": env("MYSQL_PASSWORD", identity_password),
"__KAFKA_TOPIC_HISTORY_DLQ__": env("KAFKA_TOPIC_HISTORY_DLQ", "vehicle.dlq.history.v1"),
"__YUTONG_MQTT_ENABLED__": env("YUTONG_MQTT_ENABLED", "false"), "__YUTONG_MQTT_ENABLED__": env("YUTONG_MQTT_ENABLED", "false"),
"__YUTONG_MQTT_URI__": env("YUTONG_MQTT_URI", ""), "__YUTONG_MQTT_URI__": env("YUTONG_MQTT_URI", ""),
"__YUTONG_MQTT_TOPIC__": env("YUTONG_MQTT_TOPIC", "#"), "__YUTONG_MQTT_TOPIC__": env("YUTONG_MQTT_TOPIC", "#"),

View File

@@ -149,6 +149,21 @@ class PortainerComposeResourceLimitsTest {
.contains("keepAlive、连接超时和 TLS PEM 参数"); .contains("keepAlive、连接超时和 TLS PEM 参数");
} }
@Test
void localLaunchctlTemplatesExposeHistoryConsumerDeadLetterTopic() throws IOException {
Path launchctl = repositoryRoot().resolve("deploy/local/launchctl");
String readme = Files.readString(launchctl.resolve("README.md"));
String renderer = Files.readString(launchctl.resolve("render.py"));
String historyTemplate = Files.readString(launchctl.resolve("com.lingniu.vehicle-history.plist.template"));
assertThat(readme)
.contains("export KAFKA_TOPIC_HISTORY_DLQ='vehicle.dlq.history.v1'");
assertThat(renderer)
.contains("\"__KAFKA_TOPIC_HISTORY_DLQ__\": env(\"KAFKA_TOPIC_HISTORY_DLQ\", \"vehicle.dlq.history.v1\")");
assertThat(historyTemplate)
.contains("<key>KAFKA_TOPIC_HISTORY_DLQ</key>\n <string>__KAFKA_TOPIC_HISTORY_DLQ__</string>");
}
@Test @Test
void localLaunchctlTemplatesCoverActiveProductionApps() throws IOException { void localLaunchctlTemplatesCoverActiveProductionApps() throws IOException {
Path launchctl = repositoryRoot().resolve("deploy/local/launchctl"); Path launchctl = repositoryRoot().resolve("deploy/local/launchctl");