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

smolnar82 pushed a commit to branch knox_idf
in repository https://gitbox.apache.org/repos/asf/knox.git

commit 168d2a46f11658c889143a2928b35c41aab8731a
Author: hanicz <[email protected]>
AuthorDate: Tue Jun 16 09:39:49 2026 +0200

    KNOX-3352: Set scheme for Iceberg REST catalog based on ssl enabled c… 
(#1265)
    
    * KNOX-3352: Set scheme for Iceberg REST catalog based on ssl enabled config
    
    * KNOX-3352: Fix unit test
    
    (cherry picked from commit 13d2f1f34b3b5a274e7591afaa5d72eac01dee82)
---
 .../model/hive/IcebergRestServiceModelGenerator.java |  5 ++++-
 .../hive/IcebergRestServiceModelGeneratorTest.java   | 20 +++++++++++++++++---
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGenerator.java
 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGenerator.java
index f25f914db..531f7f328 100644
--- 
a/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGenerator.java
+++ 
b/gateway-discovery-cm/src/main/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGenerator.java
@@ -36,6 +36,7 @@ public class IcebergRestServiceModelGenerator extends 
AbstractServiceModelGenera
   static final String HTTP_PORT = "hive_metastore_catalog_servlet_port";
   static final String HTTP_PATH = "hive_metastore_catalog_servlet_path";
   static final String REST_CATALOG_ENABLED = "hive_rest_catalog_enabled";
+  static final String SSL_ENABLED    = "hiveserver2_enable_ssl";
 
   static final String DEFAULT_HTTP_PATH = "icecli";
 
@@ -74,7 +75,8 @@ public class IcebergRestServiceModelGenerator extends 
AbstractServiceModelGenera
                                       ApiRole role,
                                       ApiConfigList roleConfig, 
ApiServiceConfig coreSettingsConfig) throws ApiException {
     String hostname = role.getHostRef().getHostname();
-    String scheme = "http";
+    boolean sslEnabled = 
Boolean.parseBoolean(getServiceConfigValue(serviceConfig, SSL_ENABLED));
+    String scheme = sslEnabled ? "https" : "http";
     String port = getHttpPort(serviceConfig);
     String httpPath = getHttpPath(serviceConfig);
 
@@ -87,6 +89,7 @@ public class IcebergRestServiceModelGenerator extends 
AbstractServiceModelGenera
     model.addServiceProperty(HTTP_PORT, getHttpPort(serviceConfig));
     model.addServiceProperty(HTTP_PATH, getHttpPath(serviceConfig));
     model.addServiceProperty(REST_CATALOG_ENABLED, 
getRestCatalogEnabled(serviceConfig));
+    model.addServiceProperty(SSL_ENABLED, Boolean.toString(sslEnabled));
 
     return model;
   }
diff --git 
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGeneratorTest.java
 
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGeneratorTest.java
index 97179bbea..1de14e6b2 100644
--- 
a/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGeneratorTest.java
+++ 
b/gateway-discovery-cm/src/test/java/org/apache/knox/gateway/topology/discovery/cm/model/hive/IcebergRestServiceModelGeneratorTest.java
@@ -50,9 +50,23 @@ public class IcebergRestServiceModelGeneratorTest extends 
AbstractServiceModelGe
   @Test
   public void testServiceModel() {
     final Map<String, String> serviceConfig = new HashMap<>();
-    serviceConfig.put("hive_metastore_catalog_servlet_port", "8090");
-    serviceConfig.put("hive_metastore_catalog_servlet_path", "icecli");
-    serviceConfig.put("hive_rest_catalog_enabled", "true");
+    serviceConfig.put(IcebergRestServiceModelGenerator.HTTP_PORT, "8090");
+    serviceConfig.put(IcebergRestServiceModelGenerator.HTTP_PATH, "icecli");
+    serviceConfig.put(IcebergRestServiceModelGenerator.REST_CATALOG_ENABLED, 
"true");
+    serviceConfig.put(IcebergRestServiceModelGenerator.SSL_ENABLED, "false");
+
+    final Map<String, String> roleConfig = Collections.emptyMap();
+
+    validateServiceModel(createServiceModel(serviceConfig, roleConfig), 
serviceConfig, roleConfig);
+  }
+
+  @Test
+  public void testServiceModelSslEnabled() {
+    final Map<String, String> serviceConfig = new HashMap<>();
+    serviceConfig.put(IcebergRestServiceModelGenerator.HTTP_PORT, "8091");
+    serviceConfig.put(IcebergRestServiceModelGenerator.HTTP_PATH, "icecli2");
+    serviceConfig.put(IcebergRestServiceModelGenerator.REST_CATALOG_ENABLED, 
"false");
+    serviceConfig.put(IcebergRestServiceModelGenerator.SSL_ENABLED, "true");
 
     final Map<String, String> roleConfig = Collections.emptyMap();
 

Reply via email to