chore: align yutong launchctl mqtt tuning

This commit is contained in:
lingniu
2026-07-01 14:41:52 +08:00
parent b979d7a020
commit 0d77f7777f
3 changed files with 33 additions and 1 deletions

View File

@@ -36,6 +36,18 @@
<string>__YUTONG_MQTT_PASSWORD__</string>
<key>YUTONG_MQTT_CLEAN_SESSION</key>
<string>false</string>
<key>YUTONG_MQTT_KEEP_ALIVE_SECONDS</key>
<string>__YUTONG_MQTT_KEEP_ALIVE_SECONDS__</string>
<key>YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS</key>
<string>__YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS__</string>
<key>YUTONG_MQTT_TLS_CA_PEM</key>
<string>__YUTONG_MQTT_TLS_CA_PEM__</string>
<key>YUTONG_MQTT_TLS_CLIENT_PEM</key>
<string>__YUTONG_MQTT_TLS_CLIENT_PEM__</string>
<key>YUTONG_MQTT_TLS_CLIENT_KEY</key>
<string>__YUTONG_MQTT_TLS_CLIENT_KEY__</string>
<key>YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED</key>
<string>__YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED__</string>
<key>KAFKA_ENABLED</key>
<string>true</string>
<key>KAFKA_BROKERS</key>

View File

@@ -53,6 +53,13 @@ def replacements() -> dict[str, str]:
"__YUTONG_MQTT_TOPIC__": env("YUTONG_MQTT_TOPIC", "#"),
"__YUTONG_MQTT_USERNAME__": env("YUTONG_MQTT_USERNAME", ""),
"__YUTONG_MQTT_PASSWORD__": env("YUTONG_MQTT_PASSWORD", ""),
"__YUTONG_MQTT_KEEP_ALIVE_SECONDS__": env("YUTONG_MQTT_KEEP_ALIVE_SECONDS", "20"),
"__YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS__": env("YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS", "10"),
"__YUTONG_MQTT_TLS_CA_PEM__": env("YUTONG_MQTT_TLS_CA_PEM", ""),
"__YUTONG_MQTT_TLS_CLIENT_PEM__": env("YUTONG_MQTT_TLS_CLIENT_PEM", ""),
"__YUTONG_MQTT_TLS_CLIENT_KEY__": env("YUTONG_MQTT_TLS_CLIENT_KEY", ""),
"__YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED__": env(
"YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED", "true"),
}

View File

@@ -189,6 +189,12 @@ class PortainerComposeResourceLimitsTest {
processBuilder.environment().put("YUTONG_MQTT_TOPIC", "#");
processBuilder.environment().put("YUTONG_MQTT_USERNAME", "mqtt_user");
processBuilder.environment().put("YUTONG_MQTT_PASSWORD", "mqtt&pwd#3");
processBuilder.environment().put("YUTONG_MQTT_KEEP_ALIVE_SECONDS", "45");
processBuilder.environment().put("YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS", "12");
processBuilder.environment().put("YUTONG_MQTT_TLS_CA_PEM", "ca&pem");
processBuilder.environment().put("YUTONG_MQTT_TLS_CLIENT_PEM", "client<pem>");
processBuilder.environment().put("YUTONG_MQTT_TLS_CLIENT_KEY", "key&value");
processBuilder.environment().put("YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED", "false");
Process process = processBuilder.start();
String output = new String(process.getInputStream().readAllBytes(), StandardCharsets.UTF_8)
@@ -203,9 +209,16 @@ class PortainerComposeResourceLimitsTest {
assertThat(mqtt)
.contains("<string>#</string>")
.contains("<string>mqtt&amp;pwd#3</string>")
.contains("<key>YUTONG_MQTT_KEEP_ALIVE_SECONDS</key>\n <string>45</string>")
.contains("<key>YUTONG_MQTT_CONNECTION_TIMEOUT_SECONDS</key>\n <string>12</string>")
.contains("<key>YUTONG_MQTT_TLS_CA_PEM</key>\n <string>ca&amp;pem</string>")
.contains("<key>YUTONG_MQTT_TLS_CLIENT_PEM</key>\n <string>client&lt;pem&gt;</string>")
.contains("<key>YUTONG_MQTT_TLS_CLIENT_KEY</key>\n <string>key&amp;value</string>")
.contains("<key>YUTONG_MQTT_TLS_HOSTNAME_VERIFICATION_ENABLED</key>\n <string>false</string>")
.contains("<string>/tmp/archive&amp;live__v1</string>")
.doesNotContain("__YUTONG_MQTT_TOPIC__")
.doesNotContain("__YUTONG_MQTT_PASSWORD__");
.doesNotContain("__YUTONG_MQTT_PASSWORD__")
.doesNotContain("__YUTONG_MQTT_TLS");
assertThat(analytics)
.contains("<string>stat&amp;pwd#2</string>")
.doesNotContain("__MYSQL_PASSWORD__");