You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polaris.apache.org by yu...@apache.org on 2026/04/16 03:44:05 UTC

(polaris) 01/01: docs: simplify Spark configuration with credential vending

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

yufei pushed a commit to branch yufei
in repository https://gitbox.apache.org/repos/asf/polaris.git

commit 2245ec48b2ca0d5cb97733225d81be8835fc93fd
Author: Yufei Gu <yufei.apache.org>
AuthorDate: Wed Apr 15 20:43:46 2026 -0700

    docs: simplify Spark configuration with credential vending
    
    Remove redundant S3 credentials, endpoint, and region configuration from
    quickstart, RustFS, and MinIO guides. When credential vending is enabled
    via X-Iceberg-Access-Delegation header, Polaris automatically provides
    all necessary storage configuration including temporary credentials,
    endpoint, region, and path-style-access settings.
    
    This makes the examples more secure, easier to understand, and properly
    showcases Polaris's credential vending feature.
    
    Co-Authored-By: Claude Sonnet 4.5 <no...@anthropic.com>
---
 site/content/guides/minio/index.md                |  8 ++++----
 site/content/guides/quickstart/docker-compose.yml | 10 +++++-----
 site/content/guides/rustfs/index.md               |  9 ++++-----
 3 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/site/content/guides/minio/index.md b/site/content/guides/minio/index.md
index 096b311e31..2c5c73cd10 100644
--- a/site/content/guides/minio/index.md
+++ b/site/content/guides/minio/index.md
@@ -72,14 +72,14 @@ bin/spark-sql \
     --conf spark.sql.catalog.polaris.warehouse=quickstart_catalog \
     --conf spark.sql.catalog.polaris.scope=PRINCIPAL_ROLE:ALL \
     --conf spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation=vended-credentials \
-    --conf spark.sql.catalog.polaris.credential=root:s3cr3t \
-    --conf spark.sql.catalog.polaris.client.region=irrelevant
+    --conf spark.sql.catalog.polaris.credential=root:s3cr3t
 ```
 
 Note: `s3cr3t` is defined as the password for the `root` user in the `docker-compose.yml` file.
 
-Note: The `client.region` configuration is required for the AWS S3 client to work, but it is not used in this example
-since MinIO does not require a specific region.
+Note: With credential vending enabled (`X-Iceberg-Access-Delegation=vended-credentials`), Polaris automatically 
+provides temporary S3 credentials, the S3 endpoint, client region, and other storage configuration based on the 
+catalog's storage settings. No explicit storage credentials or endpoint configuration is needed on the client side.
 
 ## Running Queries
 
diff --git a/site/content/guides/quickstart/docker-compose.yml b/site/content/guides/quickstart/docker-compose.yml
index 5f5d7bbef3..bd679902f5 100644
--- a/site/content/guides/quickstart/docker-compose.yml
+++ b/site/content/guides/quickstart/docker-compose.yml
@@ -271,13 +271,13 @@ services:
         echo "    --conf spark.sql.catalog.polaris.uri=http://localhost:8181/api/catalog \\"
         echo "    --conf spark.sql.catalog.polaris.credential=$$USER_CLIENT_ID:$$USER_CLIENT_SECRET \\"
         echo "    --conf spark.sql.catalog.polaris.scope=PRINCIPAL_ROLE:ALL \\"
-        echo "    --conf spark.sql.catalog.polaris.s3.endpoint=http://localhost:9000 \\"
-        echo "    --conf spark.sql.catalog.polaris.s3.path-style-access=true \\"
-        echo "    --conf spark.sql.catalog.polaris.s3.access-key-id=polaris_root \\"
-        echo "    --conf spark.sql.catalog.polaris.s3.secret-access-key=polaris_pass \\"
-        echo "    --conf spark.sql.catalog.polaris.client.region=irrelevant \\"
+        echo "    --conf spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation=vended-credentials \\"
         echo "    --conf spark.sql.defaultCatalog=polaris"
         echo ""
+        echo "Note: With credential vending enabled (X-Iceberg-Access-Delegation=vended-credentials),"
+        echo "      Polaris automatically provides temporary S3 credentials, endpoint, region, and"
+        echo "      other storage configuration. No explicit storage settings are needed."
+        echo ""
         echo "To get started with REST API:"
         echo "  # Get a token"
         echo "  export TOKEN=\$$(curl -s -X POST http://localhost:8181/api/catalog/v1/oauth/tokens \\"
diff --git a/site/content/guides/rustfs/index.md b/site/content/guides/rustfs/index.md
index 7158d2d462..c4530e5187 100644
--- a/site/content/guides/rustfs/index.md
+++ b/site/content/guides/rustfs/index.md
@@ -72,15 +72,14 @@ bin/spark-sql \
     --conf spark.sql.catalog.polaris.warehouse=quickstart_catalog \
     --conf spark.sql.catalog.polaris.scope=PRINCIPAL_ROLE:ALL \
     --conf spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation=vended-credentials \
-    --conf spark.sql.catalog.polaris.credential=root:s3cr3t \
-    --conf spark.sql.catalog.polaris.client.region=us-west-2 \
-    --conf spark.sql.catalog.polaris.s3.endpoint=http://rustfs:9000
+    --conf spark.sql.catalog.polaris.credential=root:s3cr3t
 ```
 
 Note: `s3cr3t` is defined as the password for the `root` user in the `docker-compose.yml` file.
 
-Note: The `client.region` configuration is required for the AWS S3 client to work, but it is not used in this example
-since RustFS does not require a specific region.
+Note: With credential vending enabled (`X-Iceberg-Access-Delegation=vended-credentials`), Polaris automatically 
+provides temporary S3 credentials, the S3 endpoint, client region, and other storage configuration based on the 
+catalog's storage settings. No explicit storage credentials or endpoint configuration is needed on the client side.
 
 ## Running Queries