From 3d036e75c38e20ef44103bedc778e65eef4936ce Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Sat, 10 May 2025 11:41:37 -0700 Subject: [PATCH 1/8] change default --- getting-started/spark/docker-compose.yml | 1 + .../core/config/FeatureConfiguration.java | 3 +-- .../src/main/resources/application.properties | 2 +- .../quarkus/admin/PolarisAuthzTestBase.java | 7 +++++-- .../admin/PolarisOverlappingTableTest.java | 10 ++++++++-- .../service/quarkus/catalog/GetConfigTest.java | 5 ++++- .../quarkus/catalog/io/FileIOExceptionsTest.java | 6 +++++- .../it/QuarkusApplicationIntegrationTest.java | 3 ++- .../it/QuarkusPolicyServiceIntegrationTest.java | 16 +++++++++++++++- .../it/QuarkusRestCatalogIntegrationTest.java | 3 ++- regtests/docker-compose.yml | 1 + .../service/catalog/io/FileIOFactoryTest.java | 4 +++- 12 files changed, 48 insertions(+), 13 deletions(-) diff --git a/getting-started/spark/docker-compose.yml b/getting-started/spark/docker-compose.yml index a6d51f3a99..230f34dae0 100644 --- a/getting-started/spark/docker-compose.yml +++ b/getting-started/spark/docker-compose.yml @@ -30,6 +30,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: default-realm,root,s3cr3t polaris.realm-context.realms: default-realm quarkus.otel.sdk.disabled: "true" + polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" healthcheck: test: ["CMD", "curl", "http://localhost:8182/healthcheck"] interval: 10s diff --git a/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java b/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java index 26437a8f64..ae7ce22c0b 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java @@ -146,8 +146,7 @@ public static void enforceFeatureEnabledOrThrow( List.of( StorageConfigInfo.StorageTypeEnum.S3.name(), StorageConfigInfo.StorageTypeEnum.AZURE.name(), - StorageConfigInfo.StorageTypeEnum.GCS.name(), - StorageConfigInfo.StorageTypeEnum.FILE.name())) + StorageConfigInfo.StorageTypeEnum.GCS.name())) .buildFeatureConfiguration(); public static final FeatureConfiguration CLEANUP_ON_NAMESPACE_DROP = diff --git a/quarkus/defaults/src/main/resources/application.properties b/quarkus/defaults/src/main/resources/application.properties index 0482f3de03..1a9905ebdf 100644 --- a/quarkus/defaults/src/main/resources/application.properties +++ b/quarkus/defaults/src/main/resources/application.properties @@ -109,7 +109,7 @@ polaris.realm-context.header-name=Polaris-Realm polaris.realm-context.require-header=false polaris.features.defaults."ENFORCE_PRINCIPAL_CREDENTIAL_ROTATION_REQUIRED_CHECKING"=false -polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"=["S3","GCS","AZURE","FILE"] +polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"=["S3","GCS","AZURE"] # polaris.features.defaults."ENABLE_CATALOG_FEDERATION"=true # realm overrides diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java index bb32d99156..558412347a 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java @@ -116,7 +116,9 @@ public Map getConfigOverrides() { "polaris.features.defaults.\"ALLOW_SPECIFYING_FILE_IO_IMPL\"", "true", "polaris.features.defaults.\"ALLOW_EXTERNAL_METADATA_FILE_LOCATION\"", - "true"); + "true", + "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", + "[\"FILE\",\"S3\"]"); } } @@ -226,7 +228,8 @@ public void before(TestInfo testInfo) { Map.of( "ALLOW_SPECIFYING_FILE_IO_IMPL", true, "ALLOW_EXTERNAL_METADATA_FILE_LOCATION", true, - "ENABLE_GENERIC_TABLES", true); + "ENABLE_GENERIC_TABLES", true, + "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3")); polarisContext = new PolarisCallContext( managerFactory.getOrCreateSessionSupplier(realmContext).get(), diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java index f2e9294840..79eed76a6d 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java @@ -24,6 +24,8 @@ import static org.assertj.core.api.Assertions.assertThat; import jakarta.ws.rs.core.Response; + +import java.util.List; import java.util.Map; import java.util.UUID; import java.util.stream.Stream; @@ -82,13 +84,17 @@ static Stream testTableLocationRestrictions() { ALLOW_UNSTRUCTURED_TABLE_LOCATION.catalogConfig(), "true", ALLOW_TABLE_LOCATION_OVERLAP.catalogConfig(), - "true"); + "true", + "SUPPORTED_CATALOG_STORAGE_TYPES", + List.of("FILE", "S3")); Map strictCatalog = Map.of( ALLOW_UNSTRUCTURED_TABLE_LOCATION.catalogConfig(), "false", ALLOW_TABLE_LOCATION_OVERLAP.catalogConfig(), - "false"); + "false", + "SUPPORTED_CATALOG_STORAGE_TYPES", + List.of("FILE", "S3")); return Stream.of( Arguments.of(strictServices, Map.of(), Response.Status.FORBIDDEN.getStatusCode()), Arguments.of(strictServices, strictCatalog, Response.Status.FORBIDDEN.getStatusCode()), diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java index 5e77d6aea3..fed8b26aa5 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java @@ -39,7 +39,10 @@ public class GetConfigTest { @ValueSource(booleans = {true, false}) public void testGetConfig(boolean enableGenericTable) { TestServices services = - TestServices.builder().config(Map.of("ENABLE_GENERIC_TABLES", enableGenericTable)).build(); + TestServices.builder().config(Map.of( + "ENABLE_GENERIC_TABLES", enableGenericTable, + "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3") + )).build(); FileStorageConfigInfo fileStorage = FileStorageConfigInfo.builder(StorageConfigInfo.StorageTypeEnum.FILE) diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java index 4ae234e55a..1f9e7ed446 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java @@ -27,6 +27,7 @@ import com.google.cloud.storage.StorageException; import jakarta.ws.rs.core.Response; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.stream.Stream; import org.apache.iceberg.Schema; @@ -60,7 +61,10 @@ public class FileIOExceptionsTest { @BeforeAll public static void beforeAll() { - services = TestServices.builder().build(); + services = TestServices + .builder() + .config(Map.of("SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3"))) + .build(); ioFactory = (MeasuredFileIOFactory) services.fileIOFactory(); FileStorageConfigInfo storageConfigInfo = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java index c98da4d5a9..701554cc8e 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java @@ -54,7 +54,8 @@ public Map getConfigOverrides() { "quarkus.http.limits.max-body-size", "1000000", "polaris.realm-context.realms", "POLARIS,OTHER", "polaris.features.defaults.\"ALLOW_OVERLAPPING_CATALOG_URLS\"", "true", - "polaris.features.defaults.\"SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION\"", "true"); + "polaris.features.defaults.\"SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION\"", "true", + "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); } } diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java index a668e92e5c..908b69784f 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java @@ -19,7 +19,21 @@ package org.apache.polaris.service.quarkus.it; import io.quarkus.test.junit.QuarkusTest; +import io.quarkus.test.junit.QuarkusTestProfile; +import io.quarkus.test.junit.TestProfile; import org.apache.polaris.service.it.test.PolarisPolicyServiceIntegrationTest; +import java.util.Map; + @QuarkusTest -public class QuarkusPolicyServiceIntegrationTest extends PolarisPolicyServiceIntegrationTest {} +@TestProfile(QuarkusPolicyServiceIntegrationTest.Profile.class) +public class QuarkusPolicyServiceIntegrationTest extends PolarisPolicyServiceIntegrationTest { + public static class Profile implements QuarkusTestProfile { + @Override + public Map getConfigOverrides() { + return Map.of( + "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", + "[\"FILE\",\"S3\"]"); + } + } +} diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java index 11dd821ef2..891cbba175 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java @@ -33,7 +33,8 @@ public static class Profile implements QuarkusTestProfile { @Override public Map getConfigOverrides() { return Map.of( - "polaris.features.defaults.\"ALLOW_EXTERNAL_CATALOG_CREDENTIAL_VENDING\"", "false"); + "polaris.features.defaults.\"ALLOW_EXTERNAL_CATALOG_CREDENTIAL_VENDING\"", "false", + "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); } } } diff --git a/regtests/docker-compose.yml b/regtests/docker-compose.yml index 24ae7a362d..cb77e594ec 100644 --- a/regtests/docker-compose.yml +++ b/regtests/docker-compose.yml @@ -34,6 +34,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,root,secret quarkus.log.file.enable: "false" quarkus.otel.sdk.disabled: "true" + polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" volumes: - ./credentials:/tmp/credentials/ healthcheck: diff --git a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java index 30afc5c09a..7a03526b09 100644 --- a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java +++ b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java @@ -121,7 +121,9 @@ FileIO loadFileIOInternal( testServices = TestServices.builder() - .config(Map.of("ALLOW_SPECIFYING_FILE_IO_IMPL", true)) + .config(Map.of( + "ALLOW_SPECIFYING_FILE_IO_IMPL", true, + "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3"))) .realmContext(realmContext) .stsClient(stsClient) .fileIOFactorySupplier(fileIOFactorySupplier) From f2f0206103a87e17973b72929e16a75675c3112b Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Sat, 10 May 2025 11:54:25 -0700 Subject: [PATCH 2/8] fix a test --- .../admin/PolarisOverlappingTableTest.java | 18 +++++++++--------- .../service/quarkus/catalog/GetConfigTest.java | 12 ++++++++---- .../catalog/io/FileIOExceptionsTest.java | 8 ++++---- .../QuarkusPolicyServiceIntegrationTest.java | 16 +++++++--------- .../service/catalog/io/FileIOFactoryTest.java | 9 ++++++--- 5 files changed, 34 insertions(+), 29 deletions(-) diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java index 79eed76a6d..d045756c38 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisOverlappingTableTest.java @@ -24,7 +24,6 @@ import static org.assertj.core.api.Assertions.assertThat; import jakarta.ws.rs.core.Response; - import java.util.List; import java.util.Map; import java.util.UUID; @@ -75,26 +74,27 @@ private int createTable(TestServices services, String location) { static Stream testTableLocationRestrictions() { Map laxServices = - Map.of("ALLOW_UNSTRUCTURED_TABLE_LOCATION", "true", "ALLOW_TABLE_LOCATION_OVERLAP", "true"); + Map.of( + "ALLOW_UNSTRUCTURED_TABLE_LOCATION", "true", + "ALLOW_TABLE_LOCATION_OVERLAP", "true", + "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3")); Map strictServices = Map.of( - "ALLOW_UNSTRUCTURED_TABLE_LOCATION", "false", "ALLOW_TABLE_LOCATION_OVERLAP", "false"); + "ALLOW_UNSTRUCTURED_TABLE_LOCATION", "false", + "ALLOW_TABLE_LOCATION_OVERLAP", "false", + "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3")); Map laxCatalog = Map.of( ALLOW_UNSTRUCTURED_TABLE_LOCATION.catalogConfig(), "true", ALLOW_TABLE_LOCATION_OVERLAP.catalogConfig(), - "true", - "SUPPORTED_CATALOG_STORAGE_TYPES", - List.of("FILE", "S3")); + "true"); Map strictCatalog = Map.of( ALLOW_UNSTRUCTURED_TABLE_LOCATION.catalogConfig(), "false", ALLOW_TABLE_LOCATION_OVERLAP.catalogConfig(), - "false", - "SUPPORTED_CATALOG_STORAGE_TYPES", - List.of("FILE", "S3")); + "false"); return Stream.of( Arguments.of(strictServices, Map.of(), Response.Status.FORBIDDEN.getStatusCode()), Arguments.of(strictServices, strictCatalog, Response.Status.FORBIDDEN.getStatusCode()), diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java index fed8b26aa5..be5d0c5839 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/GetConfigTest.java @@ -39,10 +39,14 @@ public class GetConfigTest { @ValueSource(booleans = {true, false}) public void testGetConfig(boolean enableGenericTable) { TestServices services = - TestServices.builder().config(Map.of( - "ENABLE_GENERIC_TABLES", enableGenericTable, - "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3") - )).build(); + TestServices.builder() + .config( + Map.of( + "ENABLE_GENERIC_TABLES", + enableGenericTable, + "SUPPORTED_CATALOG_STORAGE_TYPES", + List.of("FILE", "S3"))) + .build(); FileStorageConfigInfo fileStorage = FileStorageConfigInfo.builder(StorageConfigInfo.StorageTypeEnum.FILE) diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java index 1f9e7ed446..1899cb07be 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/io/FileIOExceptionsTest.java @@ -61,10 +61,10 @@ public class FileIOExceptionsTest { @BeforeAll public static void beforeAll() { - services = TestServices - .builder() - .config(Map.of("SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3"))) - .build(); + services = + TestServices.builder() + .config(Map.of("SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3"))) + .build(); ioFactory = (MeasuredFileIOFactory) services.fileIOFactory(); FileStorageConfigInfo storageConfigInfo = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java index 908b69784f..6da0826867 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java @@ -21,19 +21,17 @@ import io.quarkus.test.junit.QuarkusTest; import io.quarkus.test.junit.QuarkusTestProfile; import io.quarkus.test.junit.TestProfile; -import org.apache.polaris.service.it.test.PolarisPolicyServiceIntegrationTest; - import java.util.Map; +import org.apache.polaris.service.it.test.PolarisPolicyServiceIntegrationTest; @QuarkusTest @TestProfile(QuarkusPolicyServiceIntegrationTest.Profile.class) public class QuarkusPolicyServiceIntegrationTest extends PolarisPolicyServiceIntegrationTest { - public static class Profile implements QuarkusTestProfile { - @Override - public Map getConfigOverrides() { - return Map.of( - "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", - "[\"FILE\",\"S3\"]"); - } + public static class Profile implements QuarkusTestProfile { + @Override + public Map getConfigOverrides() { + return Map.of( + "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); } + } } diff --git a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java index 7a03526b09..ac0f067359 100644 --- a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java +++ b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java @@ -121,9 +121,12 @@ FileIO loadFileIOInternal( testServices = TestServices.builder() - .config(Map.of( - "ALLOW_SPECIFYING_FILE_IO_IMPL", true, - "SUPPORTED_CATALOG_STORAGE_TYPES", List.of("FILE", "S3"))) + .config( + Map.of( + "ALLOW_SPECIFYING_FILE_IO_IMPL", + true, + "SUPPORTED_CATALOG_STORAGE_TYPES", + List.of("FILE", "S3"))) .realmContext(realmContext) .stsClient(stsClient) .fileIOFactorySupplier(fileIOFactorySupplier) From a968f27f08f7e64fe60b1420cee858c40a309f19 Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Sat, 10 May 2025 22:08:19 -0700 Subject: [PATCH 3/8] stable --- .../quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java index 4444bcbee3..1f380ad458 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java @@ -20,6 +20,7 @@ import io.quarkus.test.junit.QuarkusTest; import io.quarkus.test.junit.QuarkusTestProfile; +import io.quarkus.test.junit.TestProfile; import java.lang.reflect.Field; import java.nio.file.Path; import java.util.Map; @@ -29,6 +30,7 @@ import org.junit.jupiter.api.io.TempDir; @QuarkusTest +@TestProfile(QuarkusRestCatalogViewFileIntegrationTest.Profile.class) public class QuarkusRestCatalogViewFileIntegrationTest extends PolarisRestCatalogViewFileIntegrationTest { From 54e9da2cec5726dbbf1b639592102b8d7da82b04 Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Sat, 10 May 2025 22:44:18 -0700 Subject: [PATCH 4/8] docs --- .../in-dev/unreleased/configuration.md | 74 +++++++++---------- .../configuring-polaris-for-production.md | 10 --- 2 files changed, 37 insertions(+), 47 deletions(-) diff --git a/site/content/in-dev/unreleased/configuration.md b/site/content/in-dev/unreleased/configuration.md index b0626da814..4b180e28f0 100644 --- a/site/content/in-dev/unreleased/configuration.md +++ b/site/content/in-dev/unreleased/configuration.md @@ -77,43 +77,43 @@ read-only mode, as Polaris only reads the configuration file once, at startup. ## Polaris Configuration Options Reference -| Configuration Property | Default Value | Description | -|--------------------------------------------------------------------------------------------|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `polaris.persistence.type` | `in-memory` | Define the persistence backend used by Polaris (`in-memory`, `eclipse-link`). See [Configuring Apache Polaris for Production)[{{% ref "configuring-polaris-for-production.md" %}}) | -| `polaris.persistence.eclipselink.configurationFile` | | Define the location of the `persistence.xml`. By default, it's the built-in `persistence.xml` in use. | -| `polaris.persistence.eclipselink.persistenceUnit` | `polaris` | Define the name of the persistence unit to use, as defined in the `persistence.xml`. | -| `polaris.realm-context.type` | `default` | Define the type of the Polaris realm to use. | -| `polaris.realm-context.realms` | `POLARIS` | Define the list of realms to use. | -| `polaris.realm-context.header-name` | `Polaris-Realm` | Define the header name defining the realm context. | -| `polaris.features.defaults."ENFORCE_PRINCIPAL_CREDENTIAL_ROTATION_REQUIRED_CHECKING"` | `false` | Flag to enforce check if credential rotation. | -| `polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"` | `FILE` | Define the catalog supported storage. Supported values are `S3`, `GCS`, `AZURE`, `FILE`. | -| `polaris.features.realm-overrides."my-realm"."INITIALIZE_DEFAULT_CATALOG_FILEIO_FOR_TEST"` | `true` | "Override" realm features, here the catalog init default flag. | -| `polaris.features.realm-overrides."my-realm"."SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION"` | `true` | "Override" realm features, here the skip credential subscoping indirection flag. | -| `polaris.authentication.authenticator.type` | `default` | Define the Polaris authenticator type. | -| `polaris.authentication.token-service.type` | `default` | Define the Polaris token service type. | -| `polaris.authentication.token-broker.type` | `rsa-key-pair` | Define the Polaris token broker type. | -| `polaris.authentication.token-broker.max-token-generation` | `PT1H` | Define the max token generation policy on the token broker. | -| `polaris.authentication.token-broker.rsa-key-pair.public-key-file` | `/tmp/public.key` | Define the location of the public key file. | -| `polaris.authentication.token-broker.rsa-key-pair.private-key-file` | `/tmp/private.key` | Define the location of the private key file. | -| `polaris.authentication.token-broker.symmetric-key.secret` | `secret` | Define the secret of the symmetric key. | -| `polaris.authentication.token-broker.symmetric-key.file` | `/tmp/symmetric.key` | Define the location of the symmetric key file. | -| `polaris.storage.aws.access-key` | `accessKey` | Define the AWS S3 access key. If unset, the default credential provider chain will be used. | -| `polaris.storage.aws.secret-key` | `secretKey` | Define the AWS S3 secret key. If unset, the default credential provider chain will be used. | -| `polaris.storage.gcp.token` | `token` | Define the Google Cloud Storage token. If unset, the default credential provider chain will be used. | -| `polaris.storage.gcp.lifespan` | `PT1H` | Define the Google Cloud Storage lifespan type. If unset, the default credential provider chain will be used. | -| `polaris.log.request-id-header-name` | `Polaris-Request-Id` | Define the header name to match request ID in the log. | -| `polaris.log.mdc.aid` | `polaris` | Define the log context (e.g. MDC) AID. | -| `polaris.log.mdc.sid` | `polaris-service` | Define the log context (e.g. MDC) SID. | -| `polaris.rate-limiter.filter.type` | `no-op` | Define the Polaris rate limiter. Supported values are `no-op`, `token-bucket`. | -| `polaris.rate-limiter.token-bucket.type` | `default` | Define the token bucket rate limiter. | -| `polaris.rate-limiter.token-bucket.requests-per-second` | `9999` | Define the number of requests per second for the token bucket rate limiter. | -| `polaris.rate-limiter.token-bucket.window` | `PT10S` | Define the window type for the token bucket rate limiter. | -| `polaris.metrics.tags.application` | `Polaris` | Define the application name tag in metrics. | -| `polaris.metrics.tags.service` | `polaris` | Define the service tag in metrics. | -| `polaris.metrics.tags.environment` | `prod` | Define the environement tag in metrics. | -| `polaris.metrics.tags.region` | `us-west-2` | Define the region tag in metrics. | -| `polaris.tasks.max-concurrent-tasks` | `100` | Define the max number of concurrent tasks. | -| `polaris.tasks.max-queued-tasks` | `1000` | Define the max number of tasks in queue. | +| Configuration Property | Default Value | Description | +|--------------------------------------------------------------------------------------------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `polaris.persistence.type` | `in-memory` | Define the persistence backend used by Polaris (`in-memory`, `eclipse-link`). See [Configuring Apache Polaris for Production)[{{% ref "configuring-polaris-for-production.md" %}}) | +| `polaris.persistence.eclipselink.configurationFile` | | Define the location of the `persistence.xml`. By default, it's the built-in `persistence.xml` in use. | +| `polaris.persistence.eclipselink.persistenceUnit` | `polaris` | Define the name of the persistence unit to use, as defined in the `persistence.xml`. | +| `polaris.realm-context.type` | `default` | Define the type of the Polaris realm to use. | +| `polaris.realm-context.realms` | `POLARIS` | Define the list of realms to use. | +| `polaris.realm-context.header-name` | `Polaris-Realm` | Define the header name defining the realm context. | +| `polaris.features.defaults."ENFORCE_PRINCIPAL_CREDENTIAL_ROTATION_REQUIRED_CHECKING"` | `false` | Flag to enforce check if credential rotation. | +| `polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"` | `["S3", "GCS", "AZURE"]` | Define the catalog supported storage. Supported values are `S3`, `GCS`, `AZURE`, `FILE`. | +| `polaris.features.realm-overrides."my-realm"."INITIALIZE_DEFAULT_CATALOG_FILEIO_FOR_TEST"` | `true` | "Override" realm features, here the catalog init default flag. | +| `polaris.features.realm-overrides."my-realm"."SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION"` | `true` | "Override" realm features, here the skip credential subscoping indirection flag. | +| `polaris.authentication.authenticator.type` | `default` | Define the Polaris authenticator type. | +| `polaris.authentication.token-service.type` | `default` | Define the Polaris token service type. | +| `polaris.authentication.token-broker.type` | `rsa-key-pair` | Define the Polaris token broker type. | +| `polaris.authentication.token-broker.max-token-generation` | `PT1H` | Define the max token generation policy on the token broker. | +| `polaris.authentication.token-broker.rsa-key-pair.public-key-file` | `/tmp/public.key` | Define the location of the public key file. | +| `polaris.authentication.token-broker.rsa-key-pair.private-key-file` | `/tmp/private.key` | Define the location of the private key file. | +| `polaris.authentication.token-broker.symmetric-key.secret` | `secret` | Define the secret of the symmetric key. | +| `polaris.authentication.token-broker.symmetric-key.file` | `/tmp/symmetric.key` | Define the location of the symmetric key file. | +| `polaris.storage.aws.access-key` | `accessKey` | Define the AWS S3 access key. If unset, the default credential provider chain will be used. | +| `polaris.storage.aws.secret-key` | `secretKey` | Define the AWS S3 secret key. If unset, the default credential provider chain will be used. | +| `polaris.storage.gcp.token` | `token` | Define the Google Cloud Storage token. If unset, the default credential provider chain will be used. | +| `polaris.storage.gcp.lifespan` | `PT1H` | Define the Google Cloud Storage lifespan type. If unset, the default credential provider chain will be used. | +| `polaris.log.request-id-header-name` | `Polaris-Request-Id` | Define the header name to match request ID in the log. | +| `polaris.log.mdc.aid` | `polaris` | Define the log context (e.g. MDC) AID. | +| `polaris.log.mdc.sid` | `polaris-service` | Define the log context (e.g. MDC) SID. | +| `polaris.rate-limiter.filter.type` | `no-op` | Define the Polaris rate limiter. Supported values are `no-op`, `token-bucket`. | +| `polaris.rate-limiter.token-bucket.type` | `default` | Define the token bucket rate limiter. | +| `polaris.rate-limiter.token-bucket.requests-per-second` | `9999` | Define the number of requests per second for the token bucket rate limiter. | +| `polaris.rate-limiter.token-bucket.window` | `PT10S` | Define the window type for the token bucket rate limiter. | +| `polaris.metrics.tags.application` | `Polaris` | Define the application name tag in metrics. | +| `polaris.metrics.tags.service` | `polaris` | Define the service tag in metrics. | +| `polaris.metrics.tags.environment` | `prod` | Define the environement tag in metrics. | +| `polaris.metrics.tags.region` | `us-west-2` | Define the region tag in metrics. | +| `polaris.tasks.max-concurrent-tasks` | `100` | Define the max number of concurrent tasks. | +| `polaris.tasks.max-queued-tasks` | `1000` | Define the max number of tasks in queue. | There are non Polaris configuration properties that can be useful: diff --git a/site/content/in-dev/unreleased/configuring-polaris-for-production.md b/site/content/in-dev/unreleased/configuring-polaris-for-production.md index d38dd33810..82c39b5a41 100644 --- a/site/content/in-dev/unreleased/configuring-polaris-for-production.md +++ b/site/content/in-dev/unreleased/configuring-polaris-for-production.md @@ -209,13 +209,3 @@ curl -X POST http://localhost:8181/api/catalog/v1/oauth/tokens \ -d "scope=PRINCIPAL_ROLE:ALL" ``` -## Other Configurations - -When deploying Polaris in production, consider adjusting the following configurations: - -#### `polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"` - -- By default, Polaris catalogs are allowed to be located in local filesystem with the `FILE` storage - type. This should be disabled for production systems. -- Use this configuration to additionally disable any other storage types that will not be in use. - From e1552739577706b2ffcf53c819677ed447d6f622 Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Sat, 10 May 2025 23:02:06 -0700 Subject: [PATCH 5/8] another flag --- plugins/spark/v3.5/regtests/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/spark/v3.5/regtests/docker-compose.yml b/plugins/spark/v3.5/regtests/docker-compose.yml index e1ea1a8981..bbcf58a5c2 100755 --- a/plugins/spark/v3.5/regtests/docker-compose.yml +++ b/plugins/spark/v3.5/regtests/docker-compose.yml @@ -28,6 +28,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,root,secret quarkus.log.file.enable: "false" quarkus.otel.sdk.disabled: "true" + polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" healthcheck: test: ["CMD", "curl", "http://localhost:8182/q/health"] interval: 10s From 26d706284c5ef6d3bf94d30eedcb554459efda7e Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Tue, 13 May 2025 11:35:41 -0700 Subject: [PATCH 6/8] remove changes from quarkus tests --- .../src/main/resources/application-test.properties | 2 ++ .../service/quarkus/admin/PolarisAuthzTestBase.java | 4 +--- .../quarkus/it/QuarkusApplicationIntegrationTest.java | 3 +-- .../it/QuarkusPolicyServiceIntegrationTest.java | 11 +---------- .../quarkus/it/QuarkusRestCatalogIntegrationTest.java | 3 +-- .../it/QuarkusRestCatalogViewFileIntegrationTest.java | 9 --------- 6 files changed, 6 insertions(+), 26 deletions(-) diff --git a/quarkus/defaults/src/main/resources/application-test.properties b/quarkus/defaults/src/main/resources/application-test.properties index 61d7a518aa..bbf049fced 100644 --- a/quarkus/defaults/src/main/resources/application-test.properties +++ b/quarkus/defaults/src/main/resources/application-test.properties @@ -22,3 +22,5 @@ quarkus.log.file.enable=false quarkus.datasource.devservices.image-name=postgres:17-alpine + +polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"=["FILE","S3","GCS","AZURE"] diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java index 558412347a..9b1ee4c665 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java @@ -116,9 +116,7 @@ public Map getConfigOverrides() { "polaris.features.defaults.\"ALLOW_SPECIFYING_FILE_IO_IMPL\"", "true", "polaris.features.defaults.\"ALLOW_EXTERNAL_METADATA_FILE_LOCATION\"", - "true", - "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", - "[\"FILE\",\"S3\"]"); + "true"); } } diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java index 701554cc8e..c98da4d5a9 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusApplicationIntegrationTest.java @@ -54,8 +54,7 @@ public Map getConfigOverrides() { "quarkus.http.limits.max-body-size", "1000000", "polaris.realm-context.realms", "POLARIS,OTHER", "polaris.features.defaults.\"ALLOW_OVERLAPPING_CATALOG_URLS\"", "true", - "polaris.features.defaults.\"SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION\"", "true", - "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); + "polaris.features.defaults.\"SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION\"", "true"); } } diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java index 6da0826867..283ed1cfa3 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java @@ -25,13 +25,4 @@ import org.apache.polaris.service.it.test.PolarisPolicyServiceIntegrationTest; @QuarkusTest -@TestProfile(QuarkusPolicyServiceIntegrationTest.Profile.class) -public class QuarkusPolicyServiceIntegrationTest extends PolarisPolicyServiceIntegrationTest { - public static class Profile implements QuarkusTestProfile { - @Override - public Map getConfigOverrides() { - return Map.of( - "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); - } - } -} +public class QuarkusPolicyServiceIntegrationTest extends PolarisPolicyServiceIntegrationTest {} diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java index 891cbba175..11dd821ef2 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogIntegrationTest.java @@ -33,8 +33,7 @@ public static class Profile implements QuarkusTestProfile { @Override public Map getConfigOverrides() { return Map.of( - "polaris.features.defaults.\"ALLOW_EXTERNAL_CATALOG_CREDENTIAL_VENDING\"", "false", - "polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\",\"S3\"]"); + "polaris.features.defaults.\"ALLOW_EXTERNAL_CATALOG_CREDENTIAL_VENDING\"", "false"); } } } diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java index 1f380ad458..bb601d7b8a 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java @@ -30,18 +30,9 @@ import org.junit.jupiter.api.io.TempDir; @QuarkusTest -@TestProfile(QuarkusRestCatalogViewFileIntegrationTest.Profile.class) public class QuarkusRestCatalogViewFileIntegrationTest extends PolarisRestCatalogViewFileIntegrationTest { - public static class Profile implements QuarkusTestProfile { - - @Override - public Map getConfigOverrides() { - return Map.of("polaris.features.defaults.\"SUPPORTED_CATALOG_STORAGE_TYPES\"", "[\"FILE\"]"); - } - } - @BeforeEach public void setUpTempDir(@TempDir Path tempDir) throws Exception { // see https://github.com/quarkusio/quarkus/issues/13261 From 65af31141fcd1547cec6c268c3700cf1fb035276 Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Tue, 13 May 2025 11:35:44 -0700 Subject: [PATCH 7/8] autolint --- .../quarkus/it/QuarkusPolicyServiceIntegrationTest.java | 3 --- .../quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java | 3 --- 2 files changed, 6 deletions(-) diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java index 283ed1cfa3..a668e92e5c 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusPolicyServiceIntegrationTest.java @@ -19,9 +19,6 @@ package org.apache.polaris.service.quarkus.it; import io.quarkus.test.junit.QuarkusTest; -import io.quarkus.test.junit.QuarkusTestProfile; -import io.quarkus.test.junit.TestProfile; -import java.util.Map; import org.apache.polaris.service.it.test.PolarisPolicyServiceIntegrationTest; @QuarkusTest diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java index bb601d7b8a..d487e75b39 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/it/QuarkusRestCatalogViewFileIntegrationTest.java @@ -19,11 +19,8 @@ package org.apache.polaris.service.quarkus.it; import io.quarkus.test.junit.QuarkusTest; -import io.quarkus.test.junit.QuarkusTestProfile; -import io.quarkus.test.junit.TestProfile; import java.lang.reflect.Field; import java.nio.file.Path; -import java.util.Map; import org.apache.iceberg.view.ViewCatalogTests; import org.apache.polaris.service.it.test.PolarisRestCatalogViewFileIntegrationTest; import org.junit.jupiter.api.BeforeEach; From c24b2fea9823dced760eb3e59a7930cb30918c00 Mon Sep 17 00:00:00 2001 From: Eric Maynard Date: Tue, 13 May 2025 20:29:38 -0700 Subject: [PATCH 8/8] pull main --- getting-started/spark/docker-compose.yml | 2 +- helm/polaris/README.md | 2 +- plugins/spark/v3.5/regtests/docker-compose.yml | 2 +- quarkus/defaults/src/main/resources/application-test.properties | 2 +- regtests/docker-compose.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/getting-started/spark/docker-compose.yml b/getting-started/spark/docker-compose.yml index 230f34dae0..f6224ec6d8 100644 --- a/getting-started/spark/docker-compose.yml +++ b/getting-started/spark/docker-compose.yml @@ -30,7 +30,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: default-realm,root,s3cr3t polaris.realm-context.realms: default-realm quarkus.otel.sdk.disabled: "true" - polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" + polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" healthcheck: test: ["CMD", "curl", "http://localhost:8182/healthcheck"] interval: 10s diff --git a/helm/polaris/README.md b/helm/polaris/README.md index e6707091ff..886cd4ed3f 100644 --- a/helm/polaris/README.md +++ b/helm/polaris/README.md @@ -285,7 +285,7 @@ kubectl delete namespace polaris | persistence.eclipseLink.secret | object | `{"key":"persistence.xml","name":null}` | The secret name to pull persistence.xml from. | | persistence.eclipseLink.secret.key | string | `"persistence.xml"` | The key in the secret to pull persistence.xml from. | | persistence.eclipseLink.secret.name | string | `nil` | The name of the secret to pull persistence.xml from. If not provided, the default built-in persistence.xml will be used. This is probably not what you want. | -| persistence.type | string | `"relational-jdbc"` | Three built-in types are available: "relational-jdbc", "in-memory", "eclipse-link". The in-memory type is not recommended for production use. The eclipse-link type is deprecated and will be unsupported in a future release. | +| persistence.type | string | `"eclipse-link"` | The type of persistence to use. Two built-in types are supported: in-memory and eclipse-link. | | podAnnotations | object | `{}` | Annotations to apply to polaris pods. | | podLabels | object | `{}` | Additional Labels to apply to polaris pods. | | podSecurityContext | object | `{"fsGroup":10001,"seccompProfile":{"type":"RuntimeDefault"}}` | Security context for the polaris pod. See https://kubernetes.io/docs/tasks/configure-pod-container/security-context/. | diff --git a/plugins/spark/v3.5/regtests/docker-compose.yml b/plugins/spark/v3.5/regtests/docker-compose.yml index bbcf58a5c2..bdb9440f21 100755 --- a/plugins/spark/v3.5/regtests/docker-compose.yml +++ b/plugins/spark/v3.5/regtests/docker-compose.yml @@ -28,7 +28,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,root,secret quarkus.log.file.enable: "false" quarkus.otel.sdk.disabled: "true" - polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" + polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" healthcheck: test: ["CMD", "curl", "http://localhost:8182/q/health"] interval: 10s diff --git a/quarkus/defaults/src/main/resources/application-test.properties b/quarkus/defaults/src/main/resources/application-test.properties index bbf049fced..0fda77b7f7 100644 --- a/quarkus/defaults/src/main/resources/application-test.properties +++ b/quarkus/defaults/src/main/resources/application-test.properties @@ -23,4 +23,4 @@ quarkus.log.file.enable=false quarkus.datasource.devservices.image-name=postgres:17-alpine -polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES"=["FILE","S3","GCS","AZURE"] +polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES"=["FILE","S3","GCS","AZURE"] diff --git a/regtests/docker-compose.yml b/regtests/docker-compose.yml index cb77e594ec..8034e331a0 100644 --- a/regtests/docker-compose.yml +++ b/regtests/docker-compose.yml @@ -34,7 +34,7 @@ services: POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,root,secret quarkus.log.file.enable: "false" quarkus.otel.sdk.disabled: "true" - polaris.features.defaults."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" + polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]" volumes: - ./credentials:/tmp/credentials/ healthcheck: