This is an automated email from the ASF dual-hosted git repository.

corgy pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 39e31a8559 [Hotfix][Zeta] Fix custom https port configuration not 
working (#9705)
39e31a8559 is described below

commit 39e31a855906f790be2dda5f2dec42795260d774
Author: zhangdonghao <39961809+hawk9...@users.noreply.github.com>
AuthorDate: Fri Aug 15 14:03:22 2025 +0800

    [Hotfix][Zeta] Fix custom https port configuration not working (#9705)
---
 .../common/config/server/ServerConfigOptions.java  |  2 +-
 .../config/YamlSeaTunnelConfigParserTest.java      | 19 +++++++++
 .../src/test/resources/seatunnel-https.yaml        | 47 ++++++++++++++++++++++
 3 files changed, 67 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ServerConfigOptions.java
 
b/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ServerConfigOptions.java
index 9811fa0842..ac14f3bcb2 100644
--- 
a/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ServerConfigOptions.java
+++ 
b/seatunnel-engine/seatunnel-engine-common/src/main/java/org/apache/seatunnel/engine/common/config/server/ServerConfigOptions.java
@@ -200,7 +200,7 @@ public class ServerConfigOptions {
                         .withDescription("Whether to enable the https 
server.");
 
         public static final Option<Integer> HTTPS_PORT =
-                Options.key("port")
+                Options.key("https-port")
                         .intType()
                         .defaultValue(8443)
                         .withDescription("The port of the https server.");
diff --git 
a/seatunnel-engine/seatunnel-engine-common/src/test/java/org/apache/seatunnel/engine/common/config/YamlSeaTunnelConfigParserTest.java
 
b/seatunnel-engine/seatunnel-engine-common/src/test/java/org/apache/seatunnel/engine/common/config/YamlSeaTunnelConfigParserTest.java
index 89ac90cd72..0c8bd19c4a 100644
--- 
a/seatunnel-engine/seatunnel-engine-common/src/test/java/org/apache/seatunnel/engine/common/config/YamlSeaTunnelConfigParserTest.java
+++ 
b/seatunnel-engine/seatunnel-engine-common/src/test/java/org/apache/seatunnel/engine/common/config/YamlSeaTunnelConfigParserTest.java
@@ -17,6 +17,8 @@
 
 package org.apache.seatunnel.engine.common.config;
 
+import org.apache.seatunnel.common.utils.ReflectionUtils;
+
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
@@ -78,6 +80,7 @@ public class YamlSeaTunnelConfigParserTest {
         
Assertions.assertTrue(config.getEngineConfig().getHttpConfig().isEnableDynamicPort());
         Assertions.assertEquals(8080, 
config.getEngineConfig().getHttpConfig().getPort());
         Assertions.assertEquals(200, 
config.getEngineConfig().getHttpConfig().getPortRange());
+        Assertions.assertEquals(8443, 
config.getEngineConfig().getHttpConfig().getHttpsPort());
         Assertions.assertEquals(
                 30, 
config.getEngineConfig().getCoordinatorServiceConfig().getCoreThreadNum());
         Assertions.assertEquals(
@@ -129,4 +132,20 @@ public class YamlSeaTunnelConfigParserTest {
                 Runtime.getRuntime().availableProcessors() * 2,
                 config.getEngineConfig().getSlotServiceConfig().getSlotNum());
     }
+
+    @Test
+    public void testCustomizeHttpsServerConfig() throws IOException {
+        YamlSeaTunnelConfigLocator yamlConfigLocator = new 
YamlSeaTunnelConfigLocator();
+        ReflectionUtils.invoke(
+                yamlConfigLocator, "loadDefaultConfigurationFromClasspath", 
"seatunnel-https.yaml");
+        SeaTunnelConfig config =
+                new 
YamlSeaTunnelConfigBuilder(yamlConfigLocator).setProperties(null).build();
+        
Assertions.assertTrue(config.getEngineConfig().getHttpConfig().isEnableHttps());
+        Assertions.assertEquals(18443, 
config.getEngineConfig().getHttpConfig().getHttpsPort());
+        Assertions.assertEquals(
+                "/seatunnel/seatunnel.keystore",
+                config.getEngineConfig().getHttpConfig().getKeyStorePath());
+        Assertions.assertEquals(
+                "123456", 
config.getEngineConfig().getHttpConfig().getKeyStorePassword());
+    }
 }
diff --git 
a/seatunnel-engine/seatunnel-engine-common/src/test/resources/seatunnel-https.yaml
 
b/seatunnel-engine/seatunnel-engine-common/src/test/resources/seatunnel-https.yaml
new file mode 100644
index 0000000000..582fe2e632
--- /dev/null
+++ 
b/seatunnel-engine/seatunnel-engine-common/src/test/resources/seatunnel-https.yaml
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+seatunnel:
+    engine:
+        backup-count: 1
+        print-execution-info-interval: 2
+        slot-service:
+            dynamic-slot: false
+            slot-num: 5
+        coordinator-service:
+            core-thread-num: 30
+            max-thread-num: 1000
+        checkpoint:
+            interval: 6000
+            timeout: 7000
+            storage:
+                type: hdfs
+                max-retained: 3
+                plugin-config:
+                    namespace: /tmp/seatunnel/checkpoint_snapshot
+                    storage.type: hdfs
+                    fs.defaultFS: file:/// # Ensure that the directory has 
written permission
+        telemetry:
+            metric:
+                enabled: false
+        http:
+             enable-http: true
+             port: 8080
+             enable-https: true
+             key-store-path: /seatunnel/seatunnel.keystore
+             key-store-password: 123456
+             https-port: 18443
\ No newline at end of file

Reply via email to