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