You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polaris.apache.org by gi...@apache.org on 2026/01/16 14:50:08 UTC
(polaris) branch asf-site updated: deploy: a1f7bb352cb7cda87de5fc29e76806f30a587418
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/asf-site by this push:
new e014f0ed0 deploy: a1f7bb352cb7cda87de5fc29e76806f30a587418
e014f0ed0 is described below
commit e014f0ed0cddd95875f5da1813c5d1d1da3b1d7c
Author: jbonofre <jb...@users.noreply.github.com>
AuthorDate: Fri Jan 16 14:50:03 2026 +0000
deploy: a1f7bb352cb7cda87de5fc29e76806f30a587418
---
404.html | 2 +-
.../index.html | 2 +-
.../index.html | 20 +-
.../index.html | 2 +-
.../index.html | 10 +-
.../index.html | 22 +-
.../12/24/securing-s3-data-with-aws-kms/index.html | 20 +-
.../index.html | 50 ++---
.../index.html | 12 +-
blog/index.html | 8 +-
blog/index.xml | 8 +-
categories/index.html | 2 +-
community/chat-bylaws/index.html | 28 +--
community/community-guidelines/index.html | 12 +-
community/contributing-guidelines/index.html | 34 +--
community/index.html | 2 +-
community/index.xml | 14 +-
community/meetings/index.html | 2 +-
community/proposals/index.html | 2 +-
community/release-guides/index.html | 4 +-
community/release-guides/index.xml | 6 +-
.../release-guides/manual-release-guide/index.html | 48 ++--
.../release-verification-guide/index.html | 12 +-
.../semi-automated-release-guide/index.html | 30 +--
community/security-report/index.html | 14 +-
downloads/index.html | 6 +-
guides/index.html | 2 +-
in-dev/index.html | 2 +-
in-dev/release_index/index.html | 2 +-
in-dev/unreleased/admin-tool/index.html | 16 +-
.../unreleased/command-line-interface/index.html | 204 ++++++++---------
in-dev/unreleased/configuration/index.html | 16 +-
.../index.html | 2 +-
.../configuring-helm/index.html | 24 +-
.../configuring-polaris-for-production/index.html | 18 +-
.../configuring-polaris-for-production/index.xml | 2 +-
in-dev/unreleased/entities/index.html | 18 +-
in-dev/unreleased/evolution/index.html | 18 +-
.../hive-metastore-federation/index.html | 20 +-
.../federation/iceberg-rest-federation/index.html | 14 +-
in-dev/unreleased/federation/index.html | 2 +-
in-dev/unreleased/federation/index.xml | 4 +-
in-dev/unreleased/generic-table/index.html | 20 +-
.../getting-started/binary-distribution/index.html | 12 +-
.../creating-a-catalog/catalog-azure/index.html | 10 +-
.../creating-a-catalog/catalog-gcs/index.html | 10 +-
.../catalog-migration/index.html | 2 +-
.../getting-started/creating-a-catalog/index.html | 4 +-
.../getting-started/creating-a-catalog/index.xml | 4 +-
.../creating-a-catalog/s3/catalog-aws/index.html | 2 +-
.../creating-a-catalog/s3/catalog-minio/index.html | 2 +-
.../creating-a-catalog/s3/catalog-ozone/index.html | 2 +-
.../creating-a-catalog/s3/index.html | 2 +-
.../cloud-deploy/deploy-aws/index.html | 6 +-
.../cloud-deploy/deploy-azure/index.html | 6 +-
.../cloud-deploy/deploy-gcp/index.html | 6 +-
.../deploying-polaris/cloud-deploy/index.html | 2 +-
.../getting-started/deploying-polaris/index.html | 2 +-
.../getting-started/deploying-polaris/index.xml | 2 +-
.../deploying-polaris/local-deploy/index.html | 22 +-
in-dev/unreleased/getting-started/index.html | 4 +-
in-dev/unreleased/getting-started/index.xml | 6 +-
.../install-dependencies/index.html | 20 +-
.../getting-started/quick-start/index.html | 12 +-
.../getting-started/using-polaris/index.html | 22 +-
.../getting-started/using-polaris/index.xml | 2 +-
.../using-polaris/keycloak-idp/index.html | 24 +-
.../using-polaris/telemetry-tools/index.html | 2 +-
in-dev/unreleased/helm/index.html | 38 ++--
in-dev/unreleased/index.html | 22 +-
in-dev/unreleased/index.xml | 26 +--
.../managing-security/access-control/index.html | 14 +-
.../external-idp/idp-dev-notes/index.html | 24 +-
.../managing-security/external-idp/index.html | 24 +-
.../managing-security/external-idp/index.xml | 4 +-
.../managing-security/external-pdp/index.html | 6 +-
.../managing-security/external-pdp/index.xml | 2 +-
.../managing-security/external-pdp/opa/index.html | 26 +--
in-dev/unreleased/managing-security/index.html | 2 +-
in-dev/unreleased/metastores/index.html | 24 +-
in-dev/unreleased/polaris-api-specs/index.html | 2 +-
.../polaris-catalog-api/index.html | 2 +-
.../polaris-management-api/index.html | 2 +-
in-dev/unreleased/polaris-spark-client/index.html | 20 +-
in-dev/unreleased/policy/index.html | 22 +-
in-dev/unreleased/realm/index.html | 18 +-
in-dev/unreleased/telemetry/index.html | 24 +-
index.html | 2 +-
index.xml | 246 ++++++++++-----------
...rch-index.4a6ef686e8ae7e46d78186e7181021dc.json | 1 +
...rch-index.905ab5752d4af782d7bb6882a55b9d77.json | 1 -
releases/0.9.0/access-control/index.html | 20 +-
releases/0.9.0/command-line-interface/index.html | 148 ++++++-------
.../configuring-polaris-for-production/index.html | 24 +-
releases/0.9.0/entities/index.html | 18 +-
releases/0.9.0/index.html | 2 +-
releases/0.9.0/index.xml | 16 +-
releases/0.9.0/metastores/index.html | 16 +-
releases/0.9.0/overview/index.html | 36 +--
.../0.9.0/polaris-management-service/index.html | 2 +-
releases/0.9.0/quickstart/index.html | 28 +--
releases/0.9.0/rest-catalog-open-api/index.html | 2 +-
releases/1.0.0/access-control/index.html | 20 +-
releases/1.0.0/admin-tool/index.html | 16 +-
releases/1.0.0/command-line-interface/index.html | 172 +++++++-------
releases/1.0.0/configuration/index.html | 16 +-
.../configuring-polaris-for-production/index.html | 22 +-
releases/1.0.0/entities/index.html | 18 +-
releases/1.0.0/evolution/index.html | 18 +-
releases/1.0.0/generic-table/index.html | 14 +-
.../getting-started/deploying-polaris/index.html | 2 +-
.../quickstart-deploy-aws/index.html | 4 +-
.../quickstart-deploy-azure/index.html | 4 +-
.../quickstart-deploy-gcp/index.html | 4 +-
releases/1.0.0/getting-started/index.html | 2 +-
releases/1.0.0/getting-started/index.xml | 8 +-
.../install-dependencies/index.html | 20 +-
.../1.0.0/getting-started/quickstart/index.html | 22 +-
.../1.0.0/getting-started/using-polaris/index.html | 36 +--
releases/1.0.0/index.html | 22 +-
releases/1.0.0/index.xml | 22 +-
releases/1.0.0/metastores/index.html | 18 +-
releases/1.0.0/polaris-catalog-service/index.html | 2 +-
.../1.0.0/polaris-management-service/index.html | 2 +-
releases/1.0.0/polaris-spark-client/index.html | 16 +-
releases/1.0.0/policy/index.html | 22 +-
releases/1.0.0/realm/index.html | 18 +-
releases/1.0.0/telemetry/index.html | 22 +-
releases/1.0.1/access-control/index.html | 20 +-
releases/1.0.1/admin-tool/index.html | 16 +-
releases/1.0.1/command-line-interface/index.html | 172 +++++++-------
releases/1.0.1/configuration/index.html | 16 +-
.../configuring-polaris-for-production/index.html | 22 +-
releases/1.0.1/entities/index.html | 18 +-
releases/1.0.1/evolution/index.html | 18 +-
releases/1.0.1/generic-table/index.html | 14 +-
.../getting-started/deploying-polaris/index.html | 2 +-
.../quickstart-deploy-aws/index.html | 4 +-
.../quickstart-deploy-azure/index.html | 4 +-
.../quickstart-deploy-gcp/index.html | 4 +-
releases/1.0.1/getting-started/index.html | 2 +-
releases/1.0.1/getting-started/index.xml | 8 +-
.../install-dependencies/index.html | 20 +-
.../1.0.1/getting-started/quickstart/index.html | 22 +-
.../1.0.1/getting-started/using-polaris/index.html | 36 +--
releases/1.0.1/index.html | 22 +-
releases/1.0.1/index.xml | 22 +-
releases/1.0.1/metastores/index.html | 18 +-
releases/1.0.1/polaris-catalog-service/index.html | 2 +-
.../1.0.1/polaris-management-service/index.html | 2 +-
releases/1.0.1/polaris-spark-client/index.html | 14 +-
releases/1.0.1/policy/index.html | 22 +-
releases/1.0.1/realm/index.html | 18 +-
releases/1.0.1/telemetry/index.html | 22 +-
releases/1.1.0/access-control/index.html | 20 +-
releases/1.1.0/admin-tool/index.html | 16 +-
releases/1.1.0/command-line-interface/index.html | 172 +++++++-------
releases/1.1.0/configuration/index.html | 16 +-
.../configuring-polaris-for-production/index.html | 22 +-
releases/1.1.0/entities/index.html | 18 +-
releases/1.1.0/evolution/index.html | 18 +-
releases/1.1.0/external-idp/index.html | 36 +--
releases/1.1.0/generic-table/index.html | 14 +-
.../getting-started/deploying-polaris/index.html | 2 +-
.../quickstart-deploy-aws/index.html | 4 +-
.../quickstart-deploy-azure/index.html | 4 +-
.../quickstart-deploy-gcp/index.html | 4 +-
releases/1.1.0/getting-started/index.html | 2 +-
releases/1.1.0/getting-started/index.xml | 10 +-
.../install-dependencies/index.html | 20 +-
releases/1.1.0/getting-started/minio/index.html | 18 +-
.../1.1.0/getting-started/quickstart/index.html | 22 +-
.../1.1.0/getting-started/using-polaris/index.html | 40 ++--
releases/1.1.0/helm/index.html | 34 +--
releases/1.1.0/index.html | 22 +-
releases/1.1.0/index.xml | 28 +--
releases/1.1.0/metastores/index.html | 18 +-
releases/1.1.0/polaris-catalog-service/index.html | 2 +-
.../1.1.0/polaris-management-service/index.html | 2 +-
releases/1.1.0/polaris-spark-client/index.html | 14 +-
releases/1.1.0/policy/index.html | 22 +-
releases/1.1.0/realm/index.html | 18 +-
releases/1.1.0/telemetry/index.html | 22 +-
releases/1.2.0/admin-tool/index.html | 16 +-
releases/1.2.0/command-line-interface/index.html | 204 ++++++++---------
releases/1.2.0/configuration/index.html | 16 +-
.../configuring-polaris-for-production/index.html | 22 +-
releases/1.2.0/entities/index.html | 18 +-
releases/1.2.0/evolution/index.html | 18 +-
.../hive-metastore-federation/index.html | 18 +-
.../federation/iceberg-rest-federation/index.html | 14 +-
releases/1.2.0/federation/index.html | 2 +-
releases/1.2.0/federation/index.xml | 4 +-
releases/1.2.0/generic-table/index.html | 14 +-
.../creating-a-catalog/catalog-azure/index.html | 10 +-
.../creating-a-catalog/catalog-gcs/index.html | 10 +-
.../getting-started/creating-a-catalog/index.html | 4 +-
.../getting-started/creating-a-catalog/index.xml | 4 +-
.../creating-a-catalog/s3/catalog-aws/index.html | 2 +-
.../creating-a-catalog/s3/catalog-minio/index.html | 2 +-
.../creating-a-catalog/s3/index.html | 2 +-
.../cloud-deploy/deploy-aws/index.html | 6 +-
.../cloud-deploy/deploy-azure/index.html | 6 +-
.../cloud-deploy/deploy-gcp/index.html | 6 +-
.../deploying-polaris/cloud-deploy/index.html | 2 +-
.../getting-started/deploying-polaris/index.html | 2 +-
.../getting-started/deploying-polaris/index.xml | 2 +-
.../deploying-polaris/local-deploy/index.html | 22 +-
releases/1.2.0/getting-started/index.html | 4 +-
releases/1.2.0/getting-started/index.xml | 2 +-
.../install-dependencies/index.html | 20 +-
.../1.2.0/getting-started/using-polaris/index.html | 22 +-
.../1.2.0/getting-started/using-polaris/index.xml | 2 +-
.../using-polaris/keycloak-idp/index.html | 24 +-
.../using-polaris/telemetry-tools/index.html | 2 +-
releases/1.2.0/helm/index.html | 34 +--
releases/1.2.0/index.html | 22 +-
releases/1.2.0/index.xml | 28 +--
.../managing-security/access-control/index.html | 20 +-
.../external-idp/idp-dev-notes/index.html | 24 +-
.../managing-security/external-idp/index.html | 24 +-
.../1.2.0/managing-security/external-idp/index.xml | 4 +-
releases/1.2.0/managing-security/index.html | 4 +-
releases/1.2.0/managing-security/index.xml | 2 +-
releases/1.2.0/metastores/index.html | 28 +--
releases/1.2.0/polaris-api-specs/index.html | 2 +-
.../polaris-catalog-api/index.html | 2 +-
.../polaris-management-api/index.html | 2 +-
releases/1.2.0/polaris-spark-client/index.html | 14 +-
releases/1.2.0/policy/index.html | 22 +-
releases/1.2.0/realm/index.html | 18 +-
releases/1.2.0/telemetry/index.html | 24 +-
releases/index.html | 2 +-
tags/index.html | 2 +-
tools/iceberg-catalog-migrator/index.html | 2 +-
tools/index.html | 2 +-
tools/polaris-benchmarks/index.html | 2 +-
tools/polaris-console/index.html | 2 +-
tools/polaris-mcp-server/index.html | 2 +-
tools/polaris-synchronizer/index.html | 2 +-
240 files changed, 2161 insertions(+), 2161 deletions(-)
diff --git a/404.html b/404.html
index 2427020c4..e74fc6c27 100644
--- a/404.html
+++ b/404.html
@@ -1,2 +1,2 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="404 Page not found"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
\ No newline at end of file
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="404 Page not found"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
\ No newline at end of file
diff --git a/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/index.html b/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/index.html
index a91e06e08..d71894334 100644
--- a/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/index.html
+++ b/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/index.html
@@ -23,7 +23,7 @@ remove db-kind in Helm Chart add relational-jdbc to Helm Chart This release can
https://polaris.apache.org/downloads/ The artifacts are available on Maven Central.
The Docker images are available on Docker Hub:
https://hub.docker.com/r/apache/polaris/tags https://hub.docker.com/r/apache/polaris-admin-tool/tags Enjoy !
-The Apache Polaris team."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_7101244419 [...]
+The Apache Polaris team."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_7101244419 [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
diff --git a/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/index.html b/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/index.html
index a6a83ef33..ba09dbafa 100644
--- a/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/index.html
+++ b/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="With the continuous evolution of data lake technologies, efficiently and securely managing massive datasets stored on object storage (such as AWS S3) while providing unified access endpoints for upstream analytics engines (like Apache Doris) has become a core challenge in modern data architectures. Apache Polaris, as an open and standardized REST Catalog service for Iceberg, provides an ideal solution to this challenge. It not only handles centralized meta [...]
+<meta name=description content="With the continuous evolution of data lake technologies, efficiently and securely managing massive datasets stored on object storage (such as AWS S3) while providing unified access endpoints for upstream analytics engines (like Apache Doris) has become a core challenge in modern data architectures. Apache Polaris, as an open and standardized REST Catalog service for Iceberg, provides an ideal solution to this challenge. It not only handles centralized meta [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
@@ -8,11 +8,11 @@
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-blog20250915doris-x-polaris-build [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span class=td-sidebar-nav-active-item>Doris X Polaris: Building Unified [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2025-09-15 class=text-body-secondary>Monday, September 15, 2025</time></div><header class=article-meta></header><p>With the continuous evolution of data lake technologies, efficiently and securely managing massive datasets stored on object storage (such as AWS S3) while providing unified access endpoints for upstream analytics engines (like <a href=https://doris.apache.org>Apache Doris</a>) has become a core challenge in modern data architectures. <a href=https://polaris.a [...]
+<time datetime=2025-09-15 class=text-body-secondary>Monday, September 15, 2025</time></div><header class=article-meta></header><p>With the continuous evolution of data lake technologies, efficiently and securely managing massive datasets stored on object storage (such as AWS S3) while providing unified access endpoints for upstream analytics engines (like <a href=https://doris.apache.org>Apache Doris</a>) has become a core challenge in modern data architectures. <a href=https://polaris.a [...]
</span></span><span style=display:flex><span>aws s3 mb s3://polaris-doris-test --region us-west-2
</span></span><span style=display:flex><span><span style=color:#75715e># Verify that the bucket was created successfully</span>
</span></span><span style=display:flex><span>aws s3 ls | grep polaris-doris-test
-</span></span></code></pre></div><h4 id=12-create-iam-role-for-object-storage-access id=12-create-iam-role-for-object-storage-access>1.2 Create IAM Role for Object Storage Access<a class=heading-anchor href=#12-create-iam-role-for-object-storage-access aria-label=Anchor>#</a></h4><p>To implement secure credential management, we need to create an IAM role for Polaris to use through the STS AssumeRole mechanism. This design follows the security best practices of the least privileged princi [...]
+</span></span></code></pre></div><h4 id=12-create-iam-role-for-object-storage-access>1.2 Create IAM Role for Object Storage Access</h4><p>To implement secure credential management, we need to create an IAM role for Polaris to use through the STS AssumeRole mechanism. This design follows the security best practices of the least privileged principle and separation of duties.</p><ol><li><p>Create a trust policy file</p><p>Create the <code>polaris-trust-policy.json</code> file:</p><blockquot [...]
</span></span></span><span style=display:flex><span><span style=color:#e6db74>{
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "Version": "2012-10-17",
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "Statement": [
@@ -39,7 +39,7 @@
</span></span><span style=display:flex><span>aws iam attach-role-policy <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --role-name polaris-doris-demo <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
-</span></span></code></pre></div></li></ol><h4 id=13-bind-iam-role-to-ec2-instance-optional id=13-bind-iam-role-to-ec2-instance-optional>1.3 Bind IAM Role to EC2 Instance (Optional)<a class=heading-anchor href=#13-bind-iam-role-to-ec2-instance-optional aria-label=Anchor>#</a></h4><blockquote><p>If you do not perform this step, you need to export <code>AWS_ACCESS_KEY_ID</code> and <code>AWS_SECRET_ACCESS_KEY</code> before starting polaris</p></blockquote><p>If your Polaris service will ru [...]
+</span></span></code></pre></div></li></ol><h4 id=13-bind-iam-role-to-ec2-instance-optional>1.3 Bind IAM Role to EC2 Instance (Optional)</h4><blockquote><p>If you do not perform this step, you need to export <code>AWS_ACCESS_KEY_ID</code> and <code>AWS_SECRET_ACCESS_KEY</code> before starting polaris</p></blockquote><p>If your Polaris service will run on an EC2 instance, it is best to bind an IAM role to the EC2 instance instead of using access keys. This avoids hard-coding credentials i [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"Version"</span>: <span style=color:#e6db74>"2012-10-17"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"Statement"</span>: [
@@ -80,14 +80,14 @@
</span></span><span style=display:flex><span>aws ec2 associate-iam-instance-profile <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --instance-id i-xxxxxxxxx <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --iam-instance-profile Name<span style=color:#f92672>=</span>polaris-ec2-instance-profile
-</span></span></code></pre></div></li></ol><h3 id=2-polaris-deployment-and-catalog-creation id=2-polaris-deployment-and-catalog-creation>2. Polaris Deployment and Catalog Creation<a class=heading-anchor href=#2-polaris-deployment-and-catalog-creation aria-label=Anchor>#</a></h3><p>With the environment ready, we’ll now deploy the Polaris service and configure the Iceberg Catalog.</p><blockquote><p>This document uses the source code quick start method. For more deployment methods, pl [...]
+</span></span></code></pre></div></li></ol><h3 id=2-polaris-deployment-and-catalog-creation>2. Polaris Deployment and Catalog Creation</h3><p>With the environment ready, we’ll now deploy the Polaris service and configure the Iceberg Catalog.</p><blockquote><p>This document uses the source code quick start method. For more deployment methods, please refer to: <a href=https://polaris.apache.org/releases/1.0.1/getting-started/deploying-polaris/>https://polaris.apache.org/releases/1.0. [...]
</span></span><span style=display:flex><span>export AWS_SECRET_ACCESS_KEY<span style=color:#f92672>=</span>YOUR_AWS_SECRET_ACCESS_KEY
</span></span></code></pre></div></li><li><p>Clone Polaris Repository and Switch to Specific Version</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>git clone https://github.com/apache/polaris.git
</span></span><span style=display:flex><span>cd polaris
</span></span><span style=display:flex><span><span style=color:#75715e># Recommend using a released stable version</span>
</span></span><span style=display:flex><span>git checkout apache-polaris-1.0.1-incubating
</span></span></code></pre></div></li><li><p>Run Polaris</p><p>Ensure you have Java 21+ and Docker 27+ installed.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>./gradlew run -Dpolaris.bootstrap.credentials<span style=color:#f92672>=</span>POLARIS,root,secret
-</span></span></code></pre></div><ul><li><p><code>POLARIS</code> is the realm</p></li><li><p><code>root</code> is the <code>CLIENT_ID</code></p></li><li><p><code>secret</code> is the <code>CLIENT_SECRET</code></p></li><li><p>If credentials are not set, it will use preset credentials <code>POLARIS,root,s3cr3t</code></p></li></ul><p>This command will compile and start the Polaris service, which listens on port 8181 by default.</p><blockquote><p>You can also use binary distribution, see: <a [...]
+</span></span></code></pre></div><ul><li><p><code>POLARIS</code> is the realm</p></li><li><p><code>root</code> is the <code>CLIENT_ID</code></p></li><li><p><code>secret</code> is the <code>CLIENT_SECRET</code></p></li><li><p>If credentials are not set, it will use preset credentials <code>POLARIS,root,s3cr3t</code></p></li></ul><p>This command will compile and start the Polaris service, which listens on port 8181 by default.</p><blockquote><p>You can also use binary distribution, see: <a [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>secret
</span></span></code></pre></div></li><li><p>Create Catalog (Pointing to S3 Storage)</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>./polaris catalogs create <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --storage-type s3 <span style=color:#ae81ff>\
@@ -96,7 +96,7 @@
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --external-id polaris-doris-demo <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> doris_catalog
</span></span></code></pre></div><ul><li><p><code>--storage-type</code>: Specifies the underlying storage as S3.</p></li><li><p><code>--default-base-location</code>: Default root path for Iceberg table data.</p></li><li><p><code>--role-arn</code>: IAM Role that Polaris service uses to assume for S3 access.</p></li><li><p><code>--external-id</code>: External ID used when assuming the role, must match the configuration in the IAM Role trust policy.</p></li></ul></li><li><p>Create Namespace [...]
-</span></span></code></pre></div><p>This creates a namespace (database) named <code>doris_demo</code> under <code>doris_catalog</code>.</p></li></ol><h4 id=23-polaris-security-roles-and-permission-configuration id=23-polaris-security-roles-and-permission-configuration>2.3 Polaris Security Roles and Permission Configuration<a class=heading-anchor href=#23-polaris-security-roles-and-permission-configuration aria-label=Anchor>#</a></h4><p>To allow Doris to access as a <code>non-root</code> [...]
+</span></span></code></pre></div><p>This creates a namespace (database) named <code>doris_demo</code> under <code>doris_catalog</code>.</p></li></ol><h4 id=23-polaris-security-roles-and-permission-configuration>2.3 Polaris Security Roles and Permission Configuration</h4><p>To allow Doris to access as a <code>non-root</code> user, we need to create a new user and role with appropriate permissions.</p><ol><li><p>Create Principal Role and Catalog Role</p><div class=highlight><pre tabindex=0 [...]
</span></span><span style=display:flex><span>./polaris principal-roles create doris_pr_role
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Create a Catalog Role under doris_catalog</span>
@@ -120,7 +120,7 @@
</span></span><span style=display:flex><span>./polaris principal-roles grant <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> doris_pr_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --principal doris_user
-</span></span></code></pre></div><p>With this, all Polaris-side configuration is complete. We’ve created a user named <code>doris_user</code> that obtains permission to manage <code>doris_catalog</code> through <code>doris_pr_role</code>.</p></li></ol><h3 id=3-doris-polaris-integration id=3-doris-polaris-integration>3. Doris-Polaris Integration<a class=heading-anchor href=#3-doris-polaris-integration aria-label=Anchor>#</a></h3><p>Now, we’ll create an Iceberg Catalog in Doris [...]
+</span></span></code></pre></div><p>With this, all Polaris-side configuration is complete. We’ve created a user named <code>doris_user</code> that obtains permission to manage <code>doris_catalog</code> through <code>doris_pr_role</code>.</p></li></ol><h3 id=3-doris-polaris-integration>3. Doris-Polaris Integration</h3><p>Now, we’ll create an Iceberg Catalog in Doris that connects to the newly configured Polaris service. Doris supports multiple flexible authentication combinat [...]
</span></span><span style=display:flex><span> <span style=color:#e6db74>'type'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'iceberg'</span>,
</span></span><span style=display:flex><span> <span style=color:#75715e>-- Catalog name in Polaris
</span></span></span><span style=display:flex><span><span style=color:#75715e></span> <span style=color:#e6db74>'warehouse'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'doris_catalog'</span>,
@@ -139,7 +139,7 @@
</span></span></span><span style=display:flex><span><span style=color:#75715e></span> <span style=color:#e6db74>'s3.endpoint'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'https://s3.us-west-2.amazonaws.com'</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>'s3.region'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'us-west-2'</span>
</span></span><span style=display:flex><span>);
-</span></span></code></pre></div><h4 id=method-2-oauth2--static-storage-credentials-aksk id=method-2-oauth2--static-storage-credentials-aksk>Method 2: OAuth2 + Static Storage Credentials (AK/SK)<a class=heading-anchor href=#method-2-oauth2--static-storage-credentials-aksk aria-label=Anchor>#</a></h4><p>In this approach, Doris still uses OAuth2 to access Polaris metadata, but when accessing S3 data, it uses static AK/SK hardcoded in the Doris Catalog configuration. This method is simple t [...]
+</span></span></code></pre></div><h4 id=method-2-oauth2--static-storage-credentials-aksk>Method 2: OAuth2 + Static Storage Credentials (AK/SK)</h4><p>In this approach, Doris still uses OAuth2 to access Polaris metadata, but when accessing S3 data, it uses static AK/SK hardcoded in the Doris Catalog configuration. This method is simple to configure and suitable for quick testing, but has lower security.</p><p><strong>Doris Catalog Creation Statement:</strong></p><div class=highlight><pre [...]
</span></span><span style=display:flex><span> <span style=color:#e6db74>'type'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'iceberg'</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>'warehouse'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'doris_catalog'</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>'iceberg.catalog.type'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'rest'</span>,
@@ -154,7 +154,7 @@
</span></span><span style=display:flex><span> <span style=color:#e6db74>'s3.endpoint'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'https://s3.us-west-2.amazonaws.com'</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>'s3.region'</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>'us-west-2'</span>
</span></span><span style=display:flex><span>);
-</span></span></code></pre></div><h3 id=4-managing-iceberg-table-in-doris-with-polaris id=4-managing-iceberg-table-in-doris-with-polaris>4. Managing Iceberg Table in Doris with Polaris<a class=heading-anchor href=#4-managing-iceberg-table-in-doris-with-polaris aria-label=Anchor>#</a></h3><p>Regardless of which method you use to create the Catalog, you can manage the Iceberg table with following SQL statements.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:# [...]
+</span></span></code></pre></div><h3 id=4-managing-iceberg-table-in-doris-with-polaris>4. Managing Iceberg Table in Doris with Polaris</h3><p>Regardless of which method you use to create the Catalog, you can manage the Iceberg table with following SQL statements.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#75715e>-- Swi [...]
</span></span></span><span style=display:flex><span><span style=color:#75715e></span>USE polaris_vended.doris_demo;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e>-- Create an Iceberg table
diff --git a/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/index.html b/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/index.html
index 5fe12815e..c1d7b5b1c 100644
--- a/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/index.html
+++ b/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/index.html
@@ -7,7 +7,7 @@ New features & enhancements ** HMS support ** IMPLICIT authentication type ** Su
This release includes:
New features & enhancements ** HMS support ** IMPLICIT authentication type ** Support for non-AWS S3 compatible storage with STS: MinIO, s3a scheme support ** Use of Realm instead of RealmId ** Modularized Federation Architecture ** Federated Catalog Support in Polaris CLI ** Expanded External Identity Provider support ** Python package (official) ** Documentation improvements (release process, multi-realms configuration) Bug fixes ** Fix drop view with default server configuration ** Fi [...]
This release includes:
-New features & enhancements ** HMS support ** IMPLICIT authentication type ** Support for non-AWS S3 compatible storage with STS: MinIO, s3a scheme support ** Use of Realm instead of RealmId ** Modularized Federation Architecture ** Federated Catalog Support in Polaris CLI ** Expanded External Identity Provider support ** Python package (official) ** Documentation improvements (release process, multi-realms configuration) Bug fixes ** Fix drop view with default server configuration ** Fi [...]
+New features & enhancements ** HMS support ** IMPLICIT authentication type ** Support for non-AWS S3 compatible storage with STS: MinIO, s3a scheme support ** Use of Realm instead of RealmId ** Modularized Federation Architecture ** Federated Catalog Support in Polaris CLI ** Expanded External Identity Provider support ** Python package (official) ** Documentation improvements (release process, multi-realms configuration) Bug fixes ** Fix drop view with default server configuration ** Fi [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
diff --git a/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/index.html b/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/index.html
index cad531b81..d0aa03521 100644
--- a/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/index.html
+++ b/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Unified data governance has become a hot topic over the last few years. As AI and other data-hungry use cases infiltrate the market, the need for a comprehensive data catalog solution with governance in mind has become critical. Apache Polaris has found its calling as an open-source solution, specifically built to handle data governed by Apache Iceberg, that is changing the way we manage and access data across various clouds, formats, and platforms."><meta [...]
+<meta name=description content="Unified data governance has become a hot topic over the last few years. As AI and other data-hungry use cases infiltrate the market, the need for a comprehensive data catalog solution with governance in mind has become critical. Apache Polaris has found its calling as an open-source solution, specifically built to handle data governed by Apache Iceberg, that is changing the way we manage and access data across various clouds, formats, and platforms."><meta [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
@@ -8,7 +8,7 @@
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2025-10-02 class=text-body-secondary>Thursday, October 02, 2025</time></div><header class=article-meta></header><p>Unified data governance has become a hot topic over the last few years. As AI and other data-hungry use cases infiltrate the market, the need for a comprehensive data catalog solution with governance in mind has become critical. <a href=https://github.com/apache/polaris>Apache Polaris</a> has found its calling as an open-source solution, specifically built to [...]
+<time datetime=2025-10-02 class=text-body-secondary>Thursday, October 02, 2025</time></div><header class=article-meta></header><p>Unified data governance has become a hot topic over the last few years. As AI and other data-hungry use cases infiltrate the market, the need for a comprehensive data catalog solution with governance in mind has become critical. <a href=https://github.com/apache/polaris>Apache Polaris</a> has found its calling as an open-source solution, specifically built to [...]
</span></span></code></pre></div><p>Build and run an Apache Polaris server. Note that JDK 21 is required to build and run the Apache Polaris.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd polaris
</span></span><span style=display:flex><span>./gradlew run
</span></span></code></pre></div><p>Then use the provided spark shell to create a data catalog and prepare data. Start a different shell and run the following command in the polaris directory:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>./regtests/run_spark_sql.sh
@@ -37,8 +37,8 @@
</span></span><span style=display:flex><span><span style=color:#66d9ef>INSERT</span> <span style=color:#66d9ef>INTO</span> modern.knows <span style=color:#66d9ef>VALUES</span>
</span></span><span style=display:flex><span> (<span style=color:#e6db74>'e7'</span>, <span style=color:#e6db74>'v1'</span>, <span style=color:#e6db74>'v2'</span>, <span style=color:#ae81ff>0</span>.<span style=color:#ae81ff>5</span>),
</span></span><span style=display:flex><span> (<span style=color:#e6db74>'e8'</span>, <span style=color:#e6db74>'v1'</span>, <span style=color:#e6db74>'v4'</span>, <span style=color:#ae81ff>1</span>.<span style=color:#ae81ff>0</span>);
-</span></span></code></pre></div><h3 id=deploy-puppygraph id=deploy-puppygraph>Deploy PuppyGraph<a class=heading-anchor href=#deploy-puppygraph aria-label=Anchor>#</a></h3><p>Then you’ll need to deploy PuppyGraph. Luckily, this is easy and can currently be done through Docker (see <a href=https://docs.puppygraph.com/getting-started>Docs</a>) or an <a href=https://aws.amazon.com/marketplace/pp/prodview-dgmn5jnwnfacu>AWS AMI</a> through AWS Marketplace. The AMI approach requires a few clic [...]
-</span></span></code></pre></div><p>This will spin up a PuppyGraph instance on your local machine (or on a cloud or bare metal server if that’s where you want to deploy it). Next, you can go to <strong>localhost:8081</strong> or the URL on which you launched the instance. This will show you the PuppyGraph login screen:</p><p><img src=/img/blog/2025/10/02/fig4-puppygraph-login-page.png alt></p><p>After logging in with the default credentials (username: “<code>puppygraph”</code> and [...]
+</span></span></code></pre></div><h3 id=deploy-puppygraph>Deploy PuppyGraph</h3><p>Then you’ll need to deploy PuppyGraph. Luckily, this is easy and can currently be done through Docker (see <a href=https://docs.puppygraph.com/getting-started>Docs</a>) or an <a href=https://aws.amazon.com/marketplace/pp/prodview-dgmn5jnwnfacu>AWS AMI</a> through AWS Marketplace. The AMI approach requires a few clicks and will deploy your instance on the infrastructure of your choice. Below, we will focus [...]
+</span></span></code></pre></div><p>This will spin up a PuppyGraph instance on your local machine (or on a cloud or bare metal server if that’s where you want to deploy it). Next, you can go to <strong>localhost:8081</strong> or the URL on which you launched the instance. This will show you the PuppyGraph login screen:</p><p><img src=/img/blog/2025/10/02/fig4-puppygraph-login-page.png alt></p><p>After logging in with the default credentials (username: “<code>puppygraph”</code> and [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>"catalogs"</span>: [
</span></span><span style=display:flex><span> {
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"test"</span>,
@@ -210,4 +210,4 @@
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>In the example, you can see the data store details under the <strong>catalogs</strong> section. This is all that is needed to connect to the Apache Polaris instance. Underneath the <strong>catalogs</strong> section, you’ll notice that we have defined the nodes and edges and where the data comes from. This tells PuppyGraph how to map the SQL data into the graph hosted within PuppyGraph. This can then be uploaded to PuppyGraph, and you’ll be ready to que [...]
-To create the schema in this way, just save the schema to a JSON file, modify the uri and credential to reflect the actual Polaris uri and credential, and select “Upload Graph Schema JSON” to upload the JSON file. The graph will then be created.</p><p>Alternatively, for those who want a more UI-based approach, PuppyGraph also offers a schema builder that allows users to use a drag-and-drop editor to build their schema. In an example similar to the one above, here is what the UI flow look [...]
\ No newline at end of file
+To create the schema in this way, just save the schema to a JSON file, modify the uri and credential to reflect the actual Polaris uri and credential, and select “Upload Graph Schema JSON” to upload the JSON file. The graph will then be created.</p><p>Alternatively, for those who want a more UI-based approach, PuppyGraph also offers a schema builder that allows users to use a drag-and-drop editor to build their schema. In an example similar to the one above, here is what the UI flow look [...]
\ No newline at end of file
diff --git a/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/index.html b/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/index.html
index aee2698ce..512297eee 100644
--- a/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/index.html
+++ b/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Introduction: Why StarRocks + Apache Polaris?# Modern Data-Architecture Pain Points: Silos &amp; Engine Lock-in# Today’s data-driven enterprises face two chronic ailments:
+<meta name=description content="Introduction: Why StarRocks + Apache Polaris? Modern Data-Architecture Pain Points: Silos &amp; Engine Lock-in Today’s data-driven enterprises face two chronic ailments:
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
-Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta property="og:title" content="StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse"><meta property="og:description" content="Introduction: Why StarRocks + Apache Polaris?# Modern Data-Architecture Pain Points: Silos & Engine Lock-in# Today’s data-drive [...]
+Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta property="og:title" content="StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse"><meta property="og:description" content="Introduction: Why StarRocks + Apache Polaris? Modern Data-Architecture Pain Points: Silos & Engine Lock-in Today’s data-driven [...]
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
-Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/"><meta property="article:section" content="blog"><meta property="article:published_tim [...]
+Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/"><meta property="article:section" content="blog"><meta property="article:published_tim [...]
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
-Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta itemprop=datePublished content="2025-10-21T00:00:00+00:00"><meta itemprop=dateModified content="2025-10-21T00:00:00+00:00"><meta itemprop=wordCount content="1235"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="StarRocks and Apache [...]
+Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><meta itemprop=datePublished content="2025-10-21T00:00:00+00:00"><meta itemprop=dateModified content="2025-10-21T00:00:00+00:00"><meta itemprop=wordCount content="1235"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="StarRocks and Apache [...]
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
-Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity [...]
+Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><in [...]
@@ -16,8 +16,8 @@ Engine lock-in : every OLAP engine optimises for its own metadata layer and file
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2025-10-21 class=text-body-secondary>Tuesday, October 21, 2025</time></div><header class=article-meta></header><h2 id=introduction-why-starrocks--apache-polaris id=introduction-why-starrocks--apache-polaris>Introduction: Why StarRocks + Apache Polaris?<a class=heading-anchor href=#introduction-why-starrocks--apache-polaris aria-label=Anchor>#</a></h2><h3 id=modern-data-architecture-pain-points-silos--engine-lock-in id=modern-data-architecture-pain-points-silos--engine-lock [...]
-Here we will compile from source code and deploy Polaris via a standalone process.</p><h3 id=clone-source-code-and-start-polaris id=clone-source-code-and-start-polaris>Clone Source Code and Start Polaris<a class=heading-anchor href=#clone-source-code-and-start-polaris aria-label=Anchor>#</a></h3><ol><li>Clone source code and checkout to released version</li></ol><p>User can get the latest released version from <a href=https://github.com/apache/polaris/releases>https://github.com/apache/p [...]
+<time datetime=2025-10-21 class=text-body-secondary>Tuesday, October 21, 2025</time></div><header class=article-meta></header><h2 id=introduction-why-starrocks--apache-polaris>Introduction: Why StarRocks + Apache Polaris?</h2><h3 id=modern-data-architecture-pain-points-silos--engine-lock-in>Modern Data-Architecture Pain Points: Silos & Engine Lock-in</h3><p>Today’s data-driven enterprises face two chronic ailments:</p><ul><li><p><strong>Data silos</strong> : transactional data sits in RD [...]
+Here we will compile from source code and deploy Polaris via a standalone process.</p><h3 id=clone-source-code-and-start-polaris>Clone Source Code and Start Polaris</h3><ol><li>Clone source code and checkout to released version</li></ol><p>User can get the latest released version from <a href=https://github.com/apache/polaris/releases>https://github.com/apache/polaris/releases</a></p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab- [...]
</span></span><span style=display:flex><span>wget https://dlcdn.apache.org/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz
</span></span><span style=display:flex><span>tar -xvzf apache-polaris-1.1.0-incubating.tar.gz
</span></span><span style=display:flex><span>cd apache-polaris-1.1.0-incubating
@@ -40,7 +40,7 @@ Here we will compile from source code and deploy Polaris via a standalone proces
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./gradlew run
</span></span></code></pre></div><p>Using <strong>Admin Tool</strong> (<a href=https://polaris.apache.org/releases/1.1.0/admin-tool/>https://polaris.apache.org/releases/1.1.0/admin-tool/</a>) to bootstrap realms and create the necessary principal credentials for the Polaris server.</p><p>For example, to bootstrap the POLARIS realm and create its root principal credential with the client ID <strong>root</strong> and client secret <strong>root_secret</strong>, you can run the following com [...]
-</span></span></code></pre></div><h3 id=creating-a-principal-and-assigning-it-privileges id=creating-a-principal-and-assigning-it-privileges>Creating a Principal and Assigning it Privileges<a class=heading-anchor href=#creating-a-principal-and-assigning-it-privileges aria-label=Anchor>#</a></h3><p>Use the <strong>Polaris CLI</strong> (already built in the same folder):</p><ol><li>Export CLIENT_ID and CLIENT_SECRET</li></ol><div class=highlight><pre tabindex=0 style=color:#f8f8f2;backgrou [...]
+</span></span></code></pre></div><h3 id=creating-a-principal-and-assigning-it-privileges>Creating a Principal and Assigning it Privileges</h3><p>Use the <strong>Polaris CLI</strong> (already built in the same folder):</p><ol><li>Export CLIENT_ID and CLIENT_SECRET</li></ol><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>export CLIENT_ID<span st [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>root_secret
</span></span></code></pre></div><ol start=2><li>Create catalog</li></ol><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>./polaris
</span></span><span style=display:flex><span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -98,8 +98,8 @@ These credentials will be provided to engines reading data from the catalog once
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog polaris_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role test_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>We grant <strong>CATALOG_MANAGE_CONTENT</strong> privilege to the catalog role <code>test_catalog_role</code>, and assign the principal role <code>test_user_role</code> to principal <code>jack</code>, then assign the catalog role <code>test_catalog_role</code> to principal role <code>test_user_role</code>.</p><h2 id=configure-starrocks-iceberg-catalog id=configure-starrocks-iceberg-catalog>Configure StarRocks Iceberg Catalog<a class=heading-anchor href [...]
-Then you can create an external Iceberg catalog in StarRocks that connects to Polaris.</p><h3 id=create-external-catalog id=create-external-catalog>Create External Catalog<a class=heading-anchor href=#create-external-catalog aria-label=Anchor>#</a></h3><ol><li>Use credentials vending</li></ol><p>It’s recommended to use Polaris’s credential vending feature to enhance security by avoiding long-lived static credentials.</p><p>Here is an example of creating an external catalog in [...]
+</span></span></code></pre></div><p>We grant <strong>CATALOG_MANAGE_CONTENT</strong> privilege to the catalog role <code>test_catalog_role</code>, and assign the principal role <code>test_user_role</code> to principal <code>jack</code>, then assign the catalog role <code>test_catalog_role</code> to principal role <code>test_user_role</code>.</p><h2 id=configure-starrocks-iceberg-catalog>Configure StarRocks Iceberg Catalog</h2><p>First, you need to have a StarRocks cluster up and running. [...]
+Then you can create an external Iceberg catalog in StarRocks that connects to Polaris.</p><h3 id=create-external-catalog>Create External Catalog</h3><ol><li>Use credentials vending</li></ol><p>It’s recommended to use Polaris’s credential vending feature to enhance security by avoiding long-lived static credentials.</p><p>Here is an example of creating an external catalog in StarRocks that connects to Polaris using credential vending:</p><div class=highlight><pre tabindex=0 st [...]
</span></span><span style=display:flex><span>PROPERTIES (
</span></span><span style=display:flex><span> <span style=color:#e6db74>"iceberg.catalog.uri"</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>"http://<POLARIS_HOST>:<POLARIS_PORT>/api/catalog"</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>"type"</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>"iceberg"</span>,
@@ -125,7 +125,7 @@ Then you can create an external Iceberg catalog in StarRocks that connects to Po
</span></span><span style=display:flex><span> <span style=color:#e6db74>"aws.s3.secret_key"</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>"<secret_key>"</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>"iceberg.catalog.vended-credentials-enabled"</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>"false"</span>
</span></span><span style=display:flex><span> );
-</span></span></code></pre></div><h3 id=manage-iceberg-tables-through-starrocks id=manage-iceberg-tables-through-starrocks>Manage iceberg tables through StarRocks<a class=heading-anchor href=#manage-iceberg-tables-through-starrocks aria-label=Anchor>#</a></h3><p>Connect to StarRocks and run the following commands to create and query an Iceberg table through the Polaris catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-siz [...]
+</span></span></code></pre></div><h3 id=manage-iceberg-tables-through-starrocks>Manage iceberg tables through StarRocks</h3><p>Connect to StarRocks and run the following commands to create and query an Iceberg table through the Polaris catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#75715e>-- switch to external ice [...]
</span></span></span><span style=display:flex><span><span style=color:#75715e></span>StarRocks<span style=color:#f92672>></span><span style=color:#66d9ef>set</span> <span style=color:#66d9ef>catalog</span> polaris_catalog;
</span></span><span style=display:flex><span>Query OK, <span style=color:#ae81ff>0</span> <span style=color:#66d9ef>rows</span> affected (<span style=color:#ae81ff>0</span>.<span style=color:#ae81ff>00</span> sec)
</span></span><span style=display:flex><span>
diff --git a/blog/2025/12/24/securing-s3-data-with-aws-kms/index.html b/blog/2025/12/24/securing-s3-data-with-aws-kms/index.html
index 19069c42a..91fbcff11 100644
--- a/blog/2025/12/24/securing-s3-data-with-aws-kms/index.html
+++ b/blog/2025/12/24/securing-s3-data-with-aws-kms/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Introduction# AWS Key Management Service (KMS) provides a way to encrypt S3 data in AWS without exposing raw key material outside AWS services.
+<meta name=description content="Introduction AWS Key Management Service (KMS) provides a way to encrypt S3 data in AWS without exposing raw key material outside AWS services.
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta property="og:title" content="Securing S3 data with AWS KMS"><meta property="og:description" content="Introduction# AWS Key Management Service (KMS) provides a way to encrypt S3 data in AWS without exposing raw key material outside AWS services.
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta property="og:title" content="Securing S3 data with AWS KMS"><meta property="og:description" content="Introduction AWS Key Management Service (KMS) provides a way to encrypt S3 data in AWS without exposing raw key material outside AWS services.
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/"><meta property="article:section" content="blog"><meta property="article:published_time" content="2025-12-24T00:00:00+00:00"><meta property="article:modified_time" content="2025-12-24T00:00:00+00:00"><meta [...]
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/"><meta property="article:section" content="blog"><meta property="article:published_time" content="2025-12-24T00:00:00+00:00"><meta property="article:modified_time" content="2025-12-24T00:00:00+00:00"><meta [...]
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta itemprop=datePublished content="2025-12-24T00:00:00+00:00"><meta itemprop=dateModified content="2025-12-24T00:00:00+00:00"><meta itemprop=wordCount content="499"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Securing S3 data with AWS KMS"><meta name=twitter:description content="Introduc [...]
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><meta itemprop=datePublished content="2025-12-24T00:00:00+00:00"><meta itemprop=dateModified content="2025-12-24T00:00:00+00:00"><meta itemprop=wordCount content="499"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Securing S3 data with AWS KMS"><meta name=twitter:description content="Introduct [...]
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span class=td-sidebar-nav-active-item>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-perfo [...]
@@ -20,9 +20,9 @@ Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2025-12-24 class=text-body-secondary>Wednesday, December 24, 2025</time></div><header class=article-meta></header><h2 id=introduction id=introduction>Introduction<a class=heading-anchor href=#introduction aria-label=Anchor>#</a></h2><p>AWS <a href=https://docs.aws.amazon.com/kms/latest/developerguide/overview.html>Key Management Service</a> (KMS) provides
+<time datetime=2025-12-24 class=text-body-secondary>Wednesday, December 24, 2025</time></div><header class=article-meta></header><h2 id=introduction>Introduction</h2><p>AWS <a href=https://docs.aws.amazon.com/kms/latest/developerguide/overview.html>Key Management Service</a> (KMS) provides
a way to encrypt S3 data in AWS without exposing raw key material outside AWS services.</p><p>Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.</p><p>The core functionality is available via Polaris REST API since the <code>1.2.0-incubating</code> release.
-CLI support will be made available in the release following <code>1.3.0-incubating</code>.</p><h2 id=configuring-polaris-catalog id=configuring-polaris-catalog>Configuring Polaris Catalog<a class=heading-anchor href=#configuring-polaris-catalog aria-label=Anchor>#</a></h2><p>KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side
+CLI support will be made available in the release following <code>1.3.0-incubating</code>.</p><h2 id=configuring-polaris-catalog>Configuring Polaris Catalog</h2><p>KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side
(e.g. using SSE-KMS).</p><p>Make a note of the KMS keys ARN that the bucket uses and pass it to the <code>--current-kms-key</code> CLI option
when creating the corresponding Polaris Catalog.</p><p>For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>./polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>POLARIS_CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -39,7 +39,7 @@ when creating the corresponding Polaris Catalog.</p><p>For example:</p><div clas
</span></span></code></pre></div><p>Once the KMS key is configured in the catalog, Polaris will automatically add appropriate access
policy entries to vended credentials. Clients do not need to take any extra actions to benefit
from KMS-based server-side data encryption and decryption. This applies to engines (like Spark)
-and to AWS clients used inside Polaris itself (for reading and writing metadata JSON files).</p><h2 id=common-failure-modes id=common-failure-modes>Common Failure Modes<a class=heading-anchor href=#common-failure-modes aria-label=Anchor>#</a></h2><p>If KMS keys are associated with the S3 bucket, but not configured in Polaris, clients will face
+and to AWS clients used inside Polaris itself (for reading and writing metadata JSON files).</p><h2 id=common-failure-modes>Common Failure Modes</h2><p>If KMS keys are associated with the S3 bucket, but not configured in Polaris, clients will face
runtime errors when communicating with S3 APIs. The following example is from Spark.</p><pre tabindex=0><code>25/12/24 14:32:20 ERROR SparkSQLDriver: Failed in [select * from ns.t1]
software.amazon.awssdk.services.s3.model.S3Exception: User: arn:aws:sts::123456789012:assumed-role/polaris/PolarisAwsCredentialsStorageIntegration is not authorized to perform: kms:Decrypt on resource: arn:aws:kms:us-west-2:123456789012:key/abcd1234-1111-2222-3333-444444444444 because no session policy allows the kms:Decrypt action (Service: S3, Status Code: 403, Request ID: ****************, Extended Request ID: *****)
</code></pre><pre tabindex=0><code>spark-sql ()> insert into ns.t1 values ('test');
@@ -48,10 +48,10 @@ software.amazon.awssdk.services.s3.model.S3Exception: User: arn:aws:sts::1234567
Job aborted due to stage failure: Task 0 in stage 3.0 failed 1 times, most recent failure: Lost task 0.0 in stage 3.0 (TID 3) (192.168.68.56 executor driver): java.io.UncheckedIOException: Failed to close current writer
[...]
Caused by: java.io.IOException: software.amazon.awssdk.services.s3.model.S3Exception: User: arn:aws:sts::123456789012:assumed-role/polaris/PolarisAwsCredentialsStorageIntegration is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:kms:us-west-2:123456789012:key/abcd1234-1111-2222-3333-444444444444 because no session policy allows the kms:GenerateDataKey action (Service: S3, Status Code: 403, Request ID: ****************, Extended Request ID: ************)
-</code></pre><h2 id=using-multiple-kms-keys id=using-multiple-kms-keys>Using Multiple KMS Keys<a class=heading-anchor href=#using-multiple-kms-keys aria-label=Anchor>#</a></h2><p>If the bucket used by the catalog has had multiple different KMS key ARNs associated with it over time,
+</code></pre><h2 id=using-multiple-kms-keys>Using Multiple KMS Keys</h2><p>If the bucket used by the catalog has had multiple different KMS key ARNs associated with it over time,
Polaris needs to know all related key ARNs. This is necessary for the catalog server to properly form policies
associated with vended credentials so that accessing both old and new data is possible.</p><p>This can be achieved by using the <code>--allowed-kms-key</code> CLI option to add zero or more extra KMS key ARNs to the
catalog’s storage configuration.</p><p>Note: the key material may be automatically rotated by AWS services (if configured) without introducing a new key ARN,
-in that case no catalog changes are necessary.</p><h2 id=acknowledgements id=acknowledgements>Acknowledgements<a class=heading-anchor href=#acknowledgements aria-label=Anchor>#</a></h2><p>KMS support in Polaris was made possible through collaboration with many community members, specifically involving PRs
+in that case no catalog changes are necessary.</p><h2 id=acknowledgements>Acknowledgements</h2><p>KMS support in Polaris was made possible through collaboration with many community members, specifically involving PRs
#<a href=https://github.com/apache/polaris/pull/1424>1424</a> by <a href=https://github.com/fivetran-ashokborra>fivetran-ashokborra</a>
and #<a href=https://github.com/apache/polaris/pull/2802>2802</a> by <a href=https://github.com/fabio-rizzo-01>fabio-rizzo-01</a>.</p><ul class="list-unstyled d-flex justify-content-between align-items-center mb-0 pt-5"><li><a href=/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/ aria-label="Previous - StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse" class="btn btn-primary"><span cl [...]
\ No newline at end of file
diff --git a/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/index.html b/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/index.html
index 959e46cf0..1298b2d90 100644
--- a/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/index.html
+++ b/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Introduction# We are excited to announce the integration between Apache Polaris and the Lance ecosystem, enabling users to manage Lance tables through the Apache Polaris Generic Table API. This integration brings AI-native columnar storage to the open multimodal lakehouse, allowing organizations to leverage Apache Polaris as a unified catalog for both Iceberg and Lance tables.
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta property="og:title" content="Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse"><meta property="og:description" content="Introduction# We are excited to announce the integration between Apache [...]
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/"><meta property="article:secti [...]
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta itemprop=datePublished content="2026-01-06T00:00:00+00:00"><meta itemprop=dateModified content="2026-01-06T00:00:00+00:00"><meta itemprop=wordCount content="1804"><meta itemprop=keywords content><meta name=twitter:card content="s [...]
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity [...]
+<meta name=description content="Introduction We are excited to announce the integration between Apache Polaris and the Lance ecosystem, enabling users to manage Lance tables through the Apache Polaris Generic Table API. This integration brings AI-native columnar storage to the open multimodal lakehouse, allowing organizations to leverage Apache Polaris as a unified catalog for both Iceberg and Lance tables.
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta property="og:title" content="Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse"><meta property="og:description" content="Introduction We are excited to announce the integration between Apache Po [...]
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/"><meta property="article:sectio [...]
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><meta itemprop=datePublished content="2026-01-06T00:00:00+00:00"><meta itemprop=dateModified content="2026-01-06T00:00:00+00:00"><meta itemprop=wordCount content="1804"><meta itemprop=keywords content><meta name=twitter:card content="su [...]
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity> [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child acti [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span class=td-sidebar-nav-active-item>Apache Polaris and Lance: Bringing AI-Native Storage to [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
@@ -12,10 +12,10 @@ What is Lance?# Lance is an open lakehouse format designed for multimodal AI wor
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2026-01-06 class=text-body-secondary>Tuesday, January 06, 2026</time></div><header class=article-meta></header><h2 id=introduction id=introduction>Introduction<a class=heading-anchor href=#introduction aria-label=Anchor>#</a></h2><p>We are excited to announce the integration between Apache Polaris and the Lance ecosystem,
+<time datetime=2026-01-06 class=text-body-secondary>Tuesday, January 06, 2026</time></div><header class=article-meta></header><h2 id=introduction>Introduction</h2><p>We are excited to announce the integration between Apache Polaris and the Lance ecosystem,
enabling users to manage Lance tables through the Apache Polaris Generic Table API.
This integration brings AI-native columnar storage to the open multimodal lakehouse,
-allowing organizations to leverage Apache Polaris as a unified catalog for both Iceberg and Lance tables.</p><h2 id=what-is-lance id=what-is-lance>What is Lance?<a class=heading-anchor href=#what-is-lance aria-label=Anchor>#</a></h2><p><a href=https://lance.org>Lance</a> is an open lakehouse format designed for multimodal AI workloads.
+allowing organizations to leverage Apache Polaris as a unified catalog for both Iceberg and Lance tables.</p><h2 id=what-is-lance>What is Lance?</h2><p><a href=https://lance.org>Lance</a> is an open lakehouse format designed for multimodal AI workloads.
It contains a file format, table format, and catalog spec that allows you to build a complete
multimodal lakehouse on top of object storage to power your AI workflows.
The key features of Lance include:</p><ul><li><p><strong>Expressive hybrid search:</strong> Combine vector similarity search, full-text search (BM25),
@@ -24,19 +24,19 @@ without sacrificing scan performance.</p></li><li><p><strong>Native multimodal d
in a single unified format with efficient blob encoding and lazy loading.</p></li><li><p><strong>Data evolution:</strong> Efficiently add columns with backfilled values without full table rewrites,
perfect for ML feature engineering.</p></li><li><p><strong>Zero-copy versioning:</strong> ACID transactions, time travel, and automatic versioning
without needing extra infrastructure.</p></li><li><p><strong>Rich ecosystem integrations:</strong> Apache Arrow, Pandas, Polars, DuckDB, Apache Spark, Ray, Trino,
-Apache Flink, and open catalogs (Apache Polaris, Unity Catalog, Apache Gravitino).</p></li></ul><h3 id=what-is-lance-namespace id=what-is-lance-namespace>What is Lance Namespace?<a class=heading-anchor href=#what-is-lance-namespace aria-label=Anchor>#</a></h3><p><a href=https://lance.org/format/namespace><strong>Lance Namespace</strong></a> is the catalog spec layer for the Lance Open Lakehouse Format.
+Apache Flink, and open catalogs (Apache Polaris, Unity Catalog, Apache Gravitino).</p></li></ul><h3 id=what-is-lance-namespace>What is Lance Namespace?</h3><p><a href=https://lance.org/format/namespace><strong>Lance Namespace</strong></a> is the catalog spec layer for the Lance Open Lakehouse Format.
While Lance tables can be stored directly on object storage, production AI/ML workflows
require integration with enterprise metadata services for governance, access control, and discovery.</p><p>Lance Namespace addresses this need by defining both native catalog spec as well as
a standardized framework for accessing and operating on a collection of Lance tables
across different open catalog specs including Apache Polaris.</p><p>Here are some example systems and how they are mapped in Lance Namespace:</p><table><thead><tr><th>System</th><th>Structure</th><th>Lance Namespace Mapping</th></tr></thead><tbody><tr><td>Directory</td><td><code>/data/users.lance</code></td><td>Table <code>["users"]</code></td></tr><tr><td>Hive Metastore</td><td><code>default.orders</code></td><td>Table <code>["default", "orders"]</code></td></tr><tr><td>Apache Polaris</ [...]
while the parent directory (e.g., <code>/data</code>) serves as the root path for the namespace.</p><p>Apache Polaris supports arbitrary namespace nesting,
-making it particularly flexible for organizing Lance tables in complex data architectures.</p><h2 id=what-is-the-generic-table-api-in-apache-polaris id=what-is-the-generic-table-api-in-apache-polaris>What is the Generic Table API in Apache Polaris?<a class=heading-anchor href=#what-is-the-generic-table-api-in-apache-polaris aria-label=Anchor>#</a></h2><p>Apache Polaris is best known as an open-source catalog for Apache Iceberg.
+making it particularly flexible for organizing Lance tables in complex data architectures.</p><h2 id=what-is-the-generic-table-api-in-apache-polaris>What is the Generic Table API in Apache Polaris?</h2><p>Apache Polaris is best known as an open-source catalog for Apache Iceberg.
In addition, Apache Polaris also offers the <a href=https://polaris.apache.org/in-dev/unreleased/generic-table/><strong>Generic Table API</strong></a>
-that can be used for managing non-Iceberg table formats such as Delta, Apache Hudi, Lance, and others.</p><h3 id=generic-table-definition id=generic-table-definition>Generic Table Definition<a class=heading-anchor href=#generic-table-definition aria-label=Anchor>#</a></h3><p>A generic table in Apache Polaris is an entity with the following fields:</p><table><thead><tr><th>Field</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><strong>name</strong></td><td>Yes</td><td> [...]
-and table names must be unique within a namespace regardless of format.</p><h3 id=generic-table-api-vs-iceberg-table-api id=generic-table-api-vs-iceberg-table-api>Generic Table API vs. Iceberg Table API<a class=heading-anchor href=#generic-table-api-vs-iceberg-table-api aria-label=Anchor>#</a></h3><p>Apache Polaris provides separate API endpoints for generic tables and Iceberg tables:</p><table><thead><tr><th>Operation</th><th>Iceberg Table API Endpoint</th><th>Generic Table API Endpoint [...]
-This clear separation enforces well-defined boundaries between table formats, while still allowing them to coexist within the same catalog and namespace structure.</p><h2 id=lance-integration-with-generic-table-api id=lance-integration-with-generic-table-api>Lance Integration with Generic Table API<a class=heading-anchor href=#lance-integration-with-generic-table-api aria-label=Anchor>#</a></h2><p>The Lance Namespace implementation for Apache Polaris maps Lance Namespace operations to th [...]
+that can be used for managing non-Iceberg table formats such as Delta, Apache Hudi, Lance, and others.</p><h3 id=generic-table-definition>Generic Table Definition</h3><p>A generic table in Apache Polaris is an entity with the following fields:</p><table><thead><tr><th>Field</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><strong>name</strong></td><td>Yes</td><td>Unique identifier for the table within a namespace</td></tr><tr><td><strong>format</strong></td><td>Yes</t [...]
+and table names must be unique within a namespace regardless of format.</p><h3 id=generic-table-api-vs-iceberg-table-api>Generic Table API vs. Iceberg Table API</h3><p>Apache Polaris provides separate API endpoints for generic tables and Iceberg tables:</p><table><thead><tr><th>Operation</th><th>Iceberg Table API Endpoint</th><th>Generic Table API Endpoint</th></tr></thead><tbody><tr><td>Create Table</td><td><code>POST .../namespaces/{namespace}/tables</code></td><td><code>POST .../names [...]
+This clear separation enforces well-defined boundaries between table formats, while still allowing them to coexist within the same catalog and namespace structure.</p><h2 id=lance-integration-with-generic-table-api>Lance Integration with Generic Table API</h2><p>The Lance Namespace implementation for Apache Polaris maps Lance Namespace operations to the Generic Table API.
Lance tables are registered as generic tables with the <code>format</code> field set to <code>lance</code>,
-and the <code>base-location</code> pointing to the Lance table root directory.</p><h3 id=table-identification id=table-identification>Table Identification<a class=heading-anchor href=#table-identification aria-label=Anchor>#</a></h3><p>A table in Apache Polaris is identified as a Lance table when:</p><ul><li>It is registered as a Generic Table</li><li>The <code>format</code> field is set to <code>lance</code></li><li>The <code>base-location</code> points to a valid Lance table root direc [...]
+and the <code>base-location</code> pointing to the Lance table root directory.</p><h3 id=table-identification>Table Identification</h3><p>A table in Apache Polaris is identified as a Lance table when:</p><ul><li>It is registered as a Generic Table</li><li>The <code>format</code> field is set to <code>lance</code></li><li>The <code>base-location</code> points to a valid Lance table root directory</li><li>The <code>properties</code> contain <code>table_type=lance</code> for consistency wit [...]
and access them from any engine that supports Lance.
Whether you’re ingesting data with Spark, running feature engineering with Ray,
building RAG applications with LanceDB, or analyzing with Trino,
@@ -44,7 +44,7 @@ all these engines can work with the same Lance tables managed through Apache Pol
For more information on getting started with Apache Polaris, see the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/>Apache Polaris Getting Started Guide</a>.</p><p>Let’s walk through a complete end-to-end workflow using the <a href=https://huggingface.co/datasets/BeIR/quora>BeIR/quora</a>
dataset from Hugging Face to build a question-answering system.
The examples below work against a locally deployed Apache Polaris instance with the endpoint set to <code>http://localhost:8181</code>.
-You can update the endpoint to match your deployed Apache Polaris service.</p><h3 id=step-1-ingest-data-with-apache-spark id=step-1-ingest-data-with-apache-spark>Step 1: Ingest Data with Apache Spark<a class=heading-anchor href=#step-1-ingest-data-with-apache-spark aria-label=Anchor>#</a></h3><p>First, use Spark to load the Quora dataset and write it to a Lance table in Apache Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o [...]
+You can update the endpoint to match your deployed Apache Polaris service.</p><h3 id=step-1-ingest-data-with-apache-spark>Step 1: Ingest Data with Apache Spark</h3><p>First, use Spark to load the Quora dataset and write it to a Lance table in Apache Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span><span style=color:#f92672>from< [...]
</span></span><span style=display:flex><span><span style=color:#f92672>from</span> datasets <span style=color:#f92672>import</span> load_dataset
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Create Spark session with Apache Polaris catalog</span>
@@ -71,7 +71,7 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Verify the data</span>
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"SELECT COUNT(*) FROM lance.my_catalog.ml.quora_questions"</span>)<span style=color:#f92672>.</span>show()
-</span></span></code></pre></div><h3 id=step-2-feature-engineering-with-ray id=step-2-feature-engineering-with-ray>Step 2: Feature Engineering with Ray<a class=heading-anchor href=#step-2-feature-engineering-with-ray aria-label=Anchor>#</a></h3><p>Next, use Ray’s distributed computing to generate embeddings for all documents:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data [...]
+</span></span></code></pre></div><h3 id=step-2-feature-engineering-with-ray>Step 2: Feature Engineering with Ray</h3><p>Next, use Ray’s distributed computing to generate embeddings for all documents:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span><span style=color:#f92672>import</span> ray
</span></span><span style=display:flex><span><span style=color:#f92672>import</span> pyarrow <span style=color:#66d9ef>as</span> pa
</span></span><span style=display:flex><span><span style=color:#f92672>import</span> lance_namespace <span style=color:#66d9ef>as</span> ln
</span></span><span style=display:flex><span><span style=color:#f92672>from</span> lance_ray <span style=color:#f92672>import</span> add_columns
@@ -115,7 +115,7 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span>)
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>print(<span style=color:#e6db74>"Embeddings generated successfully!"</span>)
-</span></span></code></pre></div><h3 id=step-3-sql-analytics-with-trino id=step-3-sql-analytics-with-trino>Step 3: SQL Analytics with Trino<a class=heading-anchor href=#step-3-sql-analytics-with-trino aria-label=Anchor>#</a></h3><p>Use Trino for SQL analytics on the same dataset:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span>< [...]
+</span></span></code></pre></div><h3 id=step-3-sql-analytics-with-trino>Step 3: SQL Analytics with Trino</h3><p>Use Trino for SQL analytics on the same dataset:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#75715e># etc/catalog/lance.properties</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>connector.name</span><span style=color:#f92672>=</span><span style=color:#e6db74>lance</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>lance.impl</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>lance.endpoint</span><span style=color:#f92672>=</span><span style=color:#e6db74>http://localhost:8181</span>
@@ -143,7 +143,7 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span><span style=color:#66d9ef>GROUP</span> <span style=color:#66d9ef>BY</span> <span style=color:#66d9ef>LENGTH</span>(text)
</span></span><span style=display:flex><span><span style=color:#66d9ef>ORDER</span> <span style=color:#66d9ef>BY</span> <span style=color:#66d9ef>count</span> <span style=color:#66d9ef>DESC</span>
</span></span><span style=display:flex><span><span style=color:#66d9ef>LIMIT</span> <span style=color:#ae81ff>10</span>;
-</span></span></code></pre></div><h3 id=step-4-agentic-search-with-lancedb id=step-4-agentic-search-with-lancedb>Step 4: Agentic Search with LanceDB<a class=heading-anchor href=#step-4-agentic-search-with-lancedb aria-label=Anchor>#</a></h3><p>Finally, use LanceDB for AI-native semantic search and full-text search on the enriched dataset:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-pyth [...]
+</span></span></code></pre></div><h3 id=step-4-agentic-search-with-lancedb>Step 4: Agentic Search with LanceDB</h3><p>Finally, use LanceDB for AI-native semantic search and full-text search on the enriched dataset:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span><span style=color:#f92672>import</span> lancedb
</span></span><span style=display:flex><span><span style=color:#f92672>from</span> sentence_transformers <span style=color:#f92672>import</span> SentenceTransformer
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Connect to Apache Polaris via LanceDB</span>
@@ -169,7 +169,7 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Create full-text search index</span>
</span></span><span style=display:flex><span>table<span style=color:#f92672>.</span>create_fts_index(<span style=color:#e6db74>"text"</span>)
-</span></span></code></pre></div><h4 id=vector-search id=vector-search>Vector Search<a class=heading-anchor href=#vector-search aria-label=Anchor>#</a></h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>model <span style=color:#f92672>=</span> SentenceTransformer(<span style=color:#e6db74>'BAAI/bge-small-en-v1.5'</span>)
+</span></span></code></pre></div><h4 id=vector-search>Vector Search</h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>model <span style=color:#f92672>=</span> SentenceTransformer(<span style=color:#e6db74>'BAAI/bge-small-en-v1.5'</span>)
</span></span><span style=display:flex><span>query_text <span style=color:#f92672>=</span> <span style=color:#e6db74>"How do I learn machine learning?"</span>
</span></span><span style=display:flex><span>query_embedding <span style=color:#f92672>=</span> model<span style=color:#f92672>.</span>encode([query_text], normalize_embeddings<span style=color:#f92672>=</span><span style=color:#66d9ef>True</span>)[<span style=color:#ae81ff>0</span>]
</span></span><span style=display:flex><span>
@@ -183,7 +183,7 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span><span style=color:#66d9ef>for</span> idx, row <span style=color:#f92672>in</span> results<span style=color:#f92672>.</span>iterrows():
</span></span><span style=display:flex><span> print(<span style=color:#e6db74>f</span><span style=color:#e6db74>"</span><span style=color:#e6db74>{</span>idx <span style=color:#f92672>+</span> <span style=color:#ae81ff>1</span><span style=color:#e6db74>}</span><span style=color:#e6db74>. </span><span style=color:#e6db74>{</span>row[<span style=color:#e6db74>'title'</span>]<span style=color:#e6db74>}</span><span style=color:#e6db74>"</span>)
</span></span><span style=display:flex><span> print(<span style=color:#e6db74>f</span><span style=color:#e6db74>" </span><span style=color:#e6db74>{</span>row[<span style=color:#e6db74>'text'</span>][:<span style=color:#ae81ff>150</span>]<span style=color:#e6db74>}</span><span style=color:#e6db74>..."</span>)
-</span></span></code></pre></div><h4 id=full-text-search id=full-text-search>Full-Text Search<a class=heading-anchor href=#full-text-search aria-label=Anchor>#</a></h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>results <span style=color:#f92672>=</span> (
+</span></span></code></pre></div><h4 id=full-text-search>Full-Text Search</h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>results <span style=color:#f92672>=</span> (
</span></span><span style=display:flex><span> table<span style=color:#f92672>.</span>search(<span style=color:#e6db74>"machine learning algorithms"</span>, query_type<span style=color:#f92672>=</span><span style=color:#e6db74>"fts"</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>limit(<span style=color:#ae81ff>5</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>to_pandas()
@@ -193,15 +193,15 @@ You can update the endpoint to match your deployed Apache Polaris service.</p><h
</span></span><span style=display:flex><span><span style=color:#66d9ef>for</span> idx, row <span style=color:#f92672>in</span> results<span style=color:#f92672>.</span>iterrows():
</span></span><span style=display:flex><span> print(<span style=color:#e6db74>f</span><span style=color:#e6db74>"</span><span style=color:#e6db74>{</span>idx <span style=color:#f92672>+</span> <span style=color:#ae81ff>1</span><span style=color:#e6db74>}</span><span style=color:#e6db74>. </span><span style=color:#e6db74>{</span>row[<span style=color:#e6db74>'title'</span>]<span style=color:#e6db74>}</span><span style=color:#e6db74>"</span>)
</span></span><span style=display:flex><span> print(<span style=color:#e6db74>f</span><span style=color:#e6db74>" </span><span style=color:#e6db74>{</span>row[<span style=color:#e6db74>'text'</span>][:<span style=color:#ae81ff>150</span>]<span style=color:#e6db74>}</span><span style=color:#e6db74>..."</span>)
-</span></span></code></pre></div><h4 id=hybrid-search id=hybrid-search>Hybrid Search<a class=heading-anchor href=#hybrid-search aria-label=Anchor>#</a></h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>results <span style=color:#f92672>=</span> (
+</span></span></code></pre></div><h4 id=hybrid-search>Hybrid Search</h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>results <span style=color:#f92672>=</span> (
</span></span><span style=display:flex><span> table<span style=color:#f92672>.</span>search(query_embedding, vector_column_name<span style=color:#f92672>=</span><span style=color:#e6db74>"vector"</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>where(<span style=color:#e6db74>"text LIKE '%python%'"</span>, prefilter<span style=color:#f92672>=</span><span style=color:#66d9ef>True</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>limit(<span style=color:#ae81ff>5</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>to_pandas()
</span></span><span style=display:flex><span>)
-</span></span></code></pre></div><h2 id=try-it-yourself id=try-it-yourself>Try It Yourself<a class=heading-anchor href=#try-it-yourself aria-label=Anchor>#</a></h2><p>The <a href=https://github.com/lance-format/lance-namespace-impls>lance-namespace-impls</a> repository provides a
+</span></span></code></pre></div><h2 id=try-it-yourself>Try It Yourself</h2><p>The <a href=https://github.com/lance-format/lance-namespace-impls>lance-namespace-impls</a> repository provides a
<a href=https://github.com/lance-format/lance-namespace-impls/tree/main/docker/polaris>Docker Compose setup</a>
-that makes it easy to try out the Apache Polaris integration locally.</p><h3 id=quick-start id=quick-start>Quick Start<a class=heading-anchor href=#quick-start aria-label=Anchor>#</a></h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>git clone https://github.com/lance-format/lance-namespace-impls.git
+that makes it easy to try out the Apache Polaris integration locally.</p><h3 id=quick-start>Quick Start</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>git clone https://github.com/lance-format/lance-namespace-impls.git
</span></span><span style=display:flex><span>cd lance-namespace-impls/docker
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Start Apache Polaris</span>
@@ -213,13 +213,13 @@ that makes it easy to try out the Apache Polaris integration locally.</p><h3 id=
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Create a test catalog</span>
</span></span><span style=display:flex><span>make polaris-create-catalog
-</span></span></code></pre></div><p>The setup includes:</p><ul><li><strong>Apache Polaris API</strong> on port 8181</li><li><strong>Apache Polaris Management</strong> on port 8182</li><li>PostgreSQL backend for metadata storage</li></ul><h3 id=configuration id=configuration>Configuration<a class=heading-anchor href=#configuration aria-label=Anchor>#</a></h3><p>Once Apache Polaris is running, configure your Lance Namespace client:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f [...]
+</span></span></code></pre></div><p>The setup includes:</p><ul><li><strong>Apache Polaris API</strong> on port 8181</li><li><strong>Apache Polaris Management</strong> on port 8182</li><li>PostgreSQL backend for metadata storage</li></ul><h3 id=configuration>Configuration</h3><p>Once Apache Polaris is running, configure your Lance Namespace client:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=lang [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>ns <span style=color:#f92672>=</span> PolarisNamespace({
</span></span><span style=display:flex><span> <span style=color:#e6db74>"endpoint"</span>: <span style=color:#e6db74>"http://localhost:8181"</span>,
</span></span><span style=display:flex><span> <span style=color:#e6db74>"auth_token"</span>: <span style=color:#e6db74>"<token-from-make-polaris-token>"</span>
</span></span><span style=display:flex><span>})
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>We are excited about this collaboration between the Lance and Apache Polaris communities.
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>We are excited about this collaboration between the Lance and Apache Polaris communities.
Our integration with the Generic Table API opens up new possibilities for managing AI-native workloads in the open multimodal lakehouse.</p><p>Looking ahead, we plan to continue improving the Generic Table API based on our learnings from the Lance Namespace specification:</p><ul><li><p><strong>Credentials Vending:</strong> Lance Namespace already supports credentials vending end-to-end and is
integrated with any engine that uses the Lance Rust/Python/Java SDKs,
allowing namespace servers to provide temporary credentials for accessing table data.
@@ -230,4 +230,4 @@ making it easier for applications to maintain secure, long-lived connections to
This creates challenges for centralized governance over table update operations.
We will continue to evolve the Generic Table API to integrate better with these formats at the commit code path,
enabling finer-grained control and governance over table modifications.</p></li></ul><p>We welcome contributions and feedback from the community.
-Join us in building the future of AI-native data management in the open multimodal lakehouse!</p><h2 id=resources id=resources>Resources<a class=heading-anchor href=#resources aria-label=Anchor>#</a></h2><ul><li><a href=https://lancedb.com/blog/what-we-mean-by-multimodal/>What is a Multimodal Lakehouse</a> - Rethinking What “Multimodal” Means for AI</li><li><a href=https://github.com/lance-format/lance>Lance Format</a> - The Lance columnar format</li><li><a href=https://githu [...]
\ No newline at end of file
+Join us in building the future of AI-native data management in the open multimodal lakehouse!</p><h2 id=resources>Resources</h2><ul><li><a href=https://lancedb.com/blog/what-we-mean-by-multimodal/>What is a Multimodal Lakehouse</a> - Rethinking What “Multimodal” Means for AI</li><li><a href=https://github.com/lance-format/lance>Lance Format</a> - The Lance columnar format</li><li><a href=https://github.com/lancedb/lancedb>LanceDB</a> - Developer-friendly open source embedded [...]
\ No newline at end of file
diff --git a/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/index.html b/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/index.html
index c97d20907..2b1f2ad34 100644
--- a/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/index.html
+++ b/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Introduction# The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for data discovery and access. While this shift provides the foundation for a modern lakehouse with transactions and centralized governance, many organizations still maintain significant volumes of data managed by legacy Hadoop/Hive catalogs or heterogeneous data lakes, resulting in siloed data environments with [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta property="og:title" content="Mapping Legacy and Heterogeneous Datalakes in Apache Polaris"><meta property="og:description" content="Introduction# The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for d [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/"><meta property="article:section" content="blog"><meta property="article:published_time" content="2026-01-12T [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta itemprop=datePublished content="2026-01-12T00:00:00+00:00"><meta itemprop=dateModified content="2026-01-12T00:00:00+00:00"><meta itemprop=wordCount content="975"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Mapping Legacy [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js i [...]
+<meta name=description content="Introduction The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for data discovery and access. While this shift provides the foundation for a modern lakehouse with transactions and centralized governance, many organizations still maintain significant volumes of data managed by legacy Hadoop/Hive catalogs or heterogeneous data lakes, resulting in siloed data environments with [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta property="og:title" content="Mapping Legacy and Heterogeneous Datalakes in Apache Polaris"><meta property="og:description" content="Introduction The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for da [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/"><meta property="article:section" content="blog"><meta property="article:published_time" content="2026-01-12T [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><meta itemprop=datePublished content="2026-01-12T00:00:00+00:00"><meta itemprop=dateModified content="2026-01-12T00:00:00+00:00"><meta itemprop=wordCount content="975"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Mapping Legacy [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js i [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span class=td-sidebar-nav-active-item>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
@@ -12,4 +12,4 @@ For these organizations, migrating a legacy data lake to a modern REST-based cat
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
-<time datetime=2026-01-12 class=text-body-secondary>Monday, January 12, 2026</time></div><header class=article-meta></header><h2 id=introduction id=introduction>Introduction<a class=heading-anchor href=#introduction aria-label=Anchor>#</a></h2><p>The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for data discovery and access. While this shift provides the foundation for a modern lakehouse with transactions [...]
\ No newline at end of file
+<time datetime=2026-01-12 class=text-body-secondary>Monday, January 12, 2026</time></div><header class=article-meta></header><h2 id=introduction>Introduction</h2><p>The data lake community and major engines such as Spark, Snowflake, and Trino are standardizing on the Iceberg REST catalog protocol for data discovery and access. While this shift provides the foundation for a modern lakehouse with transactions and centralized governance, many organizations still maintain significant volumes [...]
\ No newline at end of file
diff --git a/blog/index.html b/blog/index.html
index 770623aab..ebc66f69c 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/blog/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Blog"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Blog"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
<label for=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris-check><a href=/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260112mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris><span>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id= [...]
<label for=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse-check><a href=/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20260106apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse><span>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</span></a [...]
<label for=m-blog20251224securing-s3-data-with-aws-kms-check><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251224securing-s3-data-with-aws-kms><span>Securing S3 data with AWS KMS</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20251021starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse-li><input type=che [...]
@@ -7,10 +7,10 @@
<label for=m-blog20251002integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis-check><a href=/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20251002integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis><span>Integrating Apache Polaris with PuppyGraph for Real-time Graph Analysis</span></a></label></li><li class="td-sidebar-nav__section-titl [...]
<label for=m-blog20250919apache-polaris-110-incubating-has-been-released-check><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250919apache-polaris-110-incubating-has-been-released><span>Apache Polaris 1.1.0-incubating has been released!</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-blog20250915doris-x-polaris-building-unified- [...]
<label for=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide-check><a href=/blog/2025/09/15/doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250915doris-x-polaris-building-unified-data-lakehouse-with-iceberg-rest-catalog-a-practical-guide><span>Doris X Polaris: Building Unified Data Lakehouse with Iceberg REST Catalog [...]
-<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
+<label for=m-blog20250820apache-polaris-101-incubating-has-been-released-check><a href=/blog/2025/08/20/apache-polaris-1.0.1-incubating-has-been-released/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-blog20250820apache-polaris-101-incubating-has-been-released><span>Apache Polaris 1.0.1-incubating has been released!</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-10 ps-md-5 pe-md-4" role=main><a class=td-rss-button title= [...]
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
-The core functionality is …</p><p class=pt-0><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ aria-label="Read more - Securing S3 data with AWS KMS">Read more</a></p></div></li><li class=td-blog-posts-list__item><div class=td-blog-posts-list__body><h5 class="mt-0 mb-1"><a href=/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</a> [...]
-Data silos : transactional data sits in RDBMS, click-streams in an S3 data …</p><p class=pt-0><a href=/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/ aria-label="Read more - StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse">Read more</a></p></div></li><li class=td-blog-posts-list__item><div class=td-blog-posts-list__body><h5 class="mt-0 mb-1"><a href=/blog/2025/10/02/integrating-apa [...]
+The core functionality is …</p><p class=pt-0><a href=/blog/2025/12/24/securing-s3-data-with-aws-kms/ aria-label="Read more - Securing S3 data with AWS KMS">Read more</a></p></div></li><li class=td-blog-posts-list__item><div class=td-blog-posts-list__body><h5 class="mt-0 mb-1"><a href=/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</a> [...]
+Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, …</p><p class=pt-0><a href=/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/ aria-label="Read more - StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse">Read more</a></p></div></li><li class=td-blog-posts-list__item><div class=td-blog-posts-list__body><h5 class="mt-0 mb-1"><a href=/blog/2025/10/02/integrati [...]
This release includes:
New features & enhancements ** HMS support ** IMPLICIT authentication type ** Support for non-AWS S3 compatible storage with STS: MinIO, s3a …</p><p class=pt-0><a href=/blog/2025/09/19/apache-polaris-1.1.0-incubating-has-been-released/ aria-label="Read more - Apache Polaris 1.1.0-incubating has been released!">Read more</a></p></div></li><li class=td-blog-posts-list__item><div class=td-blog-posts-list__body><h5 class="mt-0 mb-1"><a href=/blog/2025/09/15/doris-x-polaris-building-unified-d [...]
This release is a maintenance release on the 1.0.1-incubating one, fixing a couple of issues on the Helm Chart:
diff --git a/blog/index.xml b/blog/index.xml
index ffa2e46aa..f5cb1016d 100644
--- a/blog/index.xml
+++ b/blog/index.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Polaris Blog on Apache Polaris</title><link>https://polaris.apache.org/blog/</link><description>Recent content in Apache Polaris Blog on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://polaris.apache.org/blog/index.xml" r [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime.</description></item><item><title>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</title><link>https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/</link><pubDate>Tue, 06 Jan 202 [...]
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows.</description></item><item><title>Securing S3 data with AWS KMS</title><link>https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://polaris.apache.o [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Polaris Blog on Apache Polaris</title><link>https://polaris.apache.org/blog/</link><description>Recent content in Apache Polaris Blog on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://polaris.apache.org/blog/index.xml" r [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime.</description></item><item><title>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</title><link>https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/</link><pubDate>Tue, 06 Jan 202 [...]
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows.</description></item><item><title>Securing S3 data with AWS KMS</title><link>https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://polaris.apache.or [...]
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e.</description></item><item><title>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</title><link>https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://polaris.ap [...]
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e.</description></item><item><title>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</title><link>https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://polaris.apa [...]
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data.</description></item><item><title>Integrating Apache Polaris with PuppyGraph for Real-time Graph Analysis</title><link>https://polaris.apache.org/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><guid>htt [...]
This release includes:
diff --git a/categories/index.html b/categories/index.html
index fed9aac48..8844ae71d 100644
--- a/categories/index.html
+++ b/categories/index.html
@@ -1,2 +1,2 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/categories/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/pn [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Categories"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful [...]
\ No newline at end of file
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Categories"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful [...]
\ No newline at end of file
diff --git a/community/chat-bylaws/index.html b/community/chat-bylaws/index.html
index 408998793..6825dc44b 100644
--- a/community/chat-bylaws/index.html
+++ b/community/chat-bylaws/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Apache Polaris - Project Chat Bylaws# Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
-Motivation# Apache Polaris uses public Slack workspace (join here).
+<meta name=description content="Apache Polaris - Project Chat Bylaws Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
-Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta property="og:title" content><meta property="og:description" content="Apache Polaris - Project Chat Bylaws# Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
-Motivation# Apache Polaris uses public Slack workspace (join here).
+Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta property="og:title" content><meta property="og:description" content="Apache Polaris - Project Chat Bylaws Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
-Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/chat-bylaws/"><meta property="article:section" content="community"><meta itemprop=name content><meta itemprop=description content="Apache Pol [...]
-Motivation# Apache Polaris uses public Slack workspace (join here).
+Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/chat-bylaws/"><meta property="article:section" content="community"><meta itemprop=name content><meta itemprop=description content="Apache Pol [...]
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
-Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta itemprop=wordCount content="349"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Apache Polaris - Project Chat Bylaws# Apache Polaris is currently un [...]
-Motivation# Apache Polaris uses public Slack workspace (join here).
+Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><meta itemprop=wordCount content="349"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Apache Polaris - Project Chat Bylaws Apache Polaris is currently und [...]
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
-Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquer [...]
+Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquer [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check checked>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span class=td-sidebar-nav-active-item>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -21,13 +21,13 @@ Organizations and other open-source projects that contribute continuously and si
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityrelease-guide [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
practices of the Apache Software Foundation and serves well as a collaboration tool for the project.</p><p>Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but
-shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC.</p><h2 id=code-of-conduct id=code-of-conduct>Code of Conduct<a class=heading-anchor href=#code-of-conduct aria-label=Anchor>#</a></h2><p>The <a href=https://www.apache.org/foundation/policies/conduct.html>Apache Software Foundation’s Code of Conduct</a> applies to
-the Polaris project public chat.</p><h2 id=governance id=governance>Governance<a class=heading-anchor href=#governance aria-label=Anchor>#</a></h2><ul><li>The Polaris project’s chat tool is not provided by the ASF - the Polaris project (P)PMC members govern and monitor the
+shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC.</p><h2 id=code-of-conduct>Code of Conduct</h2><p>The <a href=https://www.apache.org/foundation/policies/conduct.html>Apache Software Foundation’s Code of Conduct</a> applies to
+the Polaris project public chat.</p><h2 id=governance>Governance</h2><ul><li>The Polaris project’s chat tool is not provided by the ASF - the Polaris project (P)PMC members govern and monitor the
chat service.</li><li>Everybody is welcome to join the Polaris project chat. Invites are not needed.</li><li>Polaris project (P)PMC members have “administrator” privileges on the Slack chat. Polaris project committers are granted
“moderator” or “administrator” privileges for moderation purposes.</li><li>This bylaws document shall be published on the project’s web site and linked from relevant public channels.</li><li>Only (P)PMC members are allowed to create new channels. The number of channels shall be limited to #general (user
-discussions), #dev (development discussions), #announcements (release announcements), and #noise (GitHub feed).</li><li>Only (P)PMC members are allowed to notify a large number of users (aka @here).</li></ul><h2 id=3rd-parties id=3rd-parties>3rd Parties<a class=heading-anchor href=#3rd-parties aria-label=Anchor>#</a></h2><p>Definition: “3rd party” means any (other) open-source project or any commercial vendor or any other organization.</p><h3 id=3rd-party-channels id=3rd-party-channels>3 [...]
+discussions), #dev (development discussions), #announcements (release announcements), and #noise (GitHub feed).</li><li>Only (P)PMC members are allowed to notify a large number of users (aka @here).</li></ul><h2 id=3rd-parties>3rd Parties</h2><p>Definition: “3rd party” means any (other) open-source project or any commercial vendor or any other organization.</p><h3 id=3rd-party-channels>3rd Party Channels</h3><ul><li>3rd parties who contribute to or use the Polaris project may ask the (P) [...]
example #vendor-<vendor-name> or #project-<project-name>.</li><li>Promotion of 3rd party content is only permitted in these 3rd party channels, and only if the content primarily covers
Polaris. Commercial advertisements in any form are prohibited.</li><li>Interaction with users of 3rd party OSS projects or commercial products should be directed to these 3rd party
-channels.</li></ul><h2 id=content-moderation id=content-moderation>Content moderation<a class=heading-anchor href=#content-moderation aria-label=Anchor>#</a></h2><ul><li>Any content which violates the Apache “Code of Conduct” will be removed.</li><li>Any commercial advertisements will be removed.</li><li>All other content will not be moderated.</li></ul></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-f [...]
\ No newline at end of file
+channels.</li></ul><h2 id=content-moderation>Content moderation</h2><ul><li>Any content which violates the Apache “Code of Conduct” will be removed.</li><li>Any commercial advertisements will be removed.</li><li>All other content will not be moderated.</li></ul></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__li [...]
\ No newline at end of file
diff --git a/community/community-guidelines/index.html b/community/community-guidelines/index.html
index 8d0189d09..17e9ef7c2 100644
--- a/community/community-guidelines/index.html
+++ b/community/community-guidelines/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Community Guidelines# We value and appreciate the diverse contributions and ideas from the community. To maintain a welcoming and inclusive environment, we kindly ask you to adhere to the following guidelines:
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta property="og:title" content><meta property="og:description" content="Community Guidelines# We value and appreciate the diverse contributions and ideas from the communit [...]
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/community-guidelines/"><meta property="article:section" conte [...]
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta itemprop=wordCount content="129"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:descripti [...]
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed [...]
+<meta name=description content="Community Guidelines We value and appreciate the diverse contributions and ideas from the community. To maintain a welcoming and inclusive environment, we kindly ask you to adhere to the following guidelines:
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta property="og:title" content><meta property="og:description" content="Community Guidelines We value and appreciate the diverse contributions and ideas from the community [...]
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/community-guidelines/"><meta property="article:section" conte [...]
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><meta itemprop=wordCount content="129"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:descripti [...]
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check checked>
@@ -13,4 +13,4 @@ Be respectful and considerate of other community members. Treat everyone with re
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityrelease-guide [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
\ No newline at end of file
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
\ No newline at end of file
diff --git a/community/contributing-guidelines/index.html b/community/contributing-guidelines/index.html
index f0a462c30..cbb8596ac 100644
--- a/community/contributing-guidelines/index.html
+++ b/community/contributing-guidelines/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Contributing to Apache Polaris# Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, &hellip;) is valuable!
+<meta name=description content="Contributing to Apache Polaris Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, &hellip;) is valuable!
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
-When filing an issue, make sure to answer these five questions:"><meta property="og:title" content><meta property="og:description" content="Contributing to Apache Polaris# Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+When filing an issue, make sure to answer these five questions:"><meta property="og:title" content><meta property="og:description" content="Contributing to Apache Polaris Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
-When filing an issue, make sure to answer these five questions:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/contributing-guidelines/"><meta property="article:section" content="community"><meta itemprop=name content><meta itemprop=description content="Contributing to Apache Polaris# Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+When filing an issue, make sure to answer these five questions:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/contributing-guidelines/"><meta property="article:section" content="community"><meta itemprop=name content><meta itemprop=description content="Contributing to Apache Polaris Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
-When filing an issue, make sure to answer these five questions:"><meta itemprop=wordCount content="1290"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Contributing to Apache Polaris# Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+When filing an issue, make sure to answer these five questions:"><meta itemprop=wordCount content="1290"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Contributing to Apache Polaris Thank you for considering contributing to Apache Polaris. Any contribution (code, test cases, documentation, use cases, …) is valuable!
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
-When filing an issue, make sure to answer these five questions:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script [...]
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+When filing an issue, make sure to answer these five questions:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -25,7 +25,7 @@ When filing an issue, make sure to answer these five questions:"><link rel=prelo
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityrelease-guide [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
</span></span><span style=display:flex><span>cd polaris
</span></span><span style=display:flex><span>git checkout main
</span></span><span style=display:flex><span>git pull
@@ -35,8 +35,8 @@ When filing an issue, make sure to answer these five questions:"><link rel=prelo
</span></span><span style=display:flex><span><span style=color:#75715e># Ensure the code is passing the checks (including formatting checks & tests):</span>
</span></span><span style=display:flex><span>./gradlew check
</span></span></code></pre></div></li><li>You may want to push your changes to your personal Polaris fork. Git will emit a URL that you can use to create the Pull Request. Do not create the Pull Request yet.<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>git push --set-upstream your-github-accout
-</span></span></code></pre></div></li></ul><h4 id=opening-a-pull-request id=opening-a-pull-request>Opening a Pull Request<a class=heading-anchor href=#opening-a-pull-request aria-label=Anchor>#</a></h4><ul><li>The Pull Request summary should provide a concise summary of the change, get inspired by <a href=https://www.conventionalcommits.org/en/v1.0.0/>Conventional Commits</a>.</li><li>The Pull Request description should provide the background (rationale) of the change and describe the ch [...]
-</code></pre>If the PR does not fully fix the issue, use <code>Related to #123456</code> instead of <code>Fixes #123456</code>.</li></ul><p>Tips:</p><ul><li>If the branch for your Pull Request contains only one (squashed) commit, GitHub will populate the PR summary and description from that single commit.</li><li>When opening a PR consider whether the PR is “draft” or already “ready for review”. “Draft” means work in progress, things will change, but c [...]
+</span></span></code></pre></div></li></ul><h4 id=opening-a-pull-request>Opening a Pull Request</h4><ul><li>The Pull Request summary should provide a concise summary of the change, get inspired by <a href=https://www.conventionalcommits.org/en/v1.0.0/>Conventional Commits</a>.</li><li>The Pull Request description should provide the background (rationale) of the change and describe the changes in way that someone who has no prior knowledge can understand the rationale of the change and th [...]
+</code></pre>If the PR does not fully fix the issue, use <code>Related to #123456</code> instead of <code>Fixes #123456</code>.</li></ul><p>Tips:</p><ul><li>If the branch for your Pull Request contains only one (squashed) commit, GitHub will populate the PR summary and description from that single commit.</li><li>When opening a PR consider whether the PR is “draft” or already “ready for review”. “Draft” means work in progress, things will change, but c [...]
</span></span><span style=display:flex><span>git push your-github-accout my-branch --force
-</span></span></code></pre></div></li><li>Test that your changes work by adapting or adding tests. Verify the build passes (see <code>README.md</code> for build instructions).</li><li>If your Pull Request has conflicts with the <code>main</code> branch, please rebase and fix the conflicts.</li><li>If your PR requires more work or time or bigger changes, please put the PR to “draft” state to indicate that it is not meant to be “thoroughly” reviewed at this point.</ [...]
+</span></span></code></pre></div></li><li>Test that your changes work by adapting or adding tests. Verify the build passes (see <code>README.md</code> for build instructions).</li><li>If your Pull Request has conflicts with the <code>main</code> branch, please rebase and fix the conflicts.</li><li>If your PR requires more work or time or bigger changes, please put the PR to “draft” state to indicate that it is not meant to be “thoroughly” reviewed at this point.</ [...]
The discussion on the dev mailing list should happen before having a “ready-for-review” Pull Request.</li><li><code>git log</code> can help you find the original/relevant authors of the code you are modifying. If you need, feel free to tag the author in your Pull Request comment if you need assistance or review.</li><li>Do not re-create a pull-request for the same change. Use one Pull Request related to the same change(s). The purpose here is to keep the history and all comme [...]
\ No newline at end of file
diff --git a/community/index.html b/community/index.html
index b5d30c018..fda26e030 100644
--- a/community/index.html
+++ b/community/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/community/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Community"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Community"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
diff --git a/community/index.xml b/community/index.xml
index 487418ad4..e2eea0c88 100644
--- a/community/index.xml
+++ b/community/index.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Polaris Community on Apache Polaris</title><link>https://polaris.apache.org/community/</link><description>Recent content in Apache Polaris Community on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/community/index.xml" rel="self" type="application/rss+xml"/><ite [...]
Past
-Polaris Roadmap Discussed Roadmap</description></item><item><title/><link>https://polaris.apache.org/community/chat-bylaws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/chat-bylaws/</guid><description>Apache Polaris - Project Chat Bylaws# Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
-Motivation# Apache Polaris uses public Slack workspace (join here).
+Polaris Roadmap Discussed Roadmap</description></item><item><title/><link>https://polaris.apache.org/community/chat-bylaws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/chat-bylaws/</guid><description>Apache Polaris - Project Chat Bylaws Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
-Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC.</description></item><item><title/><link>https://polaris.apache.org/community/community-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/community-guidelines/</guid><description>Community Guidel [...]
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback.</description></item><item><title/><link>https://polaris.apache.org/community/contributing-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pol [...]
+Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC.</description></item><item><title/><link>https://polaris.apache.org/community/community-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/community-guidelines/</guid><description>Community Guidel [...]
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback.</description></item><item><title/><link>https://polaris.apache.org/community/contributing-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pol [...]
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
-When filing an issue, make sure to answer these five questions:</description></item><item><title/><link>https://polaris.apache.org/community/security-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/security-report/</guid><description>Security Report# Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+When filing an issue, make sure to answer these five questions:</description></item><item><title/><link>https://polaris.apache.org/community/security-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/security-report/</guid><description>Security Report Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris.</description></item></channel></rss>
\ No newline at end of file
diff --git a/community/meetings/index.html b/community/meetings/index.html
index f66f083ba..559fb27eb 100644
--- a/community/meetings/index.html
+++ b/community/meetings/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/community/meetings/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type= [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Community Meetings"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring project [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Community Meetings"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring project [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 active td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span class=td-sidebar-nav-active-item>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
diff --git a/community/proposals/index.html b/community/proposals/index.html
index f25438c2d..1e50ac155 100644
--- a/community/proposals/index.html
+++ b/community/proposals/index.html
@@ -7,7 +7,7 @@ Polaris Roadmap Discussed Roadmap"><meta property="og:type" content="article"><m
Past
Polaris Roadmap Discussed Roadmap"><meta itemprop=wordCount content="7"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Apache Polaris Proposals & Roadmap"><meta name=twitter:description content="Proposals Active
Past
-Polaris Roadmap Discussed Roadmap"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_7 [...]
+Polaris Roadmap Discussed Roadmap"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_7 [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check checked>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span class=td-sidebar-nav-active-item>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
diff --git a/community/release-guides/index.html b/community/release-guides/index.html
index 0f47012e9..4c067351d 100644
--- a/community/release-guides/index.html
+++ b/community/release-guides/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/community/release-guides/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Release Guides"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Release Guides"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -9,4 +9,4 @@
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityrelease-guide [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
\ No newline at end of file
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class="breadcrumb-item active" aria-curr [...]
\ No newline at end of file
diff --git a/community/release-guides/index.xml b/community/release-guides/index.xml
index 3a87ce83f..643ab96db 100644
--- a/community/release-guides/index.xml
+++ b/community/release-guides/index.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Polaris Release Guides on Apache Polaris</title><link>https://polaris.apache.org/community/release-guides/</link><description>Recent content in Apache Polaris Release Guides on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/community/release-guides/index.xml" rel [...]
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode.</description></item><item><title>Manual Release Guide (deprecated)</title><link>https://polaris.apache.org/community/release-guides/manual-release-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/release-guides/manual-release-guide/</guid><description>Audience: Release Managers
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode.</description></item><item><title>Manual Release Guide (deprecated)</title><link>https://polaris.apache.org/community/release-guides/manual-release-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/release-guides/manual-release-guide/</guid><description>Audience: Release Managers
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:</description></item><item><title>Release Verification Guide</title><link>https://polaris.apache.org/community/release-guides/release-verification-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/release-guides/release-verification-guide/</guid><description>Audience: Committers and interested contributors.
+Setup To create a release candidate, you will need:</description></item><item><title>Release Verification Guide</title><link>https://polaris.apache.org/community/release-guides/release-verification-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/release-guides/release-verification-guide/</guid><description>Audience: Committers and interested contributors.
This guide walks you through the process of verifying a staged Apache Polaris release candidate.
Please keep the ASF Release Policy, especially the section on &ldquo;Owned and Controlled Hardware,&rdquo; in mind: Strictly speaking, releases must be verified on hardware owned and controlled by the committer.
Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention.</description></item></channel></rss>
\ No newline at end of file
diff --git a/community/release-guides/manual-release-guide/index.html b/community/release-guides/manual-release-guide/index.html
index f3b454790..9305c0514 100644
--- a/community/release-guides/manual-release-guide/index.html
+++ b/community/release-guides/manual-release-guide/index.html
@@ -3,19 +3,19 @@
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:"><meta property="og:title" content="Manual Release Guide (deprecated)"><meta property="og:description" content="Audience: Release Managers
+Setup To create a release candidate, you will need:"><meta property="og:title" content="Manual Release Guide (deprecated)"><meta property="og:description" content="Audience: Release Managers
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/release-guides/manual-release-guide/"><meta property="article:section" content="community"><meta itemprop=name content="Manual Release Guide (deprecated)"><meta itemprop=description content="Audience: Release Managers
+Setup To create a release candidate, you will need:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/release-guides/manual-release-guide/"><meta property="article:section" content="community"><meta itemprop=name content="Manual Release Guide (deprecated)"><meta itemprop=description content="Audience: Release Managers
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:"><meta itemprop=wordCount content="1987"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Manual Release Guide (deprecated)"><meta name=twitter:description content="Audience: Release Managers
+Setup To create a release candidate, you will need:"><meta itemprop=wordCount content="1987"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Manual Release Guide (deprecated)"><meta name=twitter:description content="Audience: Release Managers
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script de [...]
+Setup To create a release candidate, you will need:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script def [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -25,21 +25,21 @@ Setup# To create a release candidate, you will need:"><link rel=preload href=/sc
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityr [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span class=td-sidebar-nav-active-item>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class=breadcrumb-item><a href=/community [...]
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li class=breadcrumb-item><a href=/community [...]
cd polaris-dist-release
echo "" >> KEYS # append a new line
gpg --list-sigs <YOUR KEY ID HERE> >> KEYS # append signatures
gpg --armor --export <YOUR KEY ID HERE> >> KEYS # append public key block
svn commit -m "add key for <YOUR NAME HERE>"
</code></pre><p>To send the key to the Ubuntu key-server, Apache Nexus needs it to validate published artifacts:</p><pre tabindex=0><code>gpg --keyserver hkps://keyserver.ubuntu.com --send-keys <YOUR KEY ID HERE>
-</code></pre><h3 id=dist-repository id=dist-repository>Dist repository<a class=heading-anchor href=#dist-repository aria-label=Anchor>#</a></h3><p>The Apache dist repository (dist.apache.org) is used to populate download.apache.org and archives.apache.org. There are two spaces on dist:</p><ul><li><code>dev</code> is where you stage the source distribution and other user convenient artifacts (distributions, helm charts, …)</li><li><code>release</code> is where the artifacts will be c [...]
+</code></pre><h3 id=dist-repository>Dist repository</h3><p>The Apache dist repository (dist.apache.org) is used to populate download.apache.org and archives.apache.org. There are two spaces on dist:</p><ul><li><code>dev</code> is where you stage the source distribution and other user convenient artifacts (distributions, helm charts, …)</li><li><code>release</code> is where the artifacts will be copied when the release vote passed</li></ul><p>Apache dist is a svn repository, you need [...]
apachePassword=yourPassword
</code></pre><p>Note: an alternative is to use <code>ORG_GRADLE_PROJECT_apacheUsername</code> and <code>ORG_GRADLE_PROJECT_apachePassword</code> environment variables:</p><pre tabindex=0><code>export ORG_GRADLE_PROJECT_apacheUsername=yourApacheId
export ORG_GRADLE_PROJECT_apachePassword=bar
-</code></pre><h3 id=pgp-signing id=pgp-signing>PGP signing<a class=heading-anchor href=#pgp-signing aria-label=Anchor>#</a></h3><p>During release process, the artifacts will be signed with your key, using <code>gpg-agent</code>.</p><p>To configure gradle to sign the artifacts, you can add the following settings in your <code>~/.gradle/gradle.properties</code> file:</p><pre tabindex=0><code>signing.gnupg.keyName=Your Key Name
-</code></pre><p>To use <code>gpg</code> instead of <code>gpg2</code>, also set <code>signing.gnupg.executable=gpg</code>.</p><p>For more information, see the Gradle <a href=https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials>signing documentation</a>.</p><h3 id=helm-chart-signing id=helm-chart-signing>Helm chart signing<a class=heading-anchor href=#helm-chart-signing aria-label=Anchor>#</a></h3><p>Helm chart artifacts are signed with your key, using th [...]
-Set it as remote with name <code>apache</code> for release if it’s not already set up.</p><h2 id=creating-a-release-candidate id=creating-a-release-candidate>Creating a release candidate<a class=heading-anchor href=#creating-a-release-candidate aria-label=Anchor>#</a></h2><h3 id=initiate-a-discussion-about-the-release-with-the-community id=initiate-a-discussion-about-the-release-with-the-community>Initiate a discussion about the release with the community<a class=heading-anchor hre [...]
-Also note since Polaris is an incubating project, make sure what every branch / tag you are creating is suffixed with <code>-incubating</code>.</p><h3 id=create-release-branch id=create-release-branch>Create release branch<a class=heading-anchor href=#create-release-branch aria-label=Anchor>#</a></h3><p>If it’s the first RC for the release, you have to create a release branch:</p><pre tabindex=0><code>git branch release/x.y.z
+</code></pre><h3 id=pgp-signing>PGP signing</h3><p>During release process, the artifacts will be signed with your key, using <code>gpg-agent</code>.</p><p>To configure gradle to sign the artifacts, you can add the following settings in your <code>~/.gradle/gradle.properties</code> file:</p><pre tabindex=0><code>signing.gnupg.keyName=Your Key Name
+</code></pre><p>To use <code>gpg</code> instead of <code>gpg2</code>, also set <code>signing.gnupg.executable=gpg</code>.</p><p>For more information, see the Gradle <a href=https://docs.gradle.org/current/userguide/signing_plugin.html#sec:signatory_credentials>signing documentation</a>.</p><h3 id=helm-chart-signing>Helm chart signing</h3><p>Helm chart artifacts are signed with your key, using the <a href=https://github.com/technosophos/helm-gpg>helm gpg plugin</a>. Ensure the plugin is i [...]
+Set it as remote with name <code>apache</code> for release if it’s not already set up.</p><h2 id=creating-a-release-candidate>Creating a release candidate</h2><h3 id=initiate-a-discussion-about-the-release-with-the-community>Initiate a discussion about the release with the community</h3><p>This step can be useful to gather ongoing patches that the community thinks should be in the upcoming release.</p><p>The communication can be started via a <code>[DISCUSS]</code> mail on the <a h [...]
+Also note since Polaris is an incubating project, make sure what every branch / tag you are creating is suffixed with <code>-incubating</code>.</p><h3 id=create-release-branch>Create release branch</h3><p>If it’s the first RC for the release, you have to create a release branch:</p><pre tabindex=0><code>git branch release/x.y.z
git push apache release/x.y.z
</code></pre><p>Go in the branch, and set the target release version:</p><pre tabindex=0><code>git checkout release/x.y.z
echo "x.y.z" > version.txt
@@ -51,18 +51,18 @@ git push
branch to <code>main</code>.</p><p>If more changes are cherry-picked for the next RC, and those change introduce CHANGELOG entries,
follow this update process:</p><ul><li>Manually add an <code>-rcN</code> suffix to the previously generated versioned CHANGELOG section.</li><li>Rerun the <code>patchChangelog</code> command</li><li>Manually remove RC sections from the CHANGELOG</li><li>Submit a PR to propagate CHANGELOG updates from the release branch to <code>main</code>.</li></ul><p>Note: the CHANGELOG patch commit should probably be the last commit on the release branch when
an RC is cut. If more changes are cherry-picked for the next RC, it is best to drop the
-CHANGELOG patch commit, apply cherry-picks, and re-run <code>patchChangelog</code>.</p><p>Note: You should also submit a PR on <code>main</code> branch to bump the version in the <code>version.txt</code> file.</p><h3 id=create-release-tag id=create-release-tag>Create release tag<a class=heading-anchor href=#create-release-tag aria-label=Anchor>#</a></h3><p>On the release branch, you create a tag for the RC:</p><pre tabindex=0><code>git tag apache-polaris-x.y.z-rci
+CHANGELOG patch commit, apply cherry-picks, and re-run <code>patchChangelog</code>.</p><p>Note: You should also submit a PR on <code>main</code> branch to bump the version in the <code>version.txt</code> file.</p><h3 id=create-release-tag>Create release tag</h3><p>On the release branch, you create a tag for the RC:</p><pre tabindex=0><code>git tag apache-polaris-x.y.z-rci
git push apache apache-polaris-x.y.z-rci
</code></pre><p>Switch to the tag:</p><pre tabindex=0><code>git checkout apache-polaris-x.y.z.rci
-</code></pre><h3 id=verify-the-build-pass id=verify-the-build-pass>Verify the build pass<a class=heading-anchor href=#verify-the-build-pass aria-label=Anchor>#</a></h3><p>This is an optional step, but good to do. The purpose here is to verify the build works fine:</p><pre tabindex=0><code>./gradlew clean build
-</code></pre><p>It’s also welcome to verify the regression tests (see <a href=https://github.com/apache/polaris/blob/main/regtests/README.md>regtests/README.md</a> for details).</p><h3 id=build-and-stage-the-distributions id=build-and-stage-the-distributions>Build and stage the distributions<a class=heading-anchor href=#build-and-stage-the-distributions aria-label=Anchor>#</a></h3><p>You can now build the source distribution:</p><pre tabindex=0><code>./gradlew assemble sourceTarbal [...]
+</code></pre><h3 id=verify-the-build-pass>Verify the build pass</h3><p>This is an optional step, but good to do. The purpose here is to verify the build works fine:</p><pre tabindex=0><code>./gradlew clean build
+</code></pre><p>It’s also welcome to verify the regression tests (see <a href=https://github.com/apache/polaris/blob/main/regtests/README.md>regtests/README.md</a> for details).</p><h3 id=build-and-stage-the-distributions>Build and stage the distributions</h3><p>You can now build the source distribution:</p><pre tabindex=0><code>./gradlew assemble sourceTarball -Prelease -PuseGpgAgent
</code></pre><p>The source distribution archives are available in <code>build/distribution</code> folder.</p><p>The binary distributions (for convenience) are available in:</p><ul><li><code>runtime/distribution/build/distributions</code></li></ul><p>Now, we can stage the artifacts to dist dev repository:</p><pre tabindex=0><code>svn checkout https://dist.apache.org/repos/dist/dev/incubator/polaris polaris-dist-dev
cd polaris-dist-dev
mkdir x.y.z
cp /path/to/polaris/github/clone/repo/build/distribution/* x.y.z
cp /path/to/polaris/github/clone/repo/runtime/distribution/build/distributions/* x.y.z
svn add x.y.z
-</code></pre><h3 id=stage-helm-chart-package id=stage-helm-chart-package>Stage Helm Chart package<a class=heading-anchor href=#stage-helm-chart-package aria-label=Anchor>#</a></h3><p>You can now create a Helm package with the following command in the Polaris source folder:</p><pre tabindex=0><code>cd helm
+</code></pre><h3 id=stage-helm-chart-package>Stage Helm Chart package</h3><p>You can now create a Helm package with the following command in the Polaris source folder:</p><pre tabindex=0><code>cd helm
helm package polaris
helm gpg sign polaris-x.y.z.tgz
</code></pre><p>Create the signature and checksum for the Helm package tgz and prov files:</p><pre tabindex=0><code>shasum -a 512 polaris-x.y.z.tgz > polaris-x.y.z.tgz.sha512
@@ -77,10 +77,10 @@ svn add helm-chart/x.y.z
helm repo index .
svn add index.yaml
</code></pre><p>Dist repository is now “complete” and we can push/commit:</p><pre tabindex=0><code>svn commit -m "Stage Apache Polaris x.y.z RCx"
-</code></pre><h3 id=build-and-stage-maven-artifacts id=build-and-stage-maven-artifacts>Build and stage Maven artifacts<a class=heading-anchor href=#build-and-stage-maven-artifacts aria-label=Anchor>#</a></h3><p>You can now build and publish the Maven artifacts on a Nexus staging repository:</p><pre tabindex=0><code>export GITHUB_TOKEN = <YOUR_GITHUB_TOKEN>
+</code></pre><h3 id=build-and-stage-maven-artifacts>Build and stage Maven artifacts</h3><p>You can now build and publish the Maven artifacts on a Nexus staging repository:</p><pre tabindex=0><code>export GITHUB_TOKEN = <YOUR_GITHUB_TOKEN>
Then run:
./gradlew publishToApache -Prelease -PuseGpgAgent -Dorg.gradle.parallel=false
-</code></pre><p>Next, you have to close the staging repository:</p><ol><li>Go to <a href=https://repository.apache.org>Nexus</a> and log in</li><li>In the left menu, click on “Staging Repositories”</li><li>Select the Polaris repository</li><li>At the top, select “Close” and follow the instructions</li><li>In the comment field, use “Apache Polaris x.y.z RCi”</li></ol><h3 id=start-the-vote-thread id=start-the-vote-thread>Start the vote thread<a class=hea [...]
+</code></pre><p>Next, you have to close the staging repository:</p><ol><li>Go to <a href=https://repository.apache.org>Nexus</a> and log in</li><li>In the left menu, click on “Staging Repositories”</li><li>Select the Polaris repository</li><li>At the top, select “Close” and follow the instructions</li><li>In the comment field, use “Apache Polaris x.y.z RCi”</li></ol><h3 id=start-the-vote-thread>Start the vote thread</h3><p>The last step for a release c [...]
</code></pre><p>Example content:</p><pre tabindex=0><code>Hi everyone,
I propose that we release the following RC as the official
@@ -130,7 +130,7 @@ The vote result is:
-1: e (binding), f (non-binding)
A new vote is starting in the Apache Incubator general mailing list.
-</code></pre><h3 id=start-a-new-vote-on-the-incubator-general-mailing-list id=start-a-new-vote-on-the-incubator-general-mailing-list>Start a new vote on the Incubator general mailing list<a class=heading-anchor href=#start-a-new-vote-on-the-incubator-general-mailing-list aria-label=Anchor>#</a></h3><p>As Polaris is an Apache Incubator project, you now have to start a new vote on the Apache Incubator general mailing list.</p><p>You have to send this email to <a href=mailto:general@incubat [...]
+</code></pre><h3 id=start-a-new-vote-on-the-incubator-general-mailing-list>Start a new vote on the Incubator general mailing list</h3><p>As Polaris is an Apache Incubator project, you now have to start a new vote on the Apache Incubator general mailing list.</p><p>You have to send this email to <a href=mailto:general@incubator.apache.org>general@incubator.apache.org</a>:</p><pre tabindex=0><code>[VOTE] Release Apache Polaris x.y.z (rci)
</code></pre><pre tabindex=0><code>Hello everyone,
The Apache Polaris community has voted and approved the release of Apache Polaris x.y.z (rci).
@@ -176,7 +176,7 @@ Checklist for reference:
</code></pre><pre tabindex=0><code>Hi everyone,
This vote passed with the following result:
-</code></pre><h2 id=finishing-the-release id=finishing-the-release>Finishing the release<a class=heading-anchor href=#finishing-the-release aria-label=Anchor>#</a></h2><p>After the release votes passed, you need to release the last candidate’s artifacts.</p><h3 id=publishing-the-release id=publishing-the-release>Publishing the release<a class=heading-anchor href=#publishing-the-release aria-label=Anchor>#</a></h3><p>First, copy the distribution from the dist dev space to the dist r [...]
+</code></pre><h2 id=finishing-the-release>Finishing the release</h2><p>After the release votes passed, you need to release the last candidate’s artifacts.</p><h3 id=publishing-the-release>Publishing the release</h3><p>First, copy the distribution from the dist dev space to the dist release space:</p><pre tabindex=0><code>svn mv https://dist.apache.org/repos/dist/dev/incubator/polaris/x.y.z https://dist.apache.org/repos/dist/release/incubator/polaris
svn mv https://dist.apache.org/repos/dist/dev/incubator/polaris/helm-chart/x.y.z https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart
</code></pre><p>Then, update the Helm Chart repository index on <a href=https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart/index.yaml>https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart/index.yaml</a>:</p><pre tabindex=0><code>svn checkout https://dist.apache.org/repos/dist/release/incubator/polaris/helm-chart polaris-dist-release-helm-chart
cd polaris-dist-release-helm-chart
@@ -184,9 +184,9 @@ helm repo index .
svn add index.yaml
svn commit -m "Update Helm index for x.y.z release"
</code></pre><p>Next, add a release tag to the git repository based on the candidate tag:</p><pre tabindex=0><code>git tag -a apache-polaris-x.y.z apache-polaris-x.y.z-rci
-</code></pre><p>Update GitHub with the release: <a href=https://github.com/apache/polaris/releases/tag/apache-polaris-x.y.z>https://github.com/apache/polaris/releases/tag/apache-polaris-x.y.z</a></p><p>Then release the candidate repository on <a href=https://repository.apache.org/#stagingRepositories>Nexus</a>.</p><h3 id=publishing-the-docker-images id=publishing-the-docker-images>Publishing the Docker images<a class=heading-anchor href=#publishing-the-docker-images aria-label=Anchor>#</ [...]
+</code></pre><p>Update GitHub with the release: <a href=https://github.com/apache/polaris/releases/tag/apache-polaris-x.y.z>https://github.com/apache/polaris/releases/tag/apache-polaris-x.y.z</a></p><p>Then release the candidate repository on <a href=https://repository.apache.org/#stagingRepositories>Nexus</a>.</p><h3 id=publishing-the-docker-images>Publishing the Docker images</h3><p>You can now publish Docker images on DockerHub:</p><pre tabindex=0><code>./gradlew :polaris-server:assem [...]
./gradlew :polaris-admin:assemble :polaris-admin:quarkusAppPartsBuild --rerun -Dquarkus.container-image.build=true -Dquarkus.container-image.push=true -Dquarkus.docker.buildx.platform="linux/amd64,linux/arm64" -Dquarkus.container-image.tag=x.y.z
-</code></pre><h3 id=publishing-docs id=publishing-docs>Publishing docs<a class=heading-anchor href=#publishing-docs aria-label=Anchor>#</a></h3><ol><li>Open a PR against branch <a href=https://github.com/apache/polaris/tree/versioned-docs><code>versioned-docs</code></a> to publish the documentation</li><li>Open a PR against the <code>main</code> branch to update website<ul><li>Add download links and release notes in <a href=https://github.com/apache/polaris/blob/main/site/content/downloa [...]
+</code></pre><h3 id=publishing-docs>Publishing docs</h3><ol><li>Open a PR against branch <a href=https://github.com/apache/polaris/tree/versioned-docs><code>versioned-docs</code></a> to publish the documentation</li><li>Open a PR against the <code>main</code> branch to update website<ul><li>Add download links and release notes in <a href=https://github.com/apache/polaris/blob/main/site/content/downloads/_index.md>Download page</a></li><li>Add the release in the <a href=https://github.com [...]
</code></pre><pre tabindex=0><code>The Apache Polaris team is pleased to announce Apache Polaris x.y.z.
<Add Quick Description of the Release>
@@ -199,10 +199,10 @@ Apache Polaris is an open-source, fully-featured catalog for Apache Iceberg™.
Enjoy !
-</code></pre><h2 id=how-to-verify-a-release id=how-to-verify-a-release>How to verify a release<a class=heading-anchor href=#how-to-verify-a-release aria-label=Anchor>#</a></h2><h3 id=validating-distributions id=validating-distributions>Validating distributions<a class=heading-anchor href=#validating-distributions aria-label=Anchor>#</a></h3><p>Release vote email includes links to:</p><ul><li>Distribution archives (source, admin, server) on dist.apache.org</li><li>Signature files (.asc)</ [...]
+</code></pre><h2 id=how-to-verify-a-release>How to verify a release</h2><h3 id=validating-distributions>Validating distributions</h3><p>Release vote email includes links to:</p><ul><li>Distribution archives (source, admin, server) on dist.apache.org</li><li>Signature files (.asc)</li><li>Checksum files (.sha512)</li><li>KEYS file</li></ul><p>After downloading the distributions archives, signatures, checksums, and KEYS file, here are the instructions on how to verify signatures, checksums [...]
gpg --import KEYS
</code></pre><p>Next, verify all <code>.asc</code> files:</p><pre tabindex=0><code>gpg --verify apache-polaris-[...].asc
-</code></pre><h4 id=verifying-checksums id=verifying-checksums>Verifying checksums<a class=heading-anchor href=#verifying-checksums aria-label=Anchor>#</a></h4><pre tabindex=0><code>shasum -a 512 --check apache-polaris-[...].sha512
-</code></pre><h4 id=verifying-build-and-test id=verifying-build-and-test>Verifying build and test<a class=heading-anchor href=#verifying-build-and-test aria-label=Anchor>#</a></h4><p>In the source distribution:</p><pre tabindex=0><code>./gradlew build
-</code></pre><h3 id=voting id=voting>Voting<a class=heading-anchor href=#voting aria-label=Anchor>#</a></h3><p>Votes are cast by replying on the vote email on the dev mailing list, with either <code>+1</code>, <code>0</code>, <code>-1</code>.</p><p>In addition to your vote, it’s customary to specify if your vote is binding or non-binding. Only members of the PPMC and mentors have formally binding votes, and IPMC on the vote on the Incubator general mailing list.
+</code></pre><h4 id=verifying-checksums>Verifying checksums</h4><pre tabindex=0><code>shasum -a 512 --check apache-polaris-[...].sha512
+</code></pre><h4 id=verifying-build-and-test>Verifying build and test</h4><p>In the source distribution:</p><pre tabindex=0><code>./gradlew build
+</code></pre><h3 id=voting>Voting</h3><p>Votes are cast by replying on the vote email on the dev mailing list, with either <code>+1</code>, <code>0</code>, <code>-1</code>.</p><p>In addition to your vote, it’s customary to specify if your vote is binding or non-binding. Only members of the PPMC and mentors have formally binding votes, and IPMC on the vote on the Incubator general mailing list.
If you’re unsure, you can specify that your vote is non-binding. You can find more details on <a href=https://www.apache.org/foundation/voting.html>https://www.apache.org/foundation/voting.html</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label [...]
\ No newline at end of file
diff --git a/community/release-guides/release-verification-guide/index.html b/community/release-guides/release-verification-guide/index.html
index ab2c31379..11bc23863 100644
--- a/community/release-guides/release-verification-guide/index.html
+++ b/community/release-guides/release-verification-guide/index.html
@@ -11,7 +11,7 @@ Please keep the ASF Release Policy, especially the section on “Owned and C
Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention."><meta itemprop=wordCount content="1318"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Release Verification Guide"><meta name=twitter:description content="Audience: Committers and interested contributors.
This guide walks you through the process of verifying a staged Apache Polaris release candidate.
Please keep the ASF Release Policy, especially the section on “Owned and Controlled Hardware,” in mind: Strictly speaking, releases must be verified on hardware owned and controlled by the committer.
-Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaY [...]
+Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaY [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -42,14 +42,14 @@ Remember to include your
<a href=https://www.apache.org/foundation/glossary.html#MajorityApproval>vote (+1/0/-1)</a>
and whether it’s “binding.”
A -1 vote requires a technical justification.
-As a (P)PMC member, your vote is “binding,” all other votes are “non-binding.”</p><h1 id=verifying-a-release-candidate id=verifying-a-release-candidate>Verifying a release candidate<a class=heading-anchor href=#verifying-a-release-candidate aria-label=Anchor>#</a></h1><p>Instead of performing all mentioned steps manually, you can leverage the script
+As a (P)PMC member, your vote is “binding,” all other votes are “non-binding.”</p><h1 id=verifying-a-release-candidate>Verifying a release candidate</h1><p>Instead of performing all mentioned steps manually, you can leverage the script
<code>tools/verify-release/verify-release.sh</code>, available in the main repository, to perform the
-automatable tasks. The script is intended to be run on Linux or macOS.</p><h2 id=verifying-the-script id=verifying-the-script>Verifying the script<a class=heading-anchor href=#verifying-the-script aria-label=Anchor>#</a></h2><p>Verifying a release using any kind of automation, like this script, requires “trust” into the automation.
+automatable tasks. The script is intended to be run on Linux or macOS.</p><h2 id=verifying-the-script>Verifying the script</h2><p>Verifying a release using any kind of automation, like this script, requires “trust” into the automation.
It is therefore recommended to verify the script before running it on a release candidate.
You can inspect it by
<a href=https://github.com/snazy/polaris/blob/main/tools/verify-release/verify-release.sh>looking at the source code</a>
before running it.
-The link to the <code>Raw</code> file must be the same as the one used in the command below to run the script.</p><h2 id=running-the-script id=running-the-script>Running the script<a class=heading-anchor href=#running-the-script aria-label=Anchor>#</a></h2><p>Run the most recent version of the script using the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang [...]
+The link to the <code>Raw</code> file must be the same as the one used in the command below to run the script.</p><h2 id=running-the-script>Running the script</h2><p>Run the most recent version of the script using the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>bash <<span style=color:#f92672>(</span>curl <span sty [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -s https://raw.githubusercontent.com/apache/polaris/refs/heads/main/tools/verify-release/verify-release.sh<span style=color:#f92672>)</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --help
</span></span></code></pre></div><p>The tool is intended for Polaris versions 1.3 and newer.
@@ -68,7 +68,7 @@ and report those that need to be installed.</p><p>To run the script, you need th
all downloaded and all built artifacts.
This temporary directory is deleted after the script has finished. To keep the temporary directory
around, you can use the <code>--keep-temp-dir</code> (<code>-k</code>) option.</p><p>A log file, the name matches the pattern <code>polaris-release-verify-*.log</code>,
-will be created and contain detailed information about the identified issues reported on the console.</p><p>Note: The script is maintained in the Polaris source tree in the <code>/tools/verify-release</code> directory.</p><h2 id=verifications-performed-by-the-tool id=verifications-performed-by-the-tool>Verifications performed by the tool<a class=heading-anchor href=#verifications-performed-by-the-tool aria-label=Anchor>#</a></h2><p>After some startup checks, the tool emits some informati [...]
+will be created and contain detailed information about the identified issues reported on the console.</p><p>Note: The script is maintained in the Polaris source tree in the <code>/tools/verify-release</code> directory.</p><h2 id=verifications-performed-by-the-tool>Verifications performed by the tool</h2><p>After some startup checks, the tool emits some information about the release candidate. For example:</p><pre tabindex=0><code>Verifying staged release
========================
Git tag: apache-polaris-1.3.0-incubating-rc0
@@ -87,5 +87,5 @@ The intent is to provide as much information as possible to eventually fix a rep
If <code>zipcmp</code> reports no difference, the output of <code>zipinfo</code> for both files is logged.</li><li>Tarballs: output of <code>diff --recursive</code> the extracted local and staged tarballs.
If <code>diff</code> reports no difference, the output of <code>tar tvf</code> for both files is logged.</li><li>Other files: Output of <code>diff</code> of the local and staged files.</li></ul><p>Note: GPG signatures are verified <strong>only</strong> against the project’s <code>KEYS</code> file.</p><p>If the script finds no issues, the temporary verification directory is deleted by default.
You can keep it around by using the <code>--keep-temp-dir</code> (<code>-k</code>) option.
-Remember to delete it manually when you’re done.</p><h1 id=reproducible-builds id=reproducible-builds>Reproducible builds<a class=heading-anchor href=#reproducible-builds aria-label=Anchor>#</a></h1><p>A build is reproducible if the built artifacts are identical for every build on every machine from the same source.</p><p>The Apache Polaris build is currently <em>mostly</em> reproducible, with some release-version specific exceptions.</p><p>References:</p><ul><li><a href=https://re [...]
+Remember to delete it manually when you’re done.</p><h1 id=reproducible-builds>Reproducible builds</h1><p>A build is reproducible if the built artifacts are identical for every build on every machine from the same source.</p><p>The Apache Polaris build is currently <em>mostly</em> reproducible, with some release-version specific exceptions.</p><p>References:</p><ul><li><a href=https://reproducible-builds.org/>reproducible-builds.org</a></li><li><a href=https://cwiki.apache.org/conf [...]
See helm-package notes on <a href=https://cwiki.apache.org/confluence/display/SECURITY/Reproducible+Builds>this page</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-la [...]
\ No newline at end of file
diff --git a/community/release-guides/semi-automated-release-guide/index.html b/community/release-guides/semi-automated-release-guide/index.html
index a2ee5102d..835ea29eb 100644
--- a/community/release-guides/semi-automated-release-guide/index.html
+++ b/community/release-guides/semi-automated-release-guide/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Audience: Release Managers
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode."><meta property="og:title" content="Semi-Automated Release Guide"><meta property="og:description" content="Audience: Release Managers
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode."><meta property="og:title" content="Semi-Automated Release Guide"><meta property="og:description" content="Audience: Release Managers
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/release-guides/semi-automated-release-guide/"><meta property="article:section" content="community"><meta itemprop=name content="Semi-Automated Release Guide"><meta itemprop=description content="Audience: Release Managers
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/release-guides/semi-automated-release-guide/"><meta property="article:section" content="community"><meta itemprop=name content="Semi-Automated Release Guide"><meta itemprop=description content="Audience: Release Managers
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode."><meta itemprop=wordCount content="1936"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Semi-Automated Release Guide"><meta name=twitter:description content="Audience: Release Managers
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode."><meta itemprop=wordCount content="1936"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Semi-Automated Release Guide"><meta name=twitter:description content="Audience: Release Managers
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -21,7 +21,7 @@ Dry-run mode# Each of the Github Workflows that have been developed comes with a
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span class=td-sidebar-nav-active-item>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input t [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-check>
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc><nav id=TableOfContents><ul><li><a href=#overview>Overview</a></li><li><a href=#dry-run-mode>Dry-run mode</a></li><li><a href=#prerequisites>Prere [...]
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc><nav id=TableOfContents><ul><li><a href=#overview>Overview</a></li><li><a href=#dry-run-mode>Dry-run mode</a></li><li><a href=#prerequisites>Prere [...]
</code></pre><pre tabindex=0><code>Hello everyone,
The purpose of this e-mail is to collect feedback on the upcoming Apache
@@ -31,10 +31,10 @@ there are some specific pull requests that you would like to see included in
the release.
Thanks,
-</code></pre><h3 id=ensure-that-the-changelog-is-up-to-date id=ensure-that-the-changelog-is-up-to-date>Ensure that the changelog is up to date<a class=heading-anchor href=#ensure-that-the-changelog-is-up-to-date aria-label=Anchor>#</a></h3><p>As part of Polaris development process, for each major change in the codebase, a new entry should be added to the <code>CHANGELOG.md</code> file. This is usually verified during pull request reviews. But some changes may have been missed. So before [...]
+</code></pre><h3 id=ensure-that-the-changelog-is-up-to-date>Ensure that the changelog is up to date</h3><p>As part of Polaris development process, for each major change in the codebase, a new entry should be added to the <code>CHANGELOG.md</code> file. This is usually verified during pull request reviews. But some changes may have been missed. So before cutting a release, it is important to ensure that the changelog is up to date.</p><h2 id=release-branch-creation-workflow>Release branch [...]
It also contains the e-mail template to notify the community of the vote result.
Ensure to replace the <code>[REASON - TO BE FILLED BY RELEASE MANAGER]</code> placeholder with the actual reason for the vote failure.
-Then send the e-mail to the Polaris dev mailing list.</p><p><img src=/img/release-guides/github-workflow-X-detail.png alt="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating" title="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating"></p><h3 id=if-the-vote-passed id=if-the-vote-passed>If the vote passed<a class=heading-anchor href=#if-the-vote-passed aria-label=Anchor>#</a></h3><p>When the release candidate vote passes, send a new e-mail [...]
+Then send the e-mail to the Polaris dev mailing list.</p><p><img src=/img/release-guides/github-workflow-X-detail.png alt="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating" title="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating"></p><h3 id=if-the-vote-passed>If the vote passed</h3><p>When the release candidate vote passes, send a new e-mail with the vote result:</p><pre tabindex=0><code>[RESULT][VOTE] Release Apache Polaris [major].[ [...]
</code></pre><pre tabindex=0><code>Thanks everyone who participated in the vote for Release Apache Polaris [major].[minor].[patch] (rc[N]).
The vote result is:
@@ -44,7 +44,7 @@ The vote result is:
-1: e (binding), f (non-binding)
A new vote is starting in the Apache Incubator general mailing list.
-</code></pre><h2 id=start-a-new-vote-thread-on-the-incubator-general-mailing-list id=start-a-new-vote-thread-on-the-incubator-general-mailing-list>Start a new vote thread on the Incubator general mailing list<a class=heading-anchor href=#start-a-new-vote-thread-on-the-incubator-general-mailing-list aria-label=Anchor>#</a></h2><p>As Polaris is an Apache Incubator project, you now have to start a new vote on the Apache Incubator general mailing list.
+</code></pre><h2 id=start-a-new-vote-thread-on-the-incubator-general-mailing-list>Start a new vote thread on the Incubator general mailing list</h2><p>As Polaris is an Apache Incubator project, you now have to start a new vote on the Apache Incubator general mailing list.
The Incubator vote e-mail resembles the Polaris vote e-mail, with a few additional details:</p><ul><li>It mentions that the Polaris (podling) vote has passed</li><li>It contains links to the Polaris vote thread and the vote result thread</li><li>It contains a checklist for the IPMC members to verify the release artifacts</li></ul><p>Note that unlike for the podling vote, no e-mail is pre-generated by the Github workflow.</p><p>You have to send this email to <a href=mailto:general@incubat [...]
</code></pre><pre tabindex=0><code>Hello everyone,
@@ -93,7 +93,7 @@ Checklist for reference:
[ ] No unexpected binary files
[ ] All source files have ASF headers
[ ] Can compile from source
-</code></pre><p>The next steps depend on the vote result.</p><h2 id=close-the-vote-thread-on-the-incubator-general-mailing-list id=close-the-vote-thread-on-the-incubator-general-mailing-list>Close the vote thread on the Incubator general mailing list<a class=heading-anchor href=#close-the-vote-thread-on-the-incubator-general-mailing-list aria-label=Anchor>#</a></h2><h3 id=if-the-vote-failed-1 id=if-the-vote-failed-1>If the vote failed<a class=heading-anchor href=#if-the-vote-failed-1 ari [...]
+</code></pre><p>The next steps depend on the vote result.</p><h2 id=close-the-vote-thread-on-the-incubator-general-mailing-list>Close the vote thread on the Incubator general mailing list</h2><h3 id=if-the-vote-failed-1>If the vote failed</h3><p>When a release candidate is rejected during the IPMC vote, you need to send two e-mails to inform the community of the vote result.
First, reply in the same thread (in the general Incubator mailing list) with the vote result.</p><pre tabindex=0><code>Hello everyone,
Thanks to all who participated in the vote for Release Apache Polaris [major].[minor].[patch] (rc[N]).
@@ -104,7 +104,7 @@ Thanks,
</code></pre><p>Then, run the Github workflow <a href=https://github.com/apache/polaris/actions/workflows/release-X-cancel-release-candidate.yml><code>Release - X - Cancel Release Candidate After Vote Failure</code></a>. This workflow will:</p><ul><li>Drop the Apache Nexus staging repository</li><li>Delete the release artifacts (including Helm Chart) from the Apache dist dev repository</li><li>Prepare an e-mail template to notify the community of the vote result</li></ul><p><img src=/img [...]
It also contains the e-mail template to notify the community of the vote result.
Ensure to replace the <code>[REASON - TO BE FILLED BY RELEASE MANAGER]</code> placeholder with the actual reason for the vote failure.
-Then send the e-mail to the Polaris dev mailing list.</p><p><img src=/img/release-guides/github-workflow-X-detail.png alt="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating" title="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating"></p><h3 id=if-the-vote-passed-1 id=if-the-vote-passed-1>If the vote passed<a class=heading-anchor href=#if-the-vote-passed-1 aria-label=Anchor>#</a></h3><p>When the release candidate vote passes, send a new e [...]
+Then send the e-mail to the Polaris dev mailing list.</p><p><img src=/img/release-guides/github-workflow-X-detail.png alt="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating" title="Screenshot of a detailed run of the cancel RC workflow for 1.3.0-incubating"></p><h3 id=if-the-vote-passed-1>If the vote passed</h3><p>When the release candidate vote passes, send a new e-mail with the vote result:</p><pre tabindex=0><code>[RESULT][VOTE] Release Apache Polaris [major] [...]
</code></pre><pre tabindex=0><code>Hello everyone,
The vote to release Apache Polaris [major].[minor].[patch] (rc[N]) has passed with [N] +1 binding and [M] +1 non-binding votes.
@@ -122,4 +122,4 @@ Non-binding +1 votes:
Vote thread: https://lists.apache.org/thread/<VOTE THREAD>
We will proceed with publishing the approved artifacts and sending out the announcement soon.
-</code></pre><h2 id=publish-the-release id=publish-the-release>Publish the release<a class=heading-anchor href=#publish-the-release aria-label=Anchor>#</a></h2><p>The final workflow to run is <a href=https://github.com/apache/polaris/actions/workflows/release-4-publish-release.yml><code>Release - 4 - Publish Release After Vote Success</code></a>. This workflow will:</p><ul><li>Verify that the release branch HEAD matches the last RC tag</li><li>Copy artifacts from the dist dev to the dist [...]
\ No newline at end of file
+</code></pre><h2 id=publish-the-release>Publish the release</h2><p>The final workflow to run is <a href=https://github.com/apache/polaris/actions/workflows/release-4-publish-release.yml><code>Release - 4 - Publish Release After Vote Success</code></a>. This workflow will:</p><ul><li>Verify that the release branch HEAD matches the last RC tag</li><li>Copy artifacts from the dist dev to the dist release SVN repository</li><li>Update the Helm index in dist release repository accordingly</li [...]
\ No newline at end of file
diff --git a/community/security-report/index.html b/community/security-report/index.html
index 296357be4..11e492816 100644
--- a/community/security-report/index.html
+++ b/community/security-report/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Security Report# Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
+<meta name=description content="Security Report Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
-Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta property="og:title" content><meta property="og:description" content="Security Report# Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude t [...]
+Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta property="og:title" content><meta property="og:description" content="Security Report Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude to [...]
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
-Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/security-report/"><meta property="article:section" content="community"><meta itemprop=name content> [...]
+Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/community/security-report/"><meta property="article:section" content="community"><meta itemprop=name content> [...]
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
-Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta itemprop=wordCount content="203"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Security Report# Adhering [...]
+Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><meta itemprop=wordCount content="203"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content><meta name=twitter:description content="Security Report Adhering t [...]
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
-Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css r [...]
+Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css r [...]
<label for=m-communitymeetings-check><a href=/community/meetings/ title="Apache Polaris Community Meetings" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-communitymeetings><span>Meetings</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityproposals-li><input type=checkbox id=m-communityproposals-check>
<label for=m-communityproposals-check><a href=/community/proposals/ title="Apache Polaris Proposals & Roadmap" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityproposals><span>Proposals & Roadmap</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitychat-bylaws-li><input type=checkbox id=m-communitychat-bylaws-check>
<label for=m-communitychat-bylaws-check><a href=/community/chat-bylaws/ title class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communitychat-bylaws><span>Chat Bylaws</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communitycommunity-guidelines-li><input type=checkbox id=m-communitycommunity-guidelines-check>
@@ -17,5 +17,5 @@ Please note that the security@apache.org and private@polaris.apache.org mailing
<label for=m-communityrelease-guidessemi-automated-release-guide-check><a href=/community/release-guides/semi-automated-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidessemi-automated-release-guide><span>Semi-Automated Release Guide</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesmanual-release-guide-li><input type=checkbox id=m-communityrelease-guide [...]
<label for=m-communityrelease-guidesmanual-release-guide-check><a href=/community/release-guides/manual-release-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesmanual-release-guide><span>Manual Release Guide (deprecated)</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-communityrelease-guidesrelease-verification-guide-li><input type=checkbox id=m-communityrelease-guidesrelease-veri [...]
<label for=m-communityrelease-guidesrelease-verification-guide-check><a href=/community/release-guides/release-verification-guide/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-communityrelease-guidesrelease-verification-guide><span>Release Verification Guide</span></a></label></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-communitysecurity-report-li><input type=checkbox id=m-communitysecurity-report-ch [...]
-<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span class=td-sidebar-nav-active-item>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li [...]
-Regular issue reports should be directed to GitHub Issue or the <a href=mailto:dev@polaris.apache.org>dev@polaris.apache.org</a> mailing list.</p><p>The general process for handling security vulnerabilities as follows:</p><ul><li>The reporter privately reports the vulnerability to the <a href=mailto:security@apache.org>security@apache.org</a> and <a href=mailto:private@polaris.apache.org>private@polaris.apache.org</a> mailing lists (including as much information as possible, such as repr [...]
\ No newline at end of file
+<label for=m-communitysecurity-report-check><a href=/community/security-report/ title class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-communitysecurity-report><span class=td-sidebar-nav-active-item>Security Report</span></a></label></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/community/>Community</a></li><li [...]
+Regular issue reports should be directed to GitHub Issue or the <a href=mailto:dev@polaris.apache.org>dev@polaris.apache.org</a> mailing list.</p><p>The general process for handling security vulnerabilities as follows:</p><ul><li>The reporter privately reports the vulnerability to the <a href=mailto:security@apache.org>security@apache.org</a> and <a href=mailto:private@polaris.apache.org>private@polaris.apache.org</a> mailing lists (including as much information as possible, such as repr [...]
\ No newline at end of file
diff --git a/downloads/index.html b/downloads/index.html
index f00842bdb..6ca4506f5 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -1,11 +1,11 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/downloads/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript p [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript p [...]
However, you can now instead grant privileges just for specific operations, such as <code>TABLE_ADD_SNAPSHOT</code></p></li><li><p>Added a Management API endpoint to reset principal credentials, controlled by the <code>ENABLE_CREDENTIAL_RESET</code> (default: true) feature flag.</p></li><li><p>The <code>ENABLE_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS</code> was added to support sub-catalog (initially namespace and table) RBAC for federated catalogs.
The setting can be configured on a per-catalog basis by setting the catalog property: <code>polaris.config.enable-sub-catalog-rbac-for-federated-catalogs</code>.
The realm-level feature flag <code>ALLOW_SETTING_SUB_CATALOG_RBAC_FOR_FEDERATED_CATALOGS</code> (default: true) controls whether this functionality can be enabled or modified at the catalog level.</p></li><li><p>Added support for S3-compatible storage that does not have STS (use <code>stsUnavailable: true</code> in catalog storage configuration)</p></li><li><p>Added a Management API endpoint to reset principal credentials, controlled by the <code>ENABLE_CREDENTIAL_RESET</code> (default: [...]
in 1.3.0 or in 2.0.0 (whichever happens earlier).</li><li>The legacy management endpoints at <code>/metrics</code> and <code>/healthcheck</code> have been deprecated in 1.2.0 and will be
completely removed in 1.3.0 or in 2.0.0 (whichever happens earlier). Please use the standard management
-endpoints at <code>/q/metrics</code> and <code>/q/health</code> instead.</li></ul></li></ul><h2 id=110 id=110>1.1.0<a class=heading-anchor href=#110 aria-label=Anchor>#</a></h2><table><thead><tr><th>Artifact</th><th>PGP Sig</th><th>SHA-512</th></tr></thead><tbody><tr><td><a href=https://dlcdn.apache.org/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz>source tar.gz</a></td><td><a href=https://downloads.apache.org/incubator/polaris/1.1.0-incubating/apache-polaris- [...]
+endpoints at <code>/q/metrics</code> and <code>/q/health</code> instead.</li></ul></li></ul><h2 id=110>1.1.0</h2><table><thead><tr><th>Artifact</th><th>PGP Sig</th><th>SHA-512</th></tr></thead><tbody><tr><td><a href=https://dlcdn.apache.org/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz>source tar.gz</a></td><td><a href=https://downloads.apache.org/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz.asc>.asc</a></td><td><a href=https://dow [...]
from <code>symmetric.pem</code> to <code>symmetric.key</code>.</li><li>For migrations from 1.0.x to 1.1.x, users using JDBC persistence and wanting to continue using v1 schema, must ensure
that they, run following SQL statement under <code>POLARIS_SCHEMA</code> to make sure version table exists:<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> <span style=color:#66d9ef>TABLE</span> <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> [...]
</span></span><span style=display:flex><span> version_key TEXT <span style=color:#66d9ef>PRIMARY</span> <span style=color:#66d9ef>KEY</span>,
@@ -18,4 +18,4 @@ that they, run following SQL statement under <code>POLARIS_SCHEMA</code> to make
</span></span><span style=display:flex><span><span style=color:#66d9ef>COMMENT</span> <span style=color:#66d9ef>ON</span> <span style=color:#66d9ef>TABLE</span> <span style=color:#66d9ef>version</span> <span style=color:#66d9ef>IS</span> <span style=color:#e6db74>'the version of the JDBC schema in use'</span>;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#66d9ef>ALTER</span> <span style=color:#66d9ef>TABLE</span> polaris_schema.entities <span style=color:#66d9ef>ADD</span> <span style=color:#66d9ef>COLUMN</span> <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> location_without_scheme TEXT;
-</span></span></code></pre></div><ul><li>Please don’t enable <a href=https://github.com/apache/polaris/blob/740993963cb41c2c1b4638be5e04dd00f1263c98/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java#L346>OPTIMIZED_SIBLING_CHECK</a> feature configuration, once the above SQL statements are run. As it may lead to incorrect behavior, due to missing data for location_without_scheme column.</li></ul></li></ul></li></ul><h2 id=101 id=101>1.0.1<a class=hea [...]
\ No newline at end of file
+</span></span></code></pre></div><ul><li>Please don’t enable <a href=https://github.com/apache/polaris/blob/740993963cb41c2c1b4638be5e04dd00f1263c98/polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java#L346>OPTIMIZED_SIBLING_CHECK</a> feature configuration, once the above SQL statements are run. As it may lead to incorrect behavior, due to missing data for location_without_scheme column.</li></ul></li></ul></li></ul><h2 id=101>1.0.1</h2><table><thead> [...]
\ No newline at end of file
diff --git a/guides/index.html b/guides/index.html
index ac246d11b..8a38e22ae 100644
--- a/guides/index.html
+++ b/guides/index.html
@@ -1,2 +1,2 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/guides/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png hr [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Guides"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life wi [...]
\ No newline at end of file
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris Guides"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life wi [...]
\ No newline at end of file
diff --git a/in-dev/index.html b/in-dev/index.html
index 126b4d835..fe3dce11a 100644
--- a/in-dev/index.html
+++ b/in-dev/index.html
@@ -1,2 +1,2 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png hr [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript p [...]
\ No newline at end of file
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript p [...]
\ No newline at end of file
diff --git a/in-dev/release_index/index.html b/in-dev/release_index/index.html
index 9168288a1..0b779fc48 100644
--- a/in-dev/release_index/index.html
+++ b/in-dev/release_index/index.html
@@ -3,4 +3,4 @@
Download from &hellip;"><meta property="og:title" content="POLARIS VERSION INDEX MD TEMPLATE"><meta property="og:description" content="== Apache Polaris version [unreleased]
Download from …"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/release_index/"><meta property="article:section" content="in-dev"><meta itemprop=name content="POLARIS VERSION INDEX MD TEMPLATE"><meta itemprop=description content="== Apache Polaris version [unreleased]
Download from …"><meta itemprop=wordCount content="8"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="POLARIS VERSION INDEX MD TEMPLATE"><meta name=twitter:description content="== Apache Polaris version [unreleased]
-Download from …"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_71012444198222 [...]
\ No newline at end of file
+Download from …"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src=/lunr.min_71012444198222 [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/admin-tool/index.html b/in-dev/unreleased/admin-tool/index.html
index 5a6bd126c..0fc7ef412 100644
--- a/in-dev/unreleased/admin-tool/index.html
+++ b/in-dev/unreleased/admin-tool/index.html
@@ -2,16 +2,16 @@
<meta name=description content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/admin-tool/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Admin Tool"><met [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/admin-tool/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Admin Tool"><meta [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="566"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><meta name=twitter:description content="Polaris includes a tool for ad [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="566"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><meta name=twitter:description content="Polaris includes a tool for adm [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet int [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet inte [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -65,7 +65,7 @@ example, to build the tool with support for Postgres, run the following:</p><div
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One Fast-JAR in <code>runtime/admin/build/quarkus-app/quarkus-run.jar</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>#</a></h2><p>Please make sure the admin tool and Polaris server are with the same version before using it.
+</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One Fast-JAR in <code>runtime/admin/build/quarkus-app/quarkus-run.jar</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage>Usage</h2><p>Please make sure the admin tool and Polaris server are with the same version before using it.
To run the standalone JAR, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar --help
</span></span></code></pre></div><p>To run the Docker image, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run apache/polaris-admin-tool:latest --help
</span></span></code></pre></div><p>The basic usage of the Polaris Admin Tool is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-tool.jar [-hV] [COMMAND]
@@ -76,10 +76,10 @@ Commands:
help Display help information about the specified command.
bootstrap Bootstraps realms and root principal credentials.
purge Purge realms and all associated entities.
-</code></pre><h2 id=configuration id=configuration>Configuration<a class=heading-anchor href=#configuration aria-label=Anchor>#</a></h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
+</code></pre><h2 id=configuration>Configuration</h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
configuration can be done via environment variables or system properties.</p><p>At a minimum, it is necessary to configure the Polaris Admin Tool to connect to the same database
used by the Polaris server.</p><p>See the <a href=https://polaris.apache.org/in-dev/unreleased/metastores/>metastore documentation</a> for more information on configuring the
-database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials<a class=heading-anchor href=#bootstrapping-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary [...]
+database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials</h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary principal credentials
for the Polaris server. This command is idempotent and can be run multiple times without causing any
issues. If a realm is already bootstrapped, running the <code>bootstrap</code> command again will not have any
effect on that realm.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar bootstrap --help
@@ -105,7 +105,7 @@ File Input Options:
bootstrap.
</code></pre><p>For example, to bootstrap the <code>realm1</code> realm and create its root principal credential with the
client ID <code>admin</code> and client secret <code>admin</code>, you can run the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar bootstrap -r realm1 -c realm1,admin,admin
-</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials<a class=heading-anchor href=#purging-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><div class="alert alert-warning"><p class=alert-heading>⚠️ Warning</p>Running the <code>purge</code> command will r [...]
+</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials</h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><div class="alert alert-warning"><p class=alert-heading>⚠️ Warning</p>Running the <code>purge</code> command will remove all data associated with the specified realms!
This includes all entities (catalogs, namespaces, tables, views, roles), all principal
credentials, grants, and any other data associated with the realms.</div><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar purge --help
</span></span></code></pre></div><p>The basic usage of the <code>purge</code> command is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-tool.jar purge [-hV] -r=<realm> [-r=<realm>]...
diff --git a/in-dev/unreleased/command-line-interface/index.html b/in-dev/unreleased/command-line-interface/index.html
index ef5a743f1..062b64a6b 100644
--- a/in-dev/unreleased/command-line-interface/index.html
+++ b/in-dev/unreleased/command-line-interface/index.html
@@ -11,7 +11,7 @@ polaris [options] COMMAND ... options: --host --port --base-url --client-id --cl
catalogs principals principal-roles catalog-roles namespaces privileges profiles policies repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><meta itemprop=wordCount content="4968"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Command Line Interface"><meta name=twitter:description content="In order to help administrators quickly set up and manage their P [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --realm --header --profile --proxy --debug COMMAND must be one of the following:
-catalogs principals principal-roles catalog-roles namespaces privileges profiles policies repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_34937894415 [...]
+catalogs principals principal-roles catalog-roles namespaces privileges profiles policies repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_34937894415 [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -82,14 +82,14 @@ polaris privileges namespace grant --namespace some.schema --catalog fourth_cata
polaris profiles list
polaris policies list --catalog some_catalog --namespace some.schema
polaris repair
-</code></pre><h3 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
+</code></pre><h3 id=authentication>Authentication</h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
-Also, if your Polaris server uses a custom realm header name, you can use the <code>--header</code> option to specify it. If <code>--header</code> is not provided, the CLI will check the <code>HEADER</code> environment variable. If neither is provided, the CLI will use default header name <code>Polaris-Realm</code>.</p><p>Read <a href=https://polaris.apache.org/in-dev/unreleased/configuration/>here</a> more about configuring polaris server to work with multiple realms.</p><h3 id=path id= [...]
+Also, if your Polaris server uses a custom realm header name, you can use the <code>--header</code> option to specify it. If <code>--header</code> is not provided, the CLI will check the <code>HEADER</code> environment variable. If neither is provided, the CLI will use default header name <code>Polaris-Realm</code>.</p><p>Read <a href=https://polaris.apache.org/in-dev/unreleased/configuration/>here</a> more about configuring polaris server to work with multiple realms.</p><h3 id=path>PAT [...]
</code></pre><p>Alternatively, you can run the CLI by providing a path to it, such as with the following invocation:</p><pre tabindex=0><code>~/polaris principals list
-</code></pre><h2 id=commands id=commands>Commands<a class=heading-anchor href=#commands aria-label=Anchor>#</a></h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be conf [...]
+</code></pre><h2 id=commands>Commands</h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be configured for reuse. This provides an alternative to passing authentication d [...]
polaris principals create --help
polaris profiles --help
-</code></pre><h3 id=catalogs id=catalogs>catalogs<a class=heading-anchor href=#catalogs aria-label=Anchor>#</a></h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create id=create>create<a class=heading-anchor href=#create aria-label=Anchor>#</a></h4><p>The <code>create</co [...]
+</code></pre><h3 id=catalogs>catalogs</h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create>create</h4><p>The <code>create</code> subcommand is used to create a catalog.</p><pre tabindex=0><code>input: polaris catalogs create --help
options:
create
Named arguments:
@@ -130,7 +130,7 @@ options:
--catalog-signing-name (For authentication type SIGV4) The service name to be used by the SigV4 protocol for signing requests, the default signing name is "execute-api" is if not provided
Positional arguments:
catalog
-</code></pre><h5 id=examples id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs create \
+</code></pre><h5 id=examples>Examples</h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -148,29 +148,29 @@ polaris catalogs create \
--storage-type file \
--default-base-location file:///example/tmp \
quickstart_catalog
-</code></pre><h4 id=delete id=delete>delete<a class=heading-anchor href=#delete aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
+</code></pre><h4 id=delete>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
options:
delete
Positional arguments:
catalog
-</code></pre><h5 id=examples-1 id=examples-1>Examples<a class=heading-anchor href=#examples-1 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs delete some_catalog
-</code></pre><h4 id=get id=get>get<a class=heading-anchor href=#get aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
+</code></pre><h5 id=examples-1>Examples</h5><pre tabindex=0><code>polaris catalogs delete some_catalog
+</code></pre><h4 id=get>get</h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
options:
get
Positional arguments:
catalog
-</code></pre><h5 id=examples-2 id=examples-2>Examples<a class=heading-anchor href=#examples-2 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs get some_catalog
+</code></pre><h5 id=examples-2>Examples</h5><pre tabindex=0><code>polaris catalogs get some_catalog
polaris catalogs get another_catalog
-</code></pre><h4 id=list id=list>list<a class=heading-anchor href=#list aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
+</code></pre><h4 id=list>list</h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
options:
list
Named arguments:
--principal-role The name of a principal role
-</code></pre><h5 id=examples-3 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs list
+</code></pre><h5 id=examples-3>Examples</h5><pre tabindex=0><code>polaris catalogs list
polaris catalogs list --principal-role some_user
-</code></pre><h4 id=update id=update>update<a class=heading-anchor href=#update aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
+</code></pre><h4 id=update>update</h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
options:
update
Named arguments:
@@ -181,10 +181,10 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples-4 id=examples-4>Examples<a class=heading-anchor href=#examples-4 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
+</code></pre><h5 id=examples-4>Examples</h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
polaris catalogs update --default-base-location s3://new-bucket/my_data my_catalog
-</code></pre><h3 id=principals id=principals>Principals<a class=heading-anchor href=#principals aria-label=Anchor>#</a></h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li><li>reset</li></ol><h4 id=create-1 id=create-1>create<a class=heading-anchor href=#create-1 aria-la [...]
+</code></pre><h3 id=principals>Principals</h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li><li>reset</li></ol><h4 id=create-1>create</h4><p>The <code>create</code> subcommand is used to create a new principal.</p><pre tabindex=0><code>input: polaris principals create --help
options:
create
Named arguments:
@@ -192,35 +192,35 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-5 id=examples-5>Examples<a class=heading-anchor href=#examples-5 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-5>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals create --client-id ${CLIENT_ID} --property admin=true some_admin_user
-</code></pre><h4 id=delete-1 id=delete-1>delete<a class=heading-anchor href=#delete-1 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
+</code></pre><h4 id=delete-1>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
options:
delete
Positional arguments:
principal
-</code></pre><h5 id=examples-6 id=examples-6>Examples<a class=heading-anchor href=#examples-6 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals delete some_user
+</code></pre><h5 id=examples-6>Examples</h5><pre tabindex=0><code>polaris principals delete some_user
polaris principals delete some_admin_user
-</code></pre><h4 id=get-1 id=get-1>get<a class=heading-anchor href=#get-1 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
+</code></pre><h4 id=get-1>get</h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
options:
get
Positional arguments:
principal
-</code></pre><h5 id=examples-7 id=examples-7>Examples<a class=heading-anchor href=#examples-7 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals get some_user
+</code></pre><h5 id=examples-7>Examples</h5><pre tabindex=0><code>polaris principals get some_user
polaris principals get some_admin_user
-</code></pre><h4 id=list-1 id=list-1>list<a class=heading-anchor href=#list-1 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8 id=examples-8>Examples<a class=heading-anchor href=#examples-8 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals list
-</code></pre><h4 id=rotate-credentials id=rotate-credentials>rotate-credentials<a class=heading-anchor href=#rotate-credentials aria-label=Anchor>#</a></h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
+</code></pre><h4 id=list-1>list</h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8>Examples</h5><pre tabindex=0><code>polaris principals list
+</code></pre><h4 id=rotate-credentials>rotate-credentials</h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
options:
rotate-credentials
Positional arguments:
principal
-</code></pre><h5 id=examples-9 id=examples-9>Examples<a class=heading-anchor href=#examples-9 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
+</code></pre><h5 id=examples-9>Examples</h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
polaris principals rotate-credentials some_admin_user
-</code></pre><h4 id=update-1 id=update-1>update<a class=heading-anchor href=#update-1 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
+</code></pre><h4 id=update-1>update</h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
options:
update
Named arguments:
@@ -228,16 +228,16 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-10 id=examples-10>Examples<a class=heading-anchor href=#examples-10 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
+</code></pre><h5 id=examples-10>Examples</h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
polaris principals update --property are_other_keys_removed=yes some_user
-</code></pre><h4 id=access id=access>access<a class=heading-anchor href=#access aria-label=Anchor>#</a></h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
+</code></pre><h4 id=access>access</h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
options:
access
Positional arguments:
principal
-</code></pre><h5 id=examples-11 id=examples-11>Examples<a class=heading-anchor href=#examples-11 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals access quickstart_user
-</code></pre><h4 id=reset id=reset>reset<a class=heading-anchor href=#reset aria-label=Anchor>#</a></h4><p>The <code>reset</code> subcommand is used to reset principal credentials.</p><pre tabindex=0><code>input: polaris principals reset --help
+</code></pre><h5 id=examples-11>Examples</h5><pre tabindex=0><code>polaris principals access quickstart_user
+</code></pre><h4 id=reset>reset</h4><p>The <code>reset</code> subcommand is used to reset principal credentials.</p><pre tabindex=0><code>input: polaris principals reset --help
options:
reset
Named arguments:
@@ -245,50 +245,50 @@ options:
--new-client-secret The new client secret for the principal
Positional arguments:
principal
-</code></pre><h5 id=examples-12 id=examples-12>Examples<a class=heading-anchor href=#examples-12 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-12>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals reset some_user
polaris principals reset --new-client-id ${NEW_CLIENT_ID} some_user
polaris principals reset --new-client-secret ${NEW_CLIENT_SECRET} some_user
polaris principals reset --new-client-id ${NEW_CLIENT_ID} --new-client-secret ${NEW_CLIENT_SECRET} some_user
-</code></pre><h3 id=principal-roles id=principal-roles>Principal Roles<a class=heading-anchor href=#principal-roles aria-label=Anchor>#</a></h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</ [...]
+</code></pre><h3 id=principal-roles>Principal Roles</h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</l [...]
options:
create
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-13 id=examples-13>Examples<a class=heading-anchor href=#examples-13 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles create data_engineer
+</code></pre><h5 id=examples-13>Examples</h5><pre tabindex=0><code>polaris principal-roles create data_engineer
polaris principal-roles create --property key=value data_analyst
-</code></pre><h4 id=delete-2 id=delete-2>delete<a class=heading-anchor href=#delete-2 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
+</code></pre><h4 id=delete-2>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
options:
delete
Positional arguments:
principal_role
-</code></pre><h5 id=examples-14 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
+</code></pre><h5 id=examples-14>Examples</h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
polaris principal-roles delete data_analyst
-</code></pre><h4 id=get-2 id=get-2>get<a class=heading-anchor href=#get-2 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
+</code></pre><h4 id=get-2>get</h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
options:
get
Positional arguments:
principal_role
-</code></pre><h5 id=examples-15 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles get data_engineer
+</code></pre><h5 id=examples-15>Examples</h5><pre tabindex=0><code>polaris principal-roles get data_engineer
polaris principal-roles get data_analyst
-</code></pre><h4 id=list-2 id=list-2>list<a class=heading-anchor href=#list-2 aria-label=Anchor>#</a></h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
+</code></pre><h4 id=list-2>list</h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
options:
list
Named arguments:
--catalog-role The name of a catalog role. If provided, show only principal roles assigned to this catalog role.
--principal The name of a principal. If provided, show only principal roles assigned to this principal.
-</code></pre><h5 id=examples-16 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles list
+</code></pre><h5 id=examples-16>Examples</h5><pre tabindex=0><code>polaris principal-roles list
polaris principal-roles --principal d.knuth
polaris principal-roles --catalog-role super_secret_data
-</code></pre><h4 id=update-2 id=update-2>update<a class=heading-anchor href=#update-2 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
+</code></pre><h4 id=update-2>update</h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
options:
update
Named arguments:
@@ -296,30 +296,30 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-17 id=examples-17>Examples<a class=heading-anchor href=#examples-17 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
+</code></pre><h5 id=examples-17>Examples</h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
polaris principal-roles update data_analyst --property key=value3
-</code></pre><h4 id=grant id=grant>grant<a class=heading-anchor href=#grant aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
+</code></pre><h4 id=grant>grant</h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
options:
grant
Named arguments:
--principal A principal to grant this principal role to
Positional arguments:
principal_role
-</code></pre><h5 id=examples-18 id=examples-18>Examples<a class=heading-anchor href=#examples-18 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
+</code></pre><h5 id=examples-18>Examples</h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
polaris principal-roles grant data_scientist --principal a.ng
-</code></pre><h4 id=revoke id=revoke>revoke<a class=heading-anchor href=#revoke aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
+</code></pre><h4 id=revoke>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
options:
revoke
Named arguments:
--principal A principal to revoke this principal role from
Positional arguments:
principal_role
-</code></pre><h5 id=examples-19 id=examples-19>Examples<a class=heading-anchor href=#examples-19 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
+</code></pre><h5 id=examples-19>Examples</h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
polaris principal-roles revoke data_scientist --principal changed.role
-</code></pre><h3 id=catalog-roles id=catalog-roles>Catalog Roles<a class=heading-anchor href=#catalog-roles aria-label=Anchor>#</a></h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</l [...]
+</code></pre><h3 id=catalog-roles>Catalog Roles</h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</li></ol><h4 id=create-3>create</h4><p>The <code>create</code> subcommand is used to c [...]
options:
create
Named arguments:
@@ -327,40 +327,40 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-20 id=examples-20>Examples<a class=heading-anchor href=#examples-20 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
+</code></pre><h5 id=examples-20>Examples</h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
polaris catalog-roles create --catalog other_catalog sales_data
-</code></pre><h4 id=delete-3 id=delete-3>delete<a class=heading-anchor href=#delete-3 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
+</code></pre><h4 id=delete-3>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-21 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
+</code></pre><h5 id=examples-21>Examples</h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
polaris catalog-roles delete --catalog other_catalog sales_data
-</code></pre><h4 id=get-3 id=get-3>get<a class=heading-anchor href=#get-3 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
+</code></pre><h4 id=get-3>get</h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-22 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
+</code></pre><h5 id=examples-22>Examples</h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
polaris catalog-roles get --catalog other_catalog inventory_data
-</code></pre><h4 id=list-3 id=list-3>list<a class=heading-anchor href=#list-3 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
+</code></pre><h4 id=list-3>list</h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
options:
list
Named arguments:
--principal-role The name of a principal role
Positional arguments:
catalog
-</code></pre><h5 id=examples-23 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles list
+</code></pre><h5 id=examples-23>Examples</h5><pre tabindex=0><code>polaris catalog-roles list
polaris catalog-roles list --principal-role data_engineer
-</code></pre><h4 id=update-3 id=update-3>update<a class=heading-anchor href=#update-3 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
+</code></pre><h4 id=update-3>update</h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
options:
update
Named arguments:
@@ -369,10 +369,10 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-24 id=examples-24>Examples<a class=heading-anchor href=#examples-24 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
+</code></pre><h5 id=examples-24>Examples</h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
polaris catalog-roles update sales_data --catalog some_catalog --property key=value
-</code></pre><h4 id=grant-1 id=grant-1>grant<a class=heading-anchor href=#grant-1 aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
+</code></pre><h4 id=grant-1>grant</h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
options:
grant
Named arguments:
@@ -380,10 +380,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-25 id=examples-25>Examples<a class=heading-anchor href=#examples-25 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-25>Examples</h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles grant --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h4 id=revoke-1 id=revoke-1>revoke<a class=heading-anchor href=#revoke-1 aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
+</code></pre><h4 id=revoke-1>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
options:
revoke
Named arguments:
@@ -391,10 +391,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-26 id=examples-26>Examples<a class=heading-anchor href=#examples-26 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-26>Examples</h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles revoke --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h3 id=namespaces id=namespaces>Namespaces<a class=heading-anchor href=#namespaces aria-label=Anchor>#</a></h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4 id=create-4>create<a class=heading-anchor href=#create-4 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to c [...]
+</code></pre><h3 id=namespaces>Namespaces</h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4>create</h4><p>The <code>create</code> subcommand is used to create a new namespace.</p><p>When creating a namespace with an explicit location, that location must reside within the parent catalog or namespace.</p>< [...]
options:
create
Named arguments:
@@ -403,50 +403,50 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
namespace
-</code></pre><h5 id=examples-27 id=examples-27>Examples<a class=heading-anchor href=#examples-27 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
+</code></pre><h5 id=examples-27>Examples</h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
polaris namespaces create --catalog my_catalog --location 's3://bucket/outer/inner_SUFFIX' outer.inner
-</code></pre><h4 id=delete-4 id=delete-4>delete<a class=heading-anchor href=#delete-4 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
+</code></pre><h4 id=delete-4>delete</h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-28 id=examples-28>Examples<a class=heading-anchor href=#examples-28 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
+</code></pre><h5 id=examples-28>Examples</h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
polaris namespaces delete --catalog my_catalog outer_namespace
-</code></pre><h4 id=get-4 id=get-4>get<a class=heading-anchor href=#get-4 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
+</code></pre><h4 id=get-4>get</h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-29 id=examples-29>Examples<a class=heading-anchor href=#examples-29 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
+</code></pre><h5 id=examples-29>Examples</h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
polaris namespaces get a.b.c --catalog some_catalog
-</code></pre><h4 id=list-4 id=list-4>list<a class=heading-anchor href=#list-4 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
+</code></pre><h4 id=list-4>list</h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
options:
list
Named arguments:
--catalog The name of an existing catalog
--parent If specified, list namespaces inside this parent namespace
-</code></pre><h5 id=examples-30 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
+</code></pre><h5 id=examples-30>Examples</h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges id=privileges>Privileges<a class=heading-anchor href=#privileges aria-label=Anchor>#</a></h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/in-dev/unreleased/entities/#privilege>docs</a>.</p><p>Note that when using [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/in-dev/unreleased/entities/#privilege>docs</a>.</p><p>Note that when using the <code>privileges</code> command, the user specifies the relevant catalog [...]
options:
list
Named arguments:
--catalog The name of an existing catalog
--catalog-role The name of a catalog role
-</code></pre><h5 id=examples-31 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
+</code></pre><h5 id=examples-31>Examples</h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
polaris privileges my_role list --catalog-role my_other_role --catalog my_catalog
-</code></pre><h4 id=catalog id=catalog>catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
+</code></pre><h4 id=catalog>catalog</h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
options:
catalog
grant
@@ -462,7 +462,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-32 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-32>Examples</h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -476,7 +476,7 @@ polaris privileges \
--catalog-role catalog_role \
--cascade \
TABLE_CREATE
-</code></pre><h4 id=namespace id=namespace>namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
+</code></pre><h4 id=namespace>namespace</h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
options:
namespace
grant
@@ -494,7 +494,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-33 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-33>Examples</h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -509,7 +509,7 @@ polaris privileges \
--catalog-role catalog_role \
--namespace a.b \
TABLE_LIST
-</code></pre><h4 id=table id=table>table<a class=heading-anchor href=#table aria-label=Anchor>#</a></h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
+</code></pre><h4 id=table>table</h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
options:
table
grant
@@ -529,7 +529,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-34 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-34>Examples</h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -547,7 +547,7 @@ polaris privileges \
--table t \
--cascade \
TABLE_DROP
-</code></pre><h4 id=view id=view>view<a class=heading-anchor href=#view aria-label=Anchor>#</a></h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
+</code></pre><h4 id=view>view</h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
options:
view
grant
@@ -567,7 +567,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-35 id=examples-35>Examples<a class=heading-anchor href=#examples-35 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-35>Examples</h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -585,35 +585,35 @@ polaris privileges \
--view v \
--cascade \
VIEW_FULL_METADATA
-</code></pre><h3 id=profiles id=profiles>profiles<a class=heading-anchor href=#profiles aria-label=Anchor>#</a></h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 i [...]
+</code></pre><h3 id=profiles>profiles</h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create-5>create</h4><p>The <code>create</code> subcommand is used to cre [...]
options:
create
Positional arguments:
profile
-</code></pre><h5 id=examples-36 id=examples-36>Examples<a class=heading-anchor href=#examples-36 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles create dev
-</code></pre><h4 id=delete-5 id=delete-5>delete<a class=heading-anchor href=#delete-5 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
+</code></pre><h5 id=examples-36>Examples</h5><pre tabindex=0><code>polaris profiles create dev
+</code></pre><h4 id=delete-5>delete</h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
options:
delete
Positional arguments:
profile
-</code></pre><h5 id=examples-37 id=examples-37>Examples<a class=heading-anchor href=#examples-37 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles delete dev
-</code></pre><h4 id=get-5 id=get-5>get<a class=heading-anchor href=#get-5 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
+</code></pre><h5 id=examples-37>Examples</h5><pre tabindex=0><code>polaris profiles delete dev
+</code></pre><h4 id=get-5>get</h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
options:
get
Positional arguments:
profile
-</code></pre><h5 id=examples-38 id=examples-38>Examples<a class=heading-anchor href=#examples-38 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles get dev
-</code></pre><h4 id=list-6 id=list-6>list<a class=heading-anchor href=#list-6 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
+</code></pre><h5 id=examples-38>Examples</h5><pre tabindex=0><code>polaris profiles get dev
+</code></pre><h4 id=list-6>list</h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
options:
list
-</code></pre><h5 id=examples-39 id=examples-39>Examples<a class=heading-anchor href=#examples-39 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles list
-</code></pre><h4 id=update-4 id=update-4>update<a class=heading-anchor href=#update-4 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
+</code></pre><h5 id=examples-39>Examples</h5><pre tabindex=0><code>polaris profiles list
+</code></pre><h4 id=update-4>update</h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
options:
update
Positional arguments:
profile
-</code></pre><h5 id=examples-40 id=examples-40>Examples<a class=heading-anchor href=#examples-40 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles update dev
-</code></pre><h3 id=policies id=policies>Policies<a class=heading-anchor href=#policies aria-label=Anchor>#</a></h3><p>The <code>policies</code> command is used to manage policies within Polaris.</p><p><code>policies</code> supports the following subcommands:</p><ol><li>attach</li><li>create</li><li>delete</li><li>detach</li><li>get</li><li>list</li><li>update</li></ol><h4 id=attach id=attach>attach<a class=heading-anchor href=#attach aria-label=Anchor>#</a></h4><p>The <code>attach</code [...]
+</code></pre><h5 id=examples-40>Examples</h5><pre tabindex=0><code>polaris profiles update dev
+</code></pre><h3 id=policies>Policies</h3><p>The <code>policies</code> command is used to manage policies within Polaris.</p><p><code>policies</code> supports the following subcommands:</p><ol><li>attach</li><li>create</li><li>delete</li><li>detach</li><li>get</li><li>list</li><li>update</li></ol><h4 id=attach>attach</h4><p>The <code>attach</code> subcommand is used to create a mapping between a policy and a resource entity.</p><pre tabindex=0><code>input: polaris policies attach --help
options:
attach
Named arguments:
@@ -624,10 +624,10 @@ options:
--parameters Optional key-value pairs for the attachment/detachment, e.g., key=value. Can be specified multiple times.
Positional arguments:
policy
-</code></pre><h5 id=examples-41 id=examples-41>Examples<a class=heading-anchor href=#examples-41 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies attach --catalog some_catalog --namespace some.schema --attachment-type namespace --attachment-path some.schema some_policy
+</code></pre><h5 id=examples-41>Examples</h5><pre tabindex=0><code>polaris policies attach --catalog some_catalog --namespace some.schema --attachment-type namespace --attachment-path some.schema some_policy
polaris policies attach --catalog some_catalog --namespace some.schema --attachment-type table-like --attachment-path some.schema.t some_table_policy
-</code></pre><h4 id=create-6 id=create-6>create<a class=heading-anchor href=#create-6 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to create a policy.</p><pre tabindex=0><code>input: polaris policies create --help
+</code></pre><h4 id=create-6>create</h4><p>The <code>create</code> subcommand is used to create a policy.</p><pre tabindex=0><code>input: polaris policies create --help
options:
create
Named arguments:
@@ -638,10 +638,10 @@ options:
--policy-description An optional description for the policy.
Positional arguments:
policy
-</code></pre><h5 id=examples-42 id=examples-42>Examples<a class=heading-anchor href=#examples-42 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies create --catalog some_catalog --namespace some.schema --policy-file some_policy.json --policy-type system.data-compaction some_policy
+</code></pre><h5 id=examples-42>Examples</h5><pre tabindex=0><code>polaris policies create --catalog some_catalog --namespace some.schema --policy-file some_policy.json --policy-type system.data-compaction some_policy
polaris policies create --catalog some_catalog --namespace some.schema --policy-file some_snapshot_expiry_policy.json --policy-type system.snapshot-expiry some_snapshot_expiry_policy
-</code></pre><h4 id=delete-6 id=delete-6>delete<a class=heading-anchor href=#delete-6 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a policy.</p><pre tabindex=0><code>input: polaris policies delete --help
+</code></pre><h4 id=delete-6>delete</h4><p>The <code>delete</code> subcommand is used to delete a policy.</p><pre tabindex=0><code>input: polaris policies delete --help
options:
delete
Named arguments:
@@ -650,10 +650,10 @@ options:
--detach-all When set to true, the policy will be deleted along with all its attached mappings.
Positional arguments:
policy
-</code></pre><h5 id=examples-43 id=examples-43>Examples<a class=heading-anchor href=#examples-43 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies delete --catalog some_catalog --namespace some.schema some_policy
+</code></pre><h5 id=examples-43>Examples</h5><pre tabindex=0><code>polaris policies delete --catalog some_catalog --namespace some.schema some_policy
polaris policies delete --catalog some_catalog --namespace some.schema --detach-all some_policy
-</code></pre><h4 id=detach id=detach>detach<a class=heading-anchor href=#detach aria-label=Anchor>#</a></h4><p>The <code>detach</code> subcommand is used to remove a mapping between a policy and a target entity</p><pre tabindex=0><code>input: polaris policies detach --help
+</code></pre><h4 id=detach>detach</h4><p>The <code>detach</code> subcommand is used to remove a mapping between a policy and a target entity</p><pre tabindex=0><code>input: polaris policies detach --help
options:
detach
Named arguments:
@@ -664,10 +664,10 @@ options:
--parameters Optional key-value pairs for the attachment/detachment, e.g., key=value. Can be specified multiple times.
Positional arguments:
policy
-</code></pre><h5 id=examples-44 id=examples-44>Examples<a class=heading-anchor href=#examples-44 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies detach --catalog some_catalog --namespace some.schema --attachment-type namespace --attachment-path some.schema some_policy
+</code></pre><h5 id=examples-44>Examples</h5><pre tabindex=0><code>polaris policies detach --catalog some_catalog --namespace some.schema --attachment-type namespace --attachment-path some.schema some_policy
polaris policies detach --catalog some_catalog --namespace some.schema --attachment-type catalog --attachment-path some_catalog some_policy
-</code></pre><h4 id=get-6 id=get-6>get<a class=heading-anchor href=#get-6 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to load a policy from the catalog.</p><pre tabindex=0><code>input: polaris policies get --help
+</code></pre><h4 id=get-6>get</h4><p>The <code>get</code> subcommand is used to load a policy from the catalog.</p><pre tabindex=0><code>input: polaris policies get --help
options:
get
Named arguments:
@@ -675,8 +675,8 @@ options:
--namespace A period-delimited namespace
Positional arguments:
policy
-</code></pre><h5 id=examples-45 id=examples-45>Examples<a class=heading-anchor href=#examples-45 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies get --catalog some_catalog --namespace some.schema some_policy
-</code></pre><h4 id=list-7 id=list-7>list<a class=heading-anchor href=#list-7 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to get all policy identifiers under this namespace and all applicable policies for a specified entity.</p><pre tabindex=0><code>input: polaris policies list --help
+</code></pre><h5 id=examples-45>Examples</h5><pre tabindex=0><code>polaris policies get --catalog some_catalog --namespace some.schema some_policy
+</code></pre><h4 id=list-7>list</h4><p>The <code>list</code> subcommand is used to get all policy identifiers under this namespace and all applicable policies for a specified entity.</p><pre tabindex=0><code>input: polaris policies list --help
options:
list
Named arguments:
@@ -685,10 +685,10 @@ options:
--target-name The name of the target entity (e.g., table name, namespace name).
--applicable When set, lists policies applicable to the target entity (considering inheritance) instead of policies defined directly in the target.
--policy-type The type of the policy, e.g., 'system.data-compaction'
-</code></pre><h5 id=examples-46 id=examples-46>Examples<a class=heading-anchor href=#examples-46 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies list --catalog some_catalog
+</code></pre><h5 id=examples-46>Examples</h5><pre tabindex=0><code>polaris policies list --catalog some_catalog
polaris policies list --catalog some_catalog --applicable
-</code></pre><h4 id=update-5 id=update-5>update<a class=heading-anchor href=#update-5 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a policy.</p><pre tabindex=0><code>input: polaris policies update --help
+</code></pre><h4 id=update-5>update</h4><p>The <code>update</code> subcommand is used to update a policy.</p><pre tabindex=0><code>input: polaris policies update --help
options:
update
Named arguments:
@@ -698,10 +698,10 @@ options:
--policy-description An optional description for the policy.
Positional arguments:
policy
-</code></pre><h5 id=examples-47 id=examples-47>Examples<a class=heading-anchor href=#examples-47 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris policies update --catalog some_catalog --namespace some.schema --policy-file my_updated_policy.json my_policy
+</code></pre><h5 id=examples-47>Examples</h5><pre tabindex=0><code>polaris policies update --catalog some_catalog --namespace some.schema --policy-file my_updated_policy.json my_policy
polaris policies update --catalog some_catalog --namespace some.schema --policy-file my_updated_policy.json --policy-description "Updated policy description" my_policy
-</code></pre><h3 id=repair id=repair>repair<a class=heading-anchor href=#repair aria-label=Anchor>#</a></h3><p>The <code>repair</code> command is a bash script wrapper used to regenerate Python client code and update necessary dependencies, ensuring the Polaris client remains up-to-date and functional. <strong>Please note that this command does not support any options and its usage information is not available via a <code>--help</code> flag.</strong></p><h2 id=examples-48 id=examples-48> [...]
+</code></pre><h3 id=repair>repair</h3><p>The <code>repair</code> command is a bash script wrapper used to regenerate Python client code and update necessary dependencies, ensuring the Polaris client remains up-to-date and functional. <strong>Please note that this command does not support any options and its usage information is not available via a <code>--help</code> flag.</strong></p><h2 id=examples-48>Examples</h2><p>This section outlines example code for a few common operations as wel [...]
polaris catalogs create \
--type internal \
@@ -711,7 +711,7 @@ polaris catalogs create \
--allowed-location s3://iceberg-bucket/polaris-alt-location-1 \
--allowed-location s3://iceberg-bucket/polaris-alt-location-2 \
my_catalog
-</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog<a class=heading-anchor href=#granting-a-principal-the-ability-to-manage-the-content-of-a-catalog aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris principal-roles create power_user
+</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog</h3><pre tabindex=0><code>polaris principal-roles create power_user
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -726,7 +726,7 @@ polaris privileges \
--catalog-role my_catalog_role \
grant \
CATALOG_MANAGE_CONTENT
-</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read<a class=heading-anchor href=#identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read aria-label=Anchor>#</a></h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, [...]
+</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read</h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, subsume <code>TABLE_READ_DATA</code> and would not be discovered here.</em></p><pre tabindex=0><code>principal_roles=$(polaris principal-roles list --principal my_principal)
for principal_role in ${principal_roles}; do
catalog_roles=$(polaris catalog-roles --list --principal-role "${principal_role}")
for catalog_role in ${catalog_roles}; do
diff --git a/in-dev/unreleased/configuration/index.html b/in-dev/unreleased/configuration/index.html
index 9b2eb297f..d27307856 100644
--- a/in-dev/unreleased/configuration/index.html
+++ b/in-dev/unreleased/configuration/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+<meta name=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
📝 Note
-For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Doc [...]
+For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Dock [...]
📝 Note
-For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/configuration/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Configuring Polaris"><meta itemprop=descri [...]
+For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/configuration/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Configuring Polaris"><meta itemprop=descri [...]
📝 Note
-For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta itemprop=wordCount content="2860"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview# This page provides information on how t [...]
+For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><meta itemprop=wordCount content="2860"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview This page provides information on how to [...]
📝 Note
-For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3. [...]
+For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3. [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@ For Production tips and best practices, refer to Configuring Polaris for Product
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as
well as for Polaris binary distributions.</p><div class="alert alert-info"><p class=alert-heading>📝 Note</p>For Production tips and best practices, refer to <a href=https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</div><p>First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus
<a href=https://quarkus.io/guides/config>configuration guide</a> to get familiar with the basics.</p><p>Quarkus aggregates configuration properties from multiple sources, applying them in a specific order
@@ -76,11 +76,11 @@ names. In these situations, it’s preferable to use system properties or a
(mounted) at <code>$PWD/config/application.properties</code> for Polaris server to recognize it. In Polaris
official Docker images, this location is <code>/deployment/config/application.properties</code>.</p><p>For Kubernetes deployments, the configuration file is typically defined as a <code>ConfigMap</code>, then
mounted in the container at <code>/deployment/config/application.properties</code>. It can be mounted in
-read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference id=polaris-configuration-options-reference>Polaris Configuration Options Reference<a class=heading-anchor href=#polaris-configuration-options-reference aria-label=Anchor>#</a></h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-j [...]
+read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference>Polaris Configuration Options Reference</h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-jdbc</code></td><td>Define the persistence backend used by Polaris (<code>in-memory</code>, <code>relational-jdbc</code>). See [Configuri [...]
image; they come from the base image used by Polaris, <a href=https://catalog.redhat.com/software/containers/ubi9/openjdk-21-runtime/6501ce769a0d86945c422d5f>ubi9/openjdk-21-runtime</a>. They should be used
to fine-tune the Java runtime directly, e.g. to enable debugging or to set the heap size. These
variables are not specific to Polaris, but are inherited from the base image. If in doubt, leave
-everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
+everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
is using. To do this, set the log level for the <code>io.smallrye.config</code> category to <code>DEBUG</code>, and also
set the console appender level to <code>DEBUG</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.console.level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.category."io.smallrye.config".level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
diff --git a/in-dev/unreleased/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/index.html b/in-dev/unreleased/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/index.html
index 9ec8913ae..412120299 100644
--- a/in-dev/unreleased/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/index.html
+++ b/in-dev/unreleased/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/index.html
@@ -7,7 +7,7 @@ Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is
All catalog operations in Polaris for Google Cloud Storage (GCS)—including listing, reading, and writing objects—are performed using credential vending, which issues scoped (vended) tokens for secure access.
Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is enabled) to be properly configured."><meta itemprop=wordCount content="171"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring GCS Cloud Storage"><meta name=twitter:description content="This page provides guidance for configuring GCS Cloud Storage provider for use with Polaris. It covers credential vending, IAM roles, ACL requirements, and [...]
All catalog operations in Polaris for Google Cloud Storage (GCS)—including listing, reading, and writing objects—are performed using credential vending, which issues scoped (vended) tokens for secure access.
-Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is enabled) to be properly configured."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61O [...]
+Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is enabled) to be properly configured."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61O [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/index.html b/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/index.html
index c536925c2..07c584f80 100644
--- a/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/index.html
+++ b/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide provides instructions for configuring the Polaris Helm chart for a production environment. For full list of chart values, see the main Helm chart documentation.
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta property="og:title" content="Configuring Helm for Production"><meta property="og:description" content="This guide provides instructions for configuring the Polaris Helm chart for a production environment. For full list of chart values, see the main Helm chart documentation.
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta property="og:title" content="Configuring Helm for Production"><meta property="og:description" content="This guide provides instructions for configuring the Polaris Helm chart for a production environment. For full list of chart values, see the main Helm chart documentation.
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Configuring Helm for Production"><meta itemprop=description content="This guide provides instructions for configuring the [...]
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Configuring Helm for Production"><meta itemprop=description content="This guide provides instructions for configuring the P [...]
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta itemprop=wordCount content="529"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Helm for Production"><meta name=twitter:description content="This guide provides instructions for configuring the Polaris Helm chart for a production environment. For full list of chart values, see the main Helm chart [...]
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><meta itemprop=wordCount content="529"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Helm for Production"><meta name=twitter:description content="This guide provides instructions for configuring the Polaris Helm chart for a production environment. For full list of chart values, see the main Helm chart [...]
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8 [...]
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@ Persistence# By default, the Polaris Helm chart uses an in-memory metastore, whi
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>type</span>: <span style=color:#ae81ff>relational-jdbc</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>relationalJdbc</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>secret</span>:
@@ -64,14 +64,14 @@ Persistence# By default, the Polaris Helm chart uses an in-memory metastore, whi
</span></span><span style=display:flex><span> <span style=color:#f92672>username</span>: <span style=color:#e6db74>"username"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>password</span>: <span style=color:#e6db74>"password"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>jdbcUrl</span>: <span style=color:#e6db74>"jdbcUrl"</span>
-</span></span></code></pre></div><h2 id=resource-management id=resource-management>Resource Management<a class=heading-anchor href=#resource-management aria-label=Anchor>#</a></h2><p>For a production environment, it is crucial to define resource requests and limits for the Polaris pods. Resource requests ensure that pods are allocated enough resources to run, while limits prevent them from consuming too many resources on the node.</p><p>Resource requests and limits can be set in the <cod [...]
+</span></span></code></pre></div><h2 id=resource-management>Resource Management</h2><p>For a production environment, it is crucial to define resource requests and limits for the Polaris pods. Resource requests ensure that pods are allocated enough resources to run, while limits prevent them from consuming too many resources on the node.</p><p>Resource requests and limits can be set in the <code>values.yaml</code> file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;backgroun [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>requests</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>memory</span>: <span style=color:#e6db74>"8Gi"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>cpu</span>: <span style=color:#e6db74>"4"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>limits</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>memory</span>: <span style=color:#e6db74>"8Gi"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>cpu</span>: <span style=color:#e6db74>"4"</span>
-</span></span></code></pre></div><p>Adjust these values based on expected workload and available cluster resources.</p><h2 id=pod-priority id=pod-priority>Pod Priority<a class=heading-anchor href=#pod-priority aria-label=Anchor>#</a></h2><p>In a production environment, it is advisable to set a <code>priorityClassName</code> for the Polaris pods. This ensures that the Kubernetes scheduler gives them higher priority over less critical workloads, and helps prevent them from being evicted fr [...]
+</span></span></code></pre></div><p>Adjust these values based on expected workload and available cluster resources.</p><h2 id=pod-priority>Pod Priority</h2><p>In a production environment, it is advisable to set a <code>priorityClassName</code> for the Polaris pods. This ensures that the Kubernetes scheduler gives them higher priority over less critical workloads, and helps prevent them from being evicted from a node that is running out of resources.</p><p>First, a <code>PriorityClass</co [...]
</span></span><span style=display:flex><span><span style=color:#f92672>kind</span>: <span style=color:#ae81ff>PriorityClass</span>
</span></span><span style=display:flex><span><span style=color:#f92672>metadata</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>name</span>: <span style=color:#ae81ff>polaris-high-priority</span>
@@ -79,7 +79,7 @@ Persistence# By default, the Polaris Helm chart uses an in-memory metastore, whi
</span></span><span style=display:flex><span><span style=color:#f92672>globalDefault</span>: <span style=color:#66d9ef>false</span>
</span></span><span style=display:flex><span><span style=color:#f92672>description</span>: <span style=color:#e6db74>"This priority class should be used for Polaris service pods only."</span>
</span></span></code></pre></div><p>Then, the <code>priorityClassName</code> can be set in the <code>values.yaml</code> file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#f92672>priorityClassName</span>: <span style=color:#e6db74>"polaris-high-priority"</span>
-</span></span></code></pre></div><h2 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h2><p>In a multi-replica production environment, all Polaris pods must share the same token signing keys. The default chart generates random keys for each pod, which will cause token validation failures.</p><p>To use a shared set of keys, a Kubernetes secret to store an RSA key pair or a symmetric key must first be created.</p><h3 id [...]
+</span></span></code></pre></div><h2 id=authentication>Authentication</h2><p>In a multi-replica production environment, all Polaris pods must share the same token signing keys. The default chart generates random keys for each pod, which will cause token validation failures.</p><p>To use a shared set of keys, a Kubernetes secret to store an RSA key pair or a symmetric key must first be created.</p><h3 id=rsa-key-pair>RSA Key Pair</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>tokenBroker</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>type</span>: <span style=color:#ae81ff>rsa-key-pair</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>secret</span>:
@@ -87,21 +87,21 @@ Persistence# By default, the Polaris Helm chart uses an in-memory metastore, whi
</span></span><span style=display:flex><span> <span style=color:#f92672>rsaKeyPair</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>publicKey</span>: <span style=color:#e6db74>"public.pem"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>privateKey</span>: <span style=color:#e6db74>"private.pem"</span>
-</span></span></code></pre></div><h3 id=symmetric-key id=symmetric-key>Symmetric Key<a class=heading-anchor href=#symmetric-key aria-label=Anchor>#</a></h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#f92672>authentication</span>:
+</span></span></code></pre></div><h3 id=symmetric-key>Symmetric Key</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#f92672>authentication</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>tokenBroker</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>type</span>: <span style=color:#ae81ff>symmetric-key</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>secret</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>name</span>: <span style=color:#e6db74>"polaris-symmetric-key-secret"</span> <span style=color:#75715e># A secret containing the symmetric key</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>symmetricKey</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>secretKey</span>: <span style=color:#e6db74>"symmetric.key"</span>
-</span></span></code></pre></div><h2 id=scaling id=scaling>Scaling<a class=heading-anchor href=#scaling aria-label=Anchor>#</a></h2><p>For high availability, multiple replicas of the Polaris server can be run. This requires a persistent backend to be configured as described above.</p><h3 id=static-replicas id=static-replicas>Static Replicas<a class=heading-anchor href=#static-replicas aria-label=Anchor>#</a></h3><p><code>replicaCount</code> must be set to the desired number of pods.</p>< [...]
-</span></span></code></pre></div><h3 id=autoscaling id=autoscaling>Autoscaling<a class=heading-anchor href=#autoscaling aria-label=Anchor>#</a></h3><p><code>autoscaling</code> can be enabled to define the minimum and maximum number of replicas, and CPU or memory utilization targets.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span styl [...]
+</span></span></code></pre></div><h2 id=scaling>Scaling</h2><p>For high availability, multiple replicas of the Polaris server can be run. This requires a persistent backend to be configured as described above.</p><h3 id=static-replicas>Static Replicas</h3><p><code>replicaCount</code> must be set to the desired number of pods.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=ya [...]
+</span></span></code></pre></div><h3 id=autoscaling>Autoscaling</h3><p><code>autoscaling</code> can be enabled to define the minimum and maximum number of replicas, and CPU or memory utilization targets.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#f92672>autoscaling</span>:
</span></span><span style=display:flex><span> <span style=color:#f92672>enabled</span>: <span style=color:#66d9ef>true</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>minReplicas</span>: <span style=color:#ae81ff>2</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>maxReplicas</span>: <span style=color:#ae81ff>5</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>targetCPUUtilizationPercentage</span>: <span style=color:#ae81ff>80</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>targetMemoryUtilizationPercentage</span>: <span style=color:#ae81ff>80</span>
-</span></span></code></pre></div><h3 id=pod-topology-spreading id=pod-topology-spreading>Pod Topology Spreading<a class=heading-anchor href=#pod-topology-spreading aria-label=Anchor>#</a></h3><p>For better fault tolerance, <code>topologySpreadConstraints</code> can be used to distribute pods across different nodes, racks, or availability zones. This helps prevent a single infrastructure failure from taking down all Polaris replicas.</p><p>Here is an example that spreads pods across diffe [...]
+</span></span></code></pre></div><h3 id=pod-topology-spreading>Pod Topology Spreading</h3><p>For better fault tolerance, <code>topologySpreadConstraints</code> can be used to distribute pods across different nodes, racks, or availability zones. This helps prevent a single infrastructure failure from taking down all Polaris replicas.</p><p>Here is an example that spreads pods across different zones and keeps the number of pods in each zone from differing by more than one:</p><div class=hi [...]
</span></span><span style=display:flex><span> - <span style=color:#f92672>maxSkew</span>: <span style=color:#ae81ff>1</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>topologyKey</span>: <span style=color:#e6db74>"topology.kubernetes.io/zone"</span>
</span></span><span style=display:flex><span> <span style=color:#f92672>whenUnsatisfiable</span>: <span style=color:#e6db74>"DoNotSchedule"</span>
diff --git a/in-dev/unreleased/configuring-polaris-for-production/index.html b/in-dev/unreleased/configuring-polaris-for-production/index.html
index 98d90a0c7..6fe716a38 100644
--- a/in-dev/unreleased/configuring-polaris-for-production/index.html
+++ b/in-dev/unreleased/configuring-polaris-for-production/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Configuring Polaris for Production"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projec [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Configuring Polaris for Production"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projec [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -49,7 +49,7 @@
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2 id=configure-oauth2 [...]
+review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2>Configure OAuth2</h [...]
supported out of the box:</p><ul><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTRSAKeyPairFactory.java>rsa-key-pair</a> uses a pair of public and private keys;</li><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTSymmetricKeyFactory.java>symmetric-key</a> uses a shared secret [...]
as each replica will have its own set of keys. This will cause token validation to fail when a
request is routed to a different replica than the one that issued the token.</div><p>It is highly recommended to configure Polaris with previously-generated RSA keys. This can be done
@@ -66,7 +66,7 @@ configuration file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;
</span></span></code></pre></div><p>Finally, you can also configure the token broker to use a maximum lifespan by setting the following
property:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
</span></span></code></pre></div><p>Typically, in Kubernetes, you would define the keys as a <code>Secret</code> and mount them as files in the
-container.</p><h3 id=realm-context-resolver id=realm-context-resolver>Realm Context Resolver<a class=heading-anchor href=#realm-context-resolver aria-label=Anchor>#</a></h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
+container.</p><h3 id=realm-context-resolver>Realm Context Resolver</h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
context resolver by setting the following properties in <code>application.properties</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.realms</span><span style=color:#f92672>=</span><span style=color:#e6db74>POLARIS,MY-REALM</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.header-name</span><span style=color:#f92672>=</span><span style=color:#e6db74>Polaris-Realm</span>
</span></span></code></pre></div><p>Where:</p><ul><li><code>realms</code> is a comma-separated list of allowed realms. This setting <em>must</em> be correctly configured.
@@ -77,7 +77,7 @@ realm in the list as the default realm. In the above example, <code>POLARIS</cod
would be used if the <code>Polaris-Realm</code> header is not present in the request.</p><p>This is not recommended for production use, as it may lead to security vulnerabilities. To avoid
this, set the following property to <code>true</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.require-header</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>This will cause Polaris to also return a <code>404 Not Found</code> response if the realm header is not present
-in the request.</p><h3 id=metastore-configuration id=metastore-configuration>Metastore Configuration<a class=heading-anchor href=#metastore-configuration aria-label=Anchor>#</a></h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
+in the request.</p><h3 id=metastore-configuration>Metastore Configuration</h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
default, Polaris uses an in-memory metastore.</p><div class="alert alert-primary"><p class=alert-heading>❗Important</p>The default in-memory metastore is not suitable for production use, as it will lose all data
when the server is restarted; it is also unusable when multiple Polaris replicas are used.</div><p>To enable a durable metastore, configure your system to use the Relational JDBC-backed metastore.
This implementation leverages Quarkus for datasource management and supports configuration through
@@ -89,7 +89,7 @@ QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
</code></pre><p>The relational JDBC metastore is a Quarkus-managed datasource and only supports Postgres and H2 as of now.
Please refer to the documentation here:
<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><div class="alert alert-primary"><p class=alert-heading>❗Important</p>Be sure to secure your metastore backend since it will be storing sensitive data and catalog
-metadata.</div><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping id=bootstrapping>Bootstrapping<a class=heading-anchor href=#bootstrapping aria-label=Anchor>#</a></h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
+metadata.</div><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping>Bootstrapping</h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
performed <strong>only once</strong> for each realm in order to prepare the metastore to integrate with Polaris.</p><p>By default, when bootstrapping a new realm, Polaris will create randomised <code>CLIENT_ID</code> and
<code>CLIENT_SECRET</code> for the <code>root</code> principal and store their hashes in the metastore backend.</p><p>Depending on your database, this may not be convenient as the generated credentials are not stored
in clear text in the database.</p><p>In order to provide your own credentials for <code>root</code> principal (so you can request tokens via
@@ -112,11 +112,11 @@ otherwise Polaris will resolve the realm to the first one in the configuration
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_id=my-client-id"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_secret=my-client-secret"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"scope=PRINCIPAL_ROLE:ALL"</span>
-</span></span></code></pre></div><h3 id=disable-file-storage-type id=disable-file-storage-type>Disable FILE Storage Type<a class=heading-anchor href=#disable-file-storage-type aria-label=Anchor>#</a></h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
+</span></span></code></pre></div><h3 id=disable-file-storage-type>Disable FILE Storage Type</h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
but <strong>not recommended for production</strong>. To disable it, set the supported storage types like this:</p><pre tabindex=0><code class=language-hocon data-lang=hocon>polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES" = [ "S3", "Azure" ]
-</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=polaris-server-header id=polaris-server-header>Polaris Server Header<a class=heading-anchor href=#polaris-server-header aria-label=Anchor>#</a></h3><p>Polaris can emit an informational <code>Server</code> HTTP response header using Quarkus’ built-in header
+</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=polaris-server-header>Polaris Server Header</h3><p>Polaris can emit an informational <code>Server</code> HTTP response header using Quarkus’ built-in header
configuration. Add the following property to one of the supported configuration sources (for example,
<code>application.properties</code>) to enable it with the Polaris version string:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.http.header."Server".value</span><span style=color:#f92672>=</span><span style=color:#e6db74>Polaris/${quarkus.application.version}</span>
</span></span></code></pre></div><p>If you prefer to scope the header to specific environments, only set the property for the desired
-profile (for example, <code>%prod</code>).</p><h3 id=upgrade-considerations id=upgrade-considerations>Upgrade Considerations<a class=heading-anchor href=#upgrade-considerations aria-label=Anchor>#</a></h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
-upgrade concerns.</p><h3 id=configuring-polaris-for-cloud-storages id=configuring-polaris-for-cloud-storages>Configuring Polaris for Cloud Storages<a class=heading-anchor href=#configuring-polaris-for-cloud-storages aria-label=Anchor>#</a></h3><p>For guidance on configuring specific cloud storage providers see child pages (links in the left-hand pane).</p><div class=section-index></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div cla [...]
\ No newline at end of file
+profile (for example, <code>%prod</code>).</p><h3 id=upgrade-considerations>Upgrade Considerations</h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
+upgrade concerns.</p><h3 id=configuring-polaris-for-cloud-storages>Configuring Polaris for Cloud Storages</h3><p>For guidance on configuring specific cloud storage providers see child pages (links in the left-hand pane).</p><div class=section-index></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-ite [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/configuring-polaris-for-production/index.xml b/in-dev/unreleased/configuring-polaris-for-production/index.xml
index ae327359e..ec479ab99 100644
--- a/in-dev/unreleased/configuring-polaris-for-production/index.xml
+++ b/in-dev/unreleased/configuring-polaris-for-production/index.xml
@@ -2,4 +2,4 @@
All catalog operations in Polaris for Google Cloud Storage (GCS)—including listing, reading, and writing objects—are performed using credential vending, which issues scoped (vended) tokens for secure access.
Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is enabled) to be properly configured.</description></item><item><title>Configuring Helm for Production</title><link>https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/</guid><description>This guide provides [...]
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production.</description></item></channel></rss>
\ No newline at end of file
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/entities/index.html b/in-dev/unreleased/entities/index.html
index a2ab188f1..3be8cf5a1 100644
--- a/in-dev/unreleased/entities/index.html
+++ b/in-dev/unreleased/entities/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/entities/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/entities/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="782"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="782"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
+Storage Type All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -60,4 +60,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
\ No newline at end of file
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/evolution/index.html b/in-dev/unreleased/evolution/index.html
index 1c4977bc7..27d6090eb 100644
--- a/in-dev/unreleased/evolution/index.html
+++ b/in-dev/unreleased/evolution/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:title" content="Polaris Evolution"><meta property="og:description" content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/evolution/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Polaris Evolution"><meta itemprop=descripti [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta itemprop=wordCount content="701"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Evolution"><meta name=twitter:description content="This page discusses what can be expected from Apa [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
-Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span class=td-sidebar-nav-active-item>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
it implements the Iceberg REST Catalog API and its own REST APIs.</p><p>Revisions of the Iceberg REST Catalog API are controlled by the <a href=https://iceberg.apache.org/>Apache Iceberg</a>
community. Polaris attempts to accurately implement this specification. Nonetheless,
optional REST Catalog features may or may not be supported immediately. In general,
@@ -70,21 +70,21 @@ backward-compatible way, new endpoints (URI paths) may be introduced. New URI &l
be introduced too (e.g. <code>api/catalog/v2</code>).</p><p>Note that those “v1”, “v2”, etc. URI path segments are not meant to be 1:1 with Polaris
releases or Polaris project version numbers (e.g. a “v2” path segment does not mean that
it is added in Polaris 2.0).</p><p>Polaris servers will support deprecated API endpoints / parameters / versions / etc.
-for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database id=managing-polaris-database>Managing Polaris Database<a class=heading-anchor href=#managing-polaris-database aria-label=Anchor>#</a></h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
+for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database>Managing Polaris Database</h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
“Persistence” in other docs.</p><p>Each Polaris release may support multiple Persistence <a href=../metastores>implementations</a>,
for example “JDBC”.</p><p>Each type of Persistence evolves individually. Within each Persistence type, Polaris
attempts to support rolling upgrades (both version X and X + 1 servers running at the
same time).</p><p>However, migrating between different Persistence types is not supported in a rolling
upgrade manner. Polaris provides <a href=https://github.com/apache/polaris-tools/>tools</a> for migrating between different
catalogs and those tools may be used to migrate between different Persistence types
-as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency<a class=heading-anchor href=#using-polaris-as-a-build-time-dependency aria-label=Anchor>#</a></h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
+as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency</h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
downstream projects according to the terms of the license included into Polaris distributions.</p><p>The minimal version of the JRE required by Polaris code (compilation target) may be updated in
any release. Different Polaris jars may have different minimal JRE version requirements.</p><p>Changes in Java class should be expected at any time regardless of the module name or
whether the class / method is <code>public</code> or not.</p><p>This approach is not meant to discourage the use of Polaris code in downstream projects, but
to allow more flexibility in evolving the codebase to support new catalog-level features
and improve code efficiency. Maintainers of downstream projects are encouraged to join Polaris
mailing lists to monitor project changes, suggest improvements, and engage with the Polaris
-community in case of specific compatibility concerns.</p><h2 id=semantic-versioning id=semantic-versioning>Semantic Versioning<a class=heading-anchor href=#semantic-versioning aria-label=Anchor>#</a></h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
+community in case of specific compatibility concerns.</p><h2 id=semantic-versioning>Semantic Versioning</h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
respect to REST APIs (beta and experimental APIs excepted), <a href=../policy/>Polaris Policies</a>
and user-facing <a href=../configuration/>configuration</a>.</p><p>The following are some examples of Polaris approach to SemVer in REST APIs / configuration.
These examples are for illustration purposes and should not be considered to be
diff --git a/in-dev/unreleased/federation/hive-metastore-federation/index.html b/in-dev/unreleased/federation/hive-metastore-federation/index.html
index 0c7ef8018..c4b022480 100644
--- a/in-dev/unreleased/federation/hive-metastore-federation/index.html
+++ b/in-dev/unreleased/federation/hive-metastore-federation/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can federate catalog operations to an existing Hive Metastore (HMS). This lets an external HMS remain the source of truth for table metadata while Polaris brokers access, policies, and multi-engine connectivity.
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta property="og:title" content="Hive Metastore Federation"><meta property="og:description" content="Polaris can federate catalog operations to an existing Hive Metastore (HMS). This lets an external H [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/"><meta property="article:section" content="i [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta itemprop=wordCount content="669"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Hive Metastore Federation"><meta name=twitter:descriptio [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18e [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta property="og:title" content="Hive Metastore Federation"><meta property="og:description" content="Polaris can federate catalog operations to an existing Hive Metastore (HMS). This lets an external HM [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/"><meta property="article:section" content="in [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><meta itemprop=wordCount content="669"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Hive Metastore Federation"><meta name=twitter:description [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -54,12 +54,12 @@ Build-time enablement# The Hive factory is packaged as an optional extension and
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
HMS remain the source of truth for table metadata while Polaris brokers access, policies, and
-multi-engine connectivity.</p><h2 id=build-time-enablement id=build-time-enablement>Build-time enablement<a class=heading-anchor href=#build-time-enablement aria-label=Anchor>#</a></h2><p>The Hive factory is packaged as an optional extension and is not baked into default server builds.
+multi-engine connectivity.</p><h2 id=build-time-enablement>Build-time enablement</h2><p>The Hive factory is packaged as an optional extension and is not baked into default server builds.
Include it when assembling the runtime or container images by setting the <code>NonRESTCatalogs</code> Gradle
property to include <code>HIVE</code> (and any other non-REST backends you need):</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>./gradlew :polaris-server:assemble :polaris-server:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -DNonRESTCatalogs<span style=color:#f92672>=</span>HIVE -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
</span></span></code></pre></div><p><code>runtime/server/build.gradle.kts</code> wires the extension in only when this flag is present, so binaries
-built without it will reject Hive federation requests.</p><h2 id=feature-configuration id=feature-configuration>Feature configuration<a class=heading-anchor href=#feature-configuration aria-label=Anchor>#</a></h2><p>After building Polaris with Hive support, enable the necessary feature flags in your
+built without it will reject Hive federation requests.</p><h2 id=feature-configuration>Feature configuration</h2><p>After building Polaris with Hive support, enable the necessary feature flags in your
<code>application.properties</code> file (or equivalent configuration mechanism such as environment variables or
a Kubernetes ConfigMap):</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#75715e># Allows both REST and HIVE connection type</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.features."SUPPORTED_CATALOG_CONNECTION_TYPES"</span><span style=color:#f92672>=</span><span style=color:#e6db74>["ICEBERG_REST","HIVE"]</span>
@@ -70,21 +70,21 @@ a Kubernetes ConfigMap):</p><div class=highlight><pre tabindex=0 style=color:#f8
</span></span><span style=display:flex><span><span style=color:#75715e># Enables the federation feature itself</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.features."ENABLE_CATALOG_FEDERATION"</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>For Kubernetes deployments, add these properties to the ConfigMap mounted into the Polaris container
-(typically at <code>/deployment/config/application.properties</code>).</p><h2 id=runtime-requirements id=runtime-requirements>Runtime requirements<a class=heading-anchor href=#runtime-requirements aria-label=Anchor>#</a></h2><ul><li><strong>Metastore connectivity:</strong> Expose the HMS Thrift endpoint (<code>thrift://host:port</code>) to the Polaris
+(typically at <code>/deployment/config/application.properties</code>).</p><h2 id=runtime-requirements>Runtime requirements</h2><ul><li><strong>Metastore connectivity:</strong> Expose the HMS Thrift endpoint (<code>thrift://host:port</code>) to the Polaris
deployment.</li><li><strong>Configuration discovery:</strong> Iceberg’s <code>HiveCatalog</code> loads Hadoop/Hive client settings from the
classpath. Provide <code>hive-site.xml</code> (and <code>core-site.xml</code> if needed) via
<code>HADOOP_CONF_DIR</code>/<code>HIVE_CONF_DIR</code> or an image layer.</li><li><strong>Authentication:</strong> Hive federation only supports <code>IMPLICIT</code> authentication, meaning Polaris uses
the operating-system or Kerberos identity of the running process (no stored secrets). Ensure the
service principal is logged in or holds a valid keytab/TGT before starting Polaris.</li><li><strong>Object storage role:</strong> Configure <code>polaris.service-identity.<realm>.aws-iam.*</code> (or the default
realm) so the server can assume the AWS role referenced by the catalog. The IAM role must allow
-STS access from the Polaris service identity and grant permissions to the table locations.</li></ul><h3 id=kerberos-setup-example id=kerberos-setup-example>Kerberos setup example<a class=heading-anchor href=#kerberos-setup-example aria-label=Anchor>#</a></h3><p>If your Hive Metastore enforces Kerberos, stage the necessary configuration alongside Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code cla [...]
+STS access from the Polaris service identity and grant permissions to the table locations.</li></ul><h3 id=kerberos-setup-example>Kerberos setup example</h3><p>If your Hive Metastore enforces Kerberos, stage the necessary configuration alongside Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>export KRB5_CONFIG<span style=color:#f9 [...]
</span></span><span style=display:flex><span>export HADOOP_CONF_DIR<span style=color:#f92672>=</span>/etc/polaris/hadoop-conf <span style=color:#75715e># contains hive-site.xml with HMS principal</span>
</span></span><span style=display:flex><span>export HADOOP_OPTS<span style=color:#f92672>=</span><span style=color:#e6db74>"-Djava.security.auth.login.config=/etc/polaris/jaas.conf"</span>
</span></span><span style=display:flex><span>kinit -kt /etc/polaris/keytabs/polaris.keytab polaris/service@EXAMPLE.COM
</span></span></code></pre></div><ul><li><code>hive-site.xml</code> must define <code>hive.metastore.sasl.enabled=true</code>, the metastore principal, and
client principal pattern (for example <code>hive.metastore.client.kerberos.principal=polaris/_HOST@REALM</code>).</li><li>The JAAS entry (referenced by <code>java.security.auth.login.config</code>) should use <code>useKeyTab=true</code> and
point to the same keytab shown above so the Polaris JVM can refresh credentials automatically.</li><li>Keep the keytab readable solely by the Polaris service user; the implicit authenticator consumes
-the TGT at startup and for periodic renewal.</li></ul><h2 id=creating-a-federated-catalog id=creating-a-federated-catalog>Creating a federated catalog<a class=heading-anchor href=#creating-a-federated-catalog aria-label=Anchor>#</a></h2><p>Use the Management API (or the Python CLI) to create an external catalog whose connection type is
+the TGT at startup and for periodic renewal.</li></ul><h2 id=creating-a-federated-catalog>Creating a federated catalog</h2><p>Use the Management API (or the Python CLI) to create an external catalog whose connection type is
<code>HIVE</code>. The following request registers a catalog that proxies to an HMS running on
<code>thrift://hms.example.internal:9083</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl -X POST https://<polaris-host>/management/v1/catalogs <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>"Authorization: Bearer </span>$TOKEN<span style=color:#e6db74>"</span> <span style=color:#ae81ff>\
@@ -110,7 +110,7 @@ obtain tokens that authorize against the federated metadata.</p><p><code>default
<code>allowedLocations</code> is optional—supply it only when you want to restrict writers to a specific set of
prefixes. If your IAM trust policy requires an <code>externalId</code> or explicit <code>userArn</code>, include those
optional fields in <code>storageConfigInfo</code>. Polaris persists them and supplies them when assuming the
-role cited by <code>roleArn</code> during metadata commits.</p><h2 id=limitations-and-operational-notes id=limitations-and-operational-notes>Limitations and operational notes<a class=heading-anchor href=#limitations-and-operational-notes aria-label=Anchor>#</a></h2><ul><li><strong>Single identity:</strong> Because only <code>IMPLICIT</code> authentication is permitted, Polaris cannot mix
+role cited by <code>roleArn</code> during metadata commits.</p><h2 id=limitations-and-operational-notes>Limitations and operational notes</h2><ul><li><strong>Single identity:</strong> Because only <code>IMPLICIT</code> authentication is permitted, Polaris cannot mix
multiple Hive identities in a single deployment (<code>HiveFederatedCatalogFactory</code> rejects other auth
types). Plan a deployment topology that aligns the Polaris process identity with the target HMS.</li><li><strong>Generic tables:</strong> The Hive extension exposes Iceberg tables registered in HMS. Generic table
federation is not implemented (<code>HiveFederatedCatalogFactory#createGenericCatalog</code> throws
diff --git a/in-dev/unreleased/federation/iceberg-rest-federation/index.html b/in-dev/unreleased/federation/iceberg-rest-federation/index.html
index 33bd35987..208483ad6 100644
--- a/in-dev/unreleased/federation/iceberg-rest-federation/index.html
+++ b/in-dev/unreleased/federation/iceberg-rest-federation/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can federate an external Iceberg REST catalog (e.g., another Polaris deployment, AWS Glue, or a custom Iceberg REST implementation), enabling a Polaris service to access table and view entities managed by remote Iceberg REST Catalogs.
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta property="og:title" content="Iceberg REST Federation"><meta property="og:description" content="Polaris can federate an external Iceberg REST catalog (e.g., another Polaris deployment, AWS Glue, or [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/"><meta property="article:section" content="in [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta itemprop=wordCount content="274"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Iceberg REST Federation"><meta name=twitter:description [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18 [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta property="og:title" content="Iceberg REST Federation"><meta property="og:description" content="Polaris can federate an external Iceberg REST catalog (e.g., another Polaris deployment, AWS Glue, or [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/"><meta property="article:section" content="in- [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><meta itemprop=wordCount content="274"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Iceberg REST Federation"><meta name=twitter:description [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18e [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -53,10 +53,10 @@ Runtime requirements# REST endpoint: The remote service must expose the Iceberg
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-REST implementation), enabling a Polaris service to access table and view entities managed by remote Iceberg REST Catalogs.</p><h2 id=runtime-requirements id=runtime-requirements>Runtime requirements<a class=heading-anchor href=#runtime-requirements aria-label=Anchor>#</a></h2><ul><li><strong>REST endpoint:</strong> The remote service must expose the Iceberg REST specification. Configure
+REST implementation), enabling a Polaris service to access table and view entities managed by remote Iceberg REST Catalogs.</p><h2 id=runtime-requirements>Runtime requirements</h2><ul><li><strong>REST endpoint:</strong> The remote service must expose the Iceberg REST specification. Configure
firewalls so Polaris can reach the base URI you provide in the connection config.</li><li><strong>Authentication:</strong> Polaris forwards requests using the credentials defined in
<code>ConnectionConfigInfo.AuthenticationParameters</code>. OAuth2 client credentials, bearer tokens, and AWS
-SigV4 are supported; choose the scheme the remote service expects.</li></ul><h2 id=creating-a-federated-rest-catalog id=creating-a-federated-rest-catalog>Creating a federated REST catalog<a class=heading-anchor href=#creating-a-federated-rest-catalog aria-label=Anchor>#</a></h2><p>The snippet below registers an external catalog that forwards to a remote Polaris server using OAuth2
+SigV4 are supported; choose the scheme the remote service expects.</li></ul><h2 id=creating-a-federated-rest-catalog>Creating a federated REST catalog</h2><p>The snippet below registers an external catalog that forwards to a remote Polaris server using OAuth2
client credentials. <code>iceberg-remote-catalog-name</code> is optional; supply it when the remote server multiplexes
multiple logical catalogs under one URI.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>polaris catalogs create <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --type EXTERNAL <span style=color:#ae81ff>\
@@ -73,7 +73,7 @@ multiple logical catalogs under one URI.</p><div class=highlight><pre tabindex=0
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-client-scopes <span style=color:#e6db74>"PRINCIPAL_ROLE:ALL"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> analytics_rest
</span></span></code></pre></div><p>Refer to the <a href=../command-line-interface.md#catalogs>CLI documentation</a> for details on alternative authentication types such as BEARER or SIGV4.</p><p>Grant catalog roles to principal roles the same way you do for internal catalogs so compute engines
-receive tokens with access to the federated namespace.</p><h2 id=operational-notes id=operational-notes>Operational notes<a class=heading-anchor href=#operational-notes aria-label=Anchor>#</a></h2><ul><li><strong>Connectivity checks:</strong> Polaris does not lazily probe the remote service; catalog creation fails if
+receive tokens with access to the federated namespace.</p><h2 id=operational-notes>Operational notes</h2><ul><li><strong>Connectivity checks:</strong> Polaris does not lazily probe the remote service; catalog creation fails if
the REST endpoint is unreachable or authentication is rejected.</li><li><strong>Feature parity:</strong> Federation exposes whatever table/namespace operations the remote service
implements. Unsupported features return the remote error directly to callers.</li><li><strong>Generic tables:</strong> The REST federation path currently surfaces Iceberg tables only; generic table
federation is not implemented.</li></ul></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__lin [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/federation/index.html b/in-dev/unreleased/federation/index.html
index 8c835ad53..eb8c4395a 100644
--- a/in-dev/unreleased/federation/index.html
+++ b/in-dev/unreleased/federation/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/federation/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel= [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Federation"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Federation"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/federation/index.xml b/in-dev/unreleased/federation/index.xml
index 73f14ac9e..3c06f2a92 100644
--- a/in-dev/unreleased/federation/index.xml
+++ b/in-dev/unreleased/federation/index.xml
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Federation on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/federation/</link><description>Recent content in Federation on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/federation/index.xml" rel="self" type="application/rss+ [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</ [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item></channel></rss>
\ No newline at end of file
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</p [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/generic-table/index.html b/in-dev/unreleased/generic-table/index.html
index 3cb64f47d..39fbe6413 100644
--- a/in-dev/unreleased/generic-table/index.html
+++ b/in-dev/unreleased/generic-table/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The generic tables are non-Iceberg tables. Table can be multiple formats including Delta, CSV, etc. With this framework, you can:
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:"><meta property="og:title" content="Generic Table"><meta property="og:description" content="The generic tables are non-Iceberg tables. Table can be multiple formats including Delta, CSV, etc. With this framework, you can:
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:"><meta property="og:title" content="Generic Table"><meta property="og:description" content="The generic tables are non-Iceberg tables. Table can be multiple formats including Delta, CSV, etc. With this framework, you can:
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/generic-table/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Generic Table"><meta itemprop=description content="The generic tables are non-Iceberg tables. [...]
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/generic-table/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Generic Table"><meta itemprop=description content="The generic tables are non-Iceberg tables. [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:"><meta itemprop=wordCount content="772"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Generic Table"><meta name=twitter:description content="The generic tables are non-Iceberg tables. Table can be multiple formats including Delta, CSV, etc. With th [...]
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:"><meta itemprop=wordCount content="772"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Generic Table"><meta name=twitter:description content="The generic tables are non-Iceberg tables. Table can be multiple formats including Delta, CSV, etc. With thi [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2 [...]
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2C [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,8 +56,8 @@ Generic tables are in beta. Please use it with caution and report any issue if e
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-shows the comparison between the two APIs:</p><table><thead><tr><th>Operations</th><th><strong>Iceberg Table API</strong></th><th><strong>Generic Table API</strong></th></tr></thead><tbody><tr><td>Create Table</td><td>Create an Iceberg table</td><td>Create a generic table</td></tr><tr><td>Load Table</td><td>Load an Iceberg table. If the table to load is a generic table, you need to call the Generic Table loadTable API, otherwise a TableNotFoundException will be thrown</td><td>Load a gene [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+shows the comparison between the two APIs:</p><table><thead><tr><th>Operations</th><th><strong>Iceberg Table API</strong></th><th><strong>Generic Table API</strong></th></tr></thead><tbody><tr><td>Create Table</td><td>Create an Iceberg table</td><td>Create a generic table</td></tr><tr><td>Load Table</td><td>Load an Iceberg table. If the table to load is a generic table, you need to call the Generic Table loadTable API, otherwise a TableNotFoundException will be thrown</td><td>Load a gene [...]
request body looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"<table_name>"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"format"</span>: <span style=color:#e6db74>"<table_format>"</span>,
@@ -79,7 +79,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "key1": "value1"
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }'</span>
-</span></span></code></pre></div><h3 id=load-a-generic-table id=load-a-generic-table>Load a Generic Table<a class=heading-anchor href=#load-a-generic-table aria-label=Anchor>#</a></h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;- [...]
+</span></span></code></pre></div><h3 id=load-a-generic-table>Load a Generic Table</h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=dis [...]
</span></span></code></pre></div><p>And the response looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"table"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"delta_table"</span>,
@@ -91,7 +91,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=list-generic-tables id=list-generic-tables>List Generic Tables<a class=heading-anchor href=#list-generic-tables aria-label=Anchor>#</a></h3><p>The REST endpoint for listing the generic tables under a given
+</span></span></code></pre></div><h3 id=list-generic-tables>List Generic Tables</h3><p>The REST endpoint for listing the generic tables under a given
namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/</code>.</p><p>Following curl command lists all tables under namespace delta_namespace:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
</span></span></code></pre></div><p>Example Response:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"identifiers"</span>: [
@@ -102,5 +102,5 @@ namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-table
</span></span><span style=display:flex><span> ],
</span></span><span style=display:flex><span> <span style=color:#f92672>"next-page-token"</span>: <span style=color:#66d9ef>null</span>
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=drop-a-generic-table id=drop-a-generic-table>Drop a Generic Table<a class=heading-anchor href=#drop-a-generic-table aria-label=Anchor>#</a></h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size [...]
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=current-limitations id=current-limitations>Current Limitations<a class=heading- [...]
\ No newline at end of file
+</span></span></code></pre></div><h3 id=drop-a-generic-table>Drop a Generic Table</h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=current-limitations>Current Limitations</h2><p>There are some known limitations for the generic table support:</p><ol><li>Generic tables provide limited spec infor [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/binary-distribution/index.html b/in-dev/unreleased/getting-started/binary-distribution/index.html
index ecfc11303..c538bc8c4 100644
--- a/in-dev/unreleased/getting-started/binary-distribution/index.html
+++ b/in-dev/unreleased/getting-started/binary-distribution/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Use this guide to quickly start running Polaris using the pre-built binary distribution.
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
You can verify the server is running by checking the health endpoint:"><meta property="og:title" content="Binary Distribution"><meta property="og:description" content="Use this guide to quickly start running Polaris using the pre-built binary distribution.
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
You can verify the server is running by checking the health endpoint:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/binary-distribution/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Binary Distribution"><meta itemprop=description content="Use this guide to quickly start running Polaris using the pre-built binary distribution.
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
You can verify the server is running by checking the health endpoint:"><meta itemprop=wordCount content="73"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Binary Distribution"><meta name=twitter:description content="Use this guide to quickly start running Polaris using the pre-built binary distribution.
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
-You can verify the server is running by checking the health endpoint:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
+You can verify the server is running by checking the health endpoint:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribut [...]
@@ -64,7 +64,7 @@ You can verify the server is running by checking the health endpoint:"><link rel
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span>cd polaris-distribution-1.2.0-incubating
</span></span></code></pre></div><p>Start the Polaris server:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>bin/server
</span></span></code></pre></div><p>The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.</p><p>You can verify the server is running by checking the health endpoint:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl http://localhost:8182/q/health
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/index.html
index 71795e083..8126501bf 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="For the polaris catalogs create command there are few azure only options
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@
</span></span><span style=display:flex><span>--tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage
</span></span><span style=display:flex><span>--multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage
</span></span><span style=display:flex><span>--consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location
-</span></span></code></pre></div><h3 id=example id=example>Example<a class=heading-anchor href=#example aria-label=Anchor>#</a></h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>CLIENT_ID<span style=color:#f92672>=</span>root <span style=color:#ae81ff>\
+</span></span></code></pre></div><h3 id=example>Example</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>CLIENT_ID<span style=color:#f92672>=</span>root <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>DEFAULT_BASE_LOCATION<span style=color:#f92672>=</span>abfss://tenant123@blob.core.windows.net <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>TENANT_ID<span style=color:#f92672>=</span>tenant123.onmicrosoft.com <span style=color:#ae81ff>\
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-gcs/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-gcs/index.html
index 7090a203e..80622229c 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-gcs/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-gcs/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="For the polaris catalogs create command there are few gcs only options
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -54,7 +54,7 @@
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span>--service-account (Only for GCS) The service account to use when connecting to GCS
-</span></span></code></pre></div><h3 id=example id=example>example<a class=heading-anchor href=#example aria-label=Anchor>#</a></h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>CLIENT_ID<span style=color:#f92672>=</span>root <span style=color:#ae81ff>\
+</span></span></code></pre></div><h3 id=example>example</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>CLIENT_ID<span style=color:#f92672>=</span>root <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>DEFAULT_BASE_LOCATION<span style=color:#f92672>=</span>gs://my-ml-bucket/predictions/ <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>SERVICE_ACCOUNT<span style=color:#f92672>=</span>serviceAccount:my-service-account@my-project.iam.gserviceaccount.com <span style=color:#ae81ff>\
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-migration/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-migration/index.html
index 0633dc0cf..0cc74ed70 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/catalog-migration/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/catalog-migration/index.html
@@ -3,7 +3,7 @@
Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris. "><meta property="og:title" content="Migrating from Existing Iceberg Catalogs"><meta property="og:description" content="There are two ways to migrate an existing I [...]
Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris. "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/catal [...]
Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris. "><meta itemprop=wordCount content="63"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Migrating from [...]
-Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris. "><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc [...]
+Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris. "><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/index.html
index 991a06f8b..4d225e8e3 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Creating a Catalog"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Creating a Catalog"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,7 +48,7 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>DEFAULT_BASE_LOCATION<span style=color:#f92672>=</span>s3://example-bucket/my_data <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>ROLE_ARN<span style=color:#f92672>=</span>arn:aws:iam::111122223333:role/ExampleCorpRole <span style=color:#ae81ff>\
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/index.xml b/in-dev/unreleased/getting-started/creating-a-catalog/index.xml
index df1defae3..80fc0d1bf 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/index.xml
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/index.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Creating a Catalog on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/</link><description>Recent content in Creating a Catalog on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/getting-started [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/index.html
index 515afd70a..77e54055a 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/index.html
@@ -7,7 +7,7 @@ CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my
Note: the name quickstart_catalog from the example below is referenced in other Getting Started examples, but of course, it can be any valid catalog name.
CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my_data ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole REGION=us-west-2 EXTERNAL_ID=12345678901234567890 ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ --region ${REGION} \ --external-id ${EXTERNAL_ID} \ quickstart_catalog "><meta itemprop=wordCount content="84" [...]
Note: the name quickstart_catalog from the example below is referenced in other Getting Started examples, but of course, it can be any valid catalog name.
-CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my_data ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole REGION=us-west-2 EXTERNAL_ID=12345678901234567890 ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ --region ${REGION} \ --external-id ${EXTERNAL_ID} \ quickstart_catalog "><link rel=preload href=/scss/main.min [...]
+CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my_data ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole REGION=us-west-2 EXTERNAL_ID=12345678901234567890 ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ --region ${REGION} \ --external-id ${EXTERNAL_ID} \ quickstart_catalog "><link rel=preload href=/scss/main.min [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/index.html
index 0ea5d1f62..732e9d86f 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/index.html
@@ -3,7 +3,7 @@
Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris)."><meta property="og:title" content="Creating a catalog on MinIO"><meta property="og:description" content="When creating a catalog based on MinIO storage it is important to configure the endpoint property to point to your own MinIO cluster. If the endpoint property is not set, Polaris will attempt to contact AWS [...]
Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris)."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Creating a catalog on MinIO"><meta itemprop=description co [...]
Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris)."><meta itemprop=wordCount content="234"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Creating a catalog on MinIO"><meta name=twitter:description content="When creating a catalog based on MinIO storage it is important to configure the endpoint propert [...]
-Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7 [...]
+Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7 [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/index.html
index ac217275d..4a0b02b5e 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/index.html
@@ -3,7 +3,7 @@
Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage."><meta property="og:title" content="Creating a catalog on Apache Ozone"><meta property="og:description" content="When creating a catalog based on Apache Ozone storage it is important to configure the endpoint property to point to your own storage cluster. If the [...]
Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Creatin [...]
Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage."><meta itemprop=wordCount content="286"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Creating a catalog on Apache Ozone"><meta name=twitter:description content="When creating a catalog based on Apach [...]
-Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1 [...]
+Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1 [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/creating-a-catalog/s3/index.html b/in-dev/unreleased/getting-started/creating-a-catalog/s3/index.html
index 6797bf74b..3d0a69c1e 100644
--- a/in-dev/unreleased/getting-started/creating-a-catalog/s3/index.html
+++ b/in-dev/unreleased/getting-started/creating-a-catalog/s3/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.p [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Creating a catalog on S3 compatible cloud providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Creating a catalog on S3 compatible cloud providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/index.html b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/index.html
index 5668b3270..1df609cd1 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/index.html
@@ -7,7 +7,7 @@ There must be at least two subnets created in the VPC and region in which your E
The requirements to run the script below are:
There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><meta itemprop=wordCount content="257"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Amazon Web Services (AWS)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Amazon RDS for PostgreSQL ins [...]
The requirements to run the script below are:
-There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
+There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -61,8 +61,8 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-aws.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
check out the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/>Creating a Catalog</a> and
-<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:fl [...]
+<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export ASSETS_PATH<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>pw [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/in-dev/unreleased/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=too [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-azure/index.html b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-azure/index.html
index 6607c6dc2..8247a92d9 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-azure/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-azure/index.html
@@ -3,7 +3,7 @@
The requirements to run the script below are:"><meta property="og:title" content="Deploying Polaris on Azure"><meta property="og:description" content="Build and launch Polaris using the Azure Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres instance holding all Polaris data. Additionally, Polaris will be bootstrapped to use this database and Docker c [...]
The requirements to run the script below are:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-azure/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Deploying Polaris on Azure"><meta itemprop=description content="Build and launch Polaris using the Azure Startup Script at the location provided in the command below. This script will [...]
The requirements to run the script below are:"><meta itemprop=wordCount content="205"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Azure"><meta name=twitter:description content="Build and launch Polaris using the Azure Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres [...]
-The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
+The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -57,8 +57,8 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-azure.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
check out the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/>Creating a Catalog</a> and
-<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:fl [...]
+<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export ASSETS_PATH<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>pw [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/in-dev/unreleased/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=too [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-gcp/index.html b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-gcp/index.html
index 868f2f853..705e57c0a 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-gcp/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-gcp/index.html
@@ -7,7 +7,7 @@ Install the gcloud CLI, if it is not already installed on the GCP VM."><meta pro
The requirements to run the script below are:
Install the gcloud CLI, if it is not already installed on the GCP VM."><meta itemprop=wordCount content="207"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Google Cloud Platform (GCP)"><meta name=twitter:description content="Build and launch Polaris using the GCP Startup Script at the location provided in the command below. This script will start a Cloud SQL for PostgreSQL instance, which will be used as t [...]
The requirements to run the script below are:
-Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
+Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -61,8 +61,8 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-gcp.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
check out the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/>Creating a Catalog</a> and
-<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:fl [...]
+<a href=/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export ASSETS_PATH<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>pw [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/in-dev/unreleased/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=too [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/index.html b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/index.html
index 501ecc4bd..808fbb9b2 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-tou [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/index.html b/in-dev/unreleased/getting-started/deploying-polaris/index.html
index 03ea8a71b..729d54593 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png s [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with p [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with p [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/index.xml b/in-dev/unreleased/getting-started/deploying-polaris/index.xml
index a8a599967..923a8c684 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/index.xml
+++ b/in-dev/unreleased/getting-started/deploying-polaris/index.xml
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Deploying Polaris on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/</link><description>Recent content in Deploying Polaris on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/getting-started/de [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/deploying-polaris/local-deploy/index.html b/in-dev/unreleased/getting-started/deploying-polaris/local-deploy/index.html
index f888361b3..5a95c1df1 100644
--- a/in-dev/unreleased/getting-started/deploying-polaris/local-deploy/index.html
+++ b/in-dev/unreleased/getting-started/deploying-polaris/local-deploy/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can be deployed via a docker image or as a standalone process. Before starting, be sure that you&rsquo;ve satisfied the relevant prerequisites detailed in the previous page.
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:title" content="Deploying Polaris locally"><meta property="og:description" content="Polaris can be deployed [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getti [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta itemprop=wordCount content="577"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=tw [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,14 +56,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker id=running-polaris-with-docker>Running Polaris with Docker<a class=heading-anchor href=#running-polaris-with-docker aria-label=Anchor>#</a></h2><p>To start using Polaris in Docker and launch Polaris, which is packaged wit [...]
+</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker>Running Polaris with Docker</h2><p>To start using Polaris in Docker and launch Polaris, which is packaged with a Postgres instance, Apache Spark, and Trino.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;back [...]
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_JDBC_URL<span style=color:#f92672>=</span>jdbc:postgresql://postgres:5432/POLARIS
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_USERNAME<span style=color:#f92672>=</span>postgres
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_PASSWORD<span style=color:#f92672>=</span>postgres
@@ -76,13 +76,13 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
spark-sql-1 | Spark master: local[*], Application Id: local-1743745174604
spark-sql-1 | 25/04/04 05:39:38 WARN SparkSQLCLIDriver: WARNING: Directory for Hive history file: /home/spark does not exist. History will not be available during this session.
spark-sql-1 | 25/04/04 05:39:39 WARN RESTSessionCatalog: Iceberg REST client is missing the OAuth2 server URI configuration and defaults to http://polaris:8181/api/catalogv1/oauth/tokens. This automatic fallback will be removed in a future Iceberg release.It is recommended to configure the OAuth2 endpoint using the 'oauth2-server-uri' property to be prepared. This warning will disappear if the OAuth2 endpoint is explicitly configured. See https://github.com/apache/iceber [...]
-</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process<a class=heading-anchor href=#running-polaris-as-a-standalone-process aria-label=Anchor>#</a></h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><p>Run the following command to start [...]
+</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process</h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><p>Run the following command to start Polaris server:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab- [...]
</span></span></code></pre></div><p>You should see output for some time as Polaris builds and starts up. Eventually, you won’t see any more logs and should see messages that resemble the following:</p><pre tabindex=0><code>INFO [io.quarkus] [,] [,,,] (main) Apache Polaris Server (incubating) <version> on JVM (powered by Quarkus <version>) started in 1.911s. Listening on: http://0.0.0.0:8181. Management interface listening on http://0.0.0.0:8182.
INFO [io.quarkus] [,] [,,,] (main) Profile prod activated.
INFO [io.quarkus] [,] [,,,] (main) Installed features: [...]
</code></pre><p>At this point, Polaris is running.</p><p>When using a Gradle-launched Polaris instance in this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down.
-For more information on how to configure Polaris for production usage, see the <a href=/in-dev/unreleased/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>s3cr3t</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing id=installing-apache-spark-and-trino-locally-for-t [...]
-</span></span></code></pre></div><h4 id=trino id=trino>Trino<a class=heading-anchor href=#trino aria-label=Anchor>#</a></h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight [...]
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
+For more information on how to configure Polaris for production usage, see the <a href=/in-dev/unreleased/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>s3cr3t</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing>Installing Apache Spark and Trino Locally for Test [...]
+</span></span></code></pre></div><h4 id=trino>Trino</h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-t [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris,
check out the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/>Creating a Catalog</a> and
<a href=https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/>Using Polaris</a> pages.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/index.html b/in-dev/unreleased/getting-started/index.html
index 0907a7b1f..56acbd71c 100644
--- a/in-dev/unreleased/getting-started/index.html
+++ b/in-dev/unreleased/getting-started/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started with Apache Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proje [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started with Apache Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proje [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 active td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span class=td-sidebar-nav-active-item>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=ch [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,4 +48,4 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
\ No newline at end of file
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/index.xml b/in-dev/unreleased/getting-started/index.xml
index c8fa8b8d7..acced938a 100644
--- a/in-dev/unreleased/getting-started/index.xml
+++ b/in-dev/unreleased/getting-started/index.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started with Apache Polaris on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/</link><description>Recent content in Getting Started with Apache Polaris on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/ [...]
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed &amp; running on your machine Running# Run the following command:
+Prerequisites Have Docker (with Docker Compose v2) installed &amp; running on your machine Running Run the following command:
curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:</description></item><item><title>Binary Distribution</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/binary-distribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/binary-distribution/</guid><description>Use this guide to quickly sta [...]
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
You can verify the server is running by checking the health endpoint:</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/</guid><description>This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Inc [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item></channel></rss>
\ No newline at end of file
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/install-dependencies/index.html b/in-dev/unreleased/getting-started/install-dependencies/index.html
index fce796e27..fcde0a238 100644
--- a/in-dev/unreleased/getting-started/install-dependencies/index.html
+++ b/in-dev/unreleased/getting-started/install-dependencies/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Polaris locally, and finally includes examples of how to use Polaris with Apache Spark™.
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/"><meta property="article:section" content="in-dev"><meta itemprop=name content= [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="501"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an in [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><s [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/"><meta property="article:section" content="in-dev"><meta itemprop=name content=" [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="501"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an int [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><sc [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -52,11 +52,11 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span></code></pre></div><p>Please follow instructions from the <a href=https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>Git Documentation</a> for instructions on installing Git on other platforms.</p><p>Then, use git to clone the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>git clone https://github.c [...]
-</span></span></code></pre></div><h2 id=docker id=docker>Docker<a class=heading-anchor href=#docker aria-label=Anchor>#</a></h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p [...]
+</span></span></code></pre></div><h2 id=docker>Docker</h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p><p>Instructions to install Docker can be found on the <a href=https:/ [...]
</span></span></code></pre></div><p>There could be a <a href=https://github.com/apache/polaris/pull/971>Docker permission issues</a> related to seccomp configuration. To resolve these issues, set the <code>seccomp</code> profile to “unconfined” when running a container. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
-</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux id=docker-on-amazon-linux>Docker on Amazon Linux<a class=heading-anchor href=#docker-on-amazon-linux aria-label=Anchor>#</a></h3><p>Docker can be installed using a modification to the CentOS instructions. For e [...]
+</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux>Docker on Amazon Linux</h3><p>Docker can be installed using a modification to the CentOS instructions. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
</span></span><span style=display:flex><span><span style=color:#75715e># Remove old version</span>
</span></span><span style=display:flex><span>sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
</span></span><span style=display:flex><span><span style=color:#75715e># Install dnf plugin</span>
@@ -67,12 +67,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
</span></span><span style=display:flex><span>sudo sed -i <span style=color:#e6db74>'s/$releasever/9/g'</span> /etc/yum.repos.d/docker-ce.repo
</span></span><span style=display:flex><span><span style=color:#75715e># Install as usual</span>
</span></span><span style=display:flex><span>sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-</span></span></code></pre></div><h3 id=confirm-docker-installation id=confirm-docker-installation>Confirm Docker Installation<a class=heading-anchor href=#confirm-docker-installation aria-label=Anchor>#</a></h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display: [...]
+</span></span></code></pre></div><h3 id=confirm-docker-installation>Confirm Docker Installation</h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker version
</span></span><span style=display:flex><span>docker compose version
</span></span></code></pre></div><p>Also make sure Docker is running and is able to run a sample Docker container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run hello-world
-</span></span></code></pre></div><h2 id=java id=java>Java<a class=heading-anchor href=#java aria-label=Anchor>#</a></h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For ex [...]
+</span></span></code></pre></div><h2 id=java>Java</h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For example, to install Java 21 via <a href=https://brew.sh/>homebrew</a [...]
</span></span><span style=display:flex><span>brew install openjdk@21 jenv
</span></span><span style=display:flex><span>jenv add <span style=color:#66d9ef>$(</span>brew --prefix openjdk@21<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>jenv local <span style=color:#ae81ff>21</span>
-</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq id=jq>jq<a class=heading-anchor href=#jq aria-label=Anchor>#</a></h2><p>Most Polaris Quickstart scripts require <a href=(https://jqlang.org/download/)>jq</a>. You can install jq using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4 [...]
+</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq>jq</h2><p>Most Polaris Quickstart scripts require <a href=(https://jqlang.org/download/)>jq</a>. You can install jq using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=displa [...]
</span></span></code></pre></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/quick-start/index.html b/in-dev/unreleased/getting-started/quick-start/index.html
index dfd928981..d1ac897ae 100644
--- a/in-dev/unreleased/getting-started/quick-start/index.html
+++ b/in-dev/unreleased/getting-started/quick-start/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="⚠️ Warning
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed &amp; running on your machine Running# Run the following command:
+Prerequisites Have Docker (with Docker Compose v2) installed &amp; running on your machine Running Run the following command:
curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:"><meta property="og:title" content="Quickstart"><meta property="og:description" content="⚠️ Warning
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed & running on your machine Running# Run the following command:
+Prerequisites Have Docker (with Docker Compose v2) installed & running on your machine Running Run the following command:
curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/quick-start/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Quickstart"><meta itemprop=description content="⚠️ Warning
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed & running on your machine Running# Run the following command:
+Prerequisites Have Docker (with Docker Compose v2) installed & running on your machine Running Run the following command:
curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:"><meta itemprop=wordCount content="116"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Quickstart"><meta name=twitter:description content="⚠️ Warning
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed & running on your machine Running# Run the following command:
-curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
+Prerequisites Have Docker (with Docker Compose v2) installed & running on your machine Running Run the following command:
+curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleased [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span class=td-sidebar-nav-active-item>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedget [...]
@@ -60,5 +60,5 @@ curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/qu
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span></code></pre></div><p>This command will:</p><ol><li>Create a Catalog named <code>quickstart_catalog</code> with MinIO-backed storage.</li><li>Create a user principal <code>quickstart_user</code> with full access to the catalog.</li></ol><p>Once the command has been run, you will see examples on how to interact with this Polaris server in the logs.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/getting-started/using-polaris/index.html b/in-dev/unreleased/getting-started/using-polaris/index.html
index 04f611879..d7aaa380d 100644
--- a/in-dev/unreleased/getting-started/using-polaris/index.html
+++ b/in-dev/unreleased/getting-started/using-polaris/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with power [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with power [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,11 +48,11 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>YOUR_CLIENT_SECRET
</span></span></code></pre></div><p>Refer to the <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/>Creating a Catalog</a> page for instructions on defining a
catalog for your specific storage type. The following examples assume the catalog’s name is <code>quickstart_catalog</code>.</p><p>In Polaris, the <a href=/in-dev/unreleased/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/in-dev/unreleased/entities/#table>tables</a> and <a href=/in-dev/unreleased/entities/#view>views</a> are organized under.</p><p>The <code>DEFAULT_BASE_LOCATION</code> value you provided at catalog creation time will be the default [...]
-this catalog should be stored in.</p><p>Additionally, if Polaris is running somewhere other than <code>localhost:8181</code>, you can specify the correct hostname and port by providing <code>--host</code> and <code>--port</code> flags. For the full set of options supported by the CLI, please refer to the <a href=/in-dev/unreleased/command-line-interface/>docs</a>.</p><h3 id=creating-a-principal-and-assigning-it-privileges id=creating-a-principal-and-assigning-it-privileges>Creating a Pri [...]
+this catalog should be stored in.</p><p>Additionally, if Polaris is running somewhere other than <code>localhost:8181</code>, you can specify the correct hostname and port by providing <code>--host</code> and <code>--port</code> flags. For the full set of options supported by the CLI, please refer to the <a href=/in-dev/unreleased/command-line-interface/>docs</a>.</p><h3 id=creating-a-principal-and-assigning-it-privileges>Creating a Principal and Assigning it Privileges</h3><p>With a cat [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-secret <span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> principals <span style=color:#ae81ff>\
@@ -102,7 +102,7 @@ this catalog should be stored in.</p><p>Additionally, if Polaris is running some
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog quickstart_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role quickstart_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>This grants the <a href=/in-dev/unreleased/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The sam [...]
+</span></span></code></pre></div><p>This grants the <a href=/in-dev/unreleased/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The sam [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.10.0,org.apache.iceberg:iceberg-aws-bundle:1.10.0 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.warehouse<span style=color:#f92672>=</span>quickstart_catalog <span style=color:#ae81ff>\
@@ -114,11 +114,11 @@ this catalog should be stored in.</p><p>Additionally, if Polaris is running some
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.scope<span style=color:#f92672>=</span><span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span style=color:#f92672>=</span>true <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.client.region<span style=color:#f92672>=</span>us-west-2
-</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container id=using-spar [...]
+</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container>Using Spark S [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml rm -f spark-sql
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml up -d --no-deps spark-sql
</span></span></code></pre></div><p>Attach to the running spark-sql container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker attach <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>spark-sql<span style=color:#66d9ef>)</span>
-</span></span></code></pre></div><h4 id=sample-commands id=sample-commands>Sample Commands<a class=heading-anchor href=#sample-commands aria-label=Anchor>#</a></h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
+</span></span></code></pre></div><h4 id=sample-commands>Sample Commands</h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace.<span style=color:#66d9ef>schema</span>;
</span></span><span style=display:flex><span>USE NAMESPACE quickstart_namespace.<span style=color:#66d9ef>schema</span>;
@@ -143,7 +143,7 @@ SELECT * FROM quickstart_table;
</span></span></code></pre></div><p>Spark will lose access to the table:</p><pre tabindex=0><code>INSERT INTO quickstart_table VALUES (1, 'some data');
org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quickstart_user' with activated PrincipalRoles '[]' and activated grants via '[quickstart_catalog_role, quickstart_user_role]' is not authorized for op LOAD_TABLE_WITH_READ_DELEGATION
-</code></pre><h3 id=connecting-with-trino id=connecting-with-trino>Connecting with Trino<a class=heading-anchor href=#connecting-with-trino aria-label=Anchor>#</a></h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker- [...]
+</code></pre><h3 id=connecting-with-trino>Connecting with Trino</h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml stop trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml rm -f trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/jdbc/docker-compose.yml up -d --no-deps trino
</span></span></code></pre></div><p>Attach to the running Trino container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker exec -it <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>trino<span style=color:#66d9ef>)</span> trino
@@ -164,7 +164,7 @@ org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quic
</span></span></code></pre></div><p>Trino will lose access to the table:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#66d9ef>SELECT</span> <span style=color:#f92672>*</span> <span style=color:#66d9ef>FROM</span> iceberg.quickstart_schema.quickstart_table;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal <span style=color:#e6db74>'quickstart_user'</span> <span style=color:#66d9ef>with</span> activated PrincipalRoles <span style=color:#e6db74>'[]'</span> <span style=color:#66d9ef>and</span> activated grants via <span style=color:#e6db74>'[quickstart_catalog_role, quickstart_user_role]'</span> <span style=color:#66d9ef>is</span> <span style=color:#66d9 [...]
-</span></span></code></pre></div><h3 id=connecting-with-pyiceberg id=connecting-with-pyiceberg>Connecting with PyIceberg<a class=heading-anchor href=#connecting-with-pyiceberg aria-label=Anchor>#</a></h3><h4 id=using-credentials id=using-credentials>Using Credentials<a class=heading-anchor href=#using-credentials aria-label=Anchor>#</a></h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-pytho [...]
+</span></span></code></pre></div><h3 id=connecting-with-pyiceberg>Connecting with PyIceberg</h3><h4 id=using-credentials>Using Credentials</h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span><span style=color:#f92672>from</span> pyiceberg.catalog <span style=color:#f92672>import</span> load_catalog
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>catalog <span style=color:#f92672>=</span> load_catalog(
</span></span><span style=display:flex><span> type<span style=color:#f92672>=</span><span style=color:#e6db74>'rest'</span>,
@@ -173,7 +173,7 @@ org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quic
</span></span><span style=display:flex><span> scope<span style=color:#f92672>=</span><span style=color:#e6db74>"PRINCIPAL_ROLE:ALL"</span>,
</span></span><span style=display:flex><span> credential<span style=color:#f92672>=</span><span style=color:#e6db74>f</span><span style=color:#e6db74>"</span><span style=color:#e6db74>{</span>CLIENT_ID<span style=color:#e6db74>}</span><span style=color:#e6db74>:</span><span style=color:#e6db74>{</span>CLIENT_SECRET<span style=color:#e6db74>}</span><span style=color:#e6db74>"</span>,
</span></span><span style=display:flex><span>)
-</span></span></code></pre></div><p>If the <code>load_catalog</code> function is used with credentials, then PyIceberg will automatically request an authorization token from the <code>v1/oauth/tokens</code> endpoint, and will later use this token to prove its identity to the Polaris Catalog.</p><h4 id=using-a-token id=using-a-token>Using a Token<a class=heading-anchor href=#using-a-token aria-label=Anchor>#</a></h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color [...]
+</span></span></code></pre></div><p>If the <code>load_catalog</code> function is used with credentials, then PyIceberg will automatically request an authorization token from the <code>v1/oauth/tokens</code> endpoint, and will later use this token to prove its identity to the Polaris Catalog.</p><h4 id=using-a-token>Using a Token</h4><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-l [...]
</span></span><span style=display:flex><span><span style=color:#f92672>import</span> requests
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># Step 1: Get OAuth token</span>
@@ -193,14 +193,14 @@ org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quic
</span></span><span style=display:flex><span> warehouse<span style=color:#f92672>=</span><span style=color:#e6db74>'quickstart_catalog'</span>,
</span></span><span style=display:flex><span> token<span style=color:#f92672>=</span>token,
</span></span><span style=display:flex><span>)
-</span></span></code></pre></div><p>It is possible to use <code>load_catalog</code> function by providing an authorization token directly. This method is useful when using an external identity provider (e.g. Google Identity).</p><h3 id=connecting-using-rest-apis id=connecting-using-rest-apis>Connecting Using REST APIs<a class=heading-anchor href=#connecting-using-rest-apis aria-label=Anchor>#</a></h3><p>To access Polaris from the host machine, first request an access token:</p><div class [...]
+</span></span></code></pre></div><p>It is possible to use <code>load_catalog</code> function by providing an authorization token directly. This method is useful when using an external identity provider (e.g. Google Identity).</p><h3 id=connecting-using-rest-apis>Connecting Using REST APIs</h3><p>To access Polaris from the host machine, first request an access token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --resolve polaris:8181:127.0.0.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --user <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span>:<span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'scope=PRINCIPAL_ROLE:ALL'</span> | jq -r .access_token<span style=color:#66d9ef>)</span>
</span></span></code></pre></div><p>Then, use the access token in the Authorization header when accessing Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/principal-roles -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
</span></span><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/catalogs/quickstart_catalog -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><ul><li>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/>Using Keycloak as the external identity provider</a>.</li><li>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/>Using Polaris with telemetry tools</a>.</li><li>Visit <a href=/in-dev/unreleased/configuring-polaris-for-production/>Conf [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><ul><li>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/>Using Keycloak as the external identity provider</a>.</li><li>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/>Using Polaris with telemetry tools</a>.</li><li>Visit <a href=/in-dev/unreleased/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</li><li>A Getting Started experience for u [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -f getting-started/assets/postgres/docker-compose-postgres.yml <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -f getting-started/jdbc/docker-compose-bootstrap-db.yml <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -f getting-started/jdbc/docker-compose.yml <span style=color:#ae81ff>\
diff --git a/in-dev/unreleased/getting-started/using-polaris/index.xml b/in-dev/unreleased/getting-started/using-polaris/index.xml
index 3968ac3b7..75627125c 100644
--- a/in-dev/unreleased/getting-started/using-polaris/index.xml
+++ b/in-dev/unreleased/getting-started/using-polaris/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Using Polaris on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/</link><description>Recent content in Using Polaris on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/ [...]
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Using Polaris on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/</link><description>Recent content in Using Polaris on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/ [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example.</description></item><item><title>Getting Started with Apache Polaris, Prometheus and Jaeger</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-d [...]
Build the Polaris image if it&rsquo;s not already present locally:
diff --git a/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/index.html b/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/index.html
index 1500bb104..680994701 100644
--- a/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/index.html
+++ b/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Overview# This example uses Keycloak as an external identity provider for Polaris. The &ldquo;iceberg&rdquo; realm is automatically created and configured from the iceberg-realm.json file.
+<meta name=description content="Overview This example uses Keycloak as an external identity provider for Polaris. The &ldquo;iceberg&rdquo; realm is automatically created and configured from the iceberg-realm.json file.
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example."><meta property="og:title" content="Getting Started with Apache Polaris, External Authentication and Keycloak"><meta property="og:description" content="Overview# This example uses Keycloak as an external identity provider for Polaris. The “iceberg” realm is automatically create [...]
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example."><meta property="og:title" content="Getting Started with Apache Polaris, External Authentication and Keycloak"><meta property="og:description" content="Overview This example uses Keycloak as an external identity provider for Polaris. The “iceberg” realm is automatically created [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Getting Started with Apache Polaris, External Authen [...]
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Getting Started with Apache Polaris, External Authen [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><meta itemprop=wordCount content="932"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Getting Started with Apache Polaris, External Authentication and Keycloak"><meta name=twitter:description content="Overview# This example uses Keycloa [...]
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><meta itemprop=wordCount content="932"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Getting Started with Apache Polaris, External Authentication and Keycloak"><meta name=twitter:description content="Overview This example uses Keycloak [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrit [...]
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to “root” in this example."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrit [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@ principal_id: the principal ID of the user. It is always set to zero (0) in this
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
created and configured from the <code>iceberg-realm.json</code> file.</p><p>This Keycloak realm contains 1 client definition: <code>client1:s3cr3t</code>. It is configured to return tokens with the following
fixed claims:</p><ul><li><code>principal_id</code>: the principal ID of the user. It is always set to zero (0) in this example.</li><li><code>principal_name</code>: the principal name of the user. It is always set to “root” in this example.</li><li><code>principal_roles</code>: the principal roles of the user. It is always set to <code>["server_admin", "catalog_admin"]</code> in this
example.</li></ul><p>This is obviously not a realistic configuration. In a real-world scenario, you would configure Keycloak to return the
@@ -65,12 +65,12 @@ Polaris beforehand, and the principal ID, name and roles must match the ones ret
token issues by Polaris itself only.</li><li><code>realm-external</code>: This realm is configured to use an external identity provider (IDP) for authentication only. It
accepts tokens issued by Keycloak only.</li><li><code>realm-mixed</code>: This realm is configured to use both the internal and external authentication. It accepts tokens
issued by both Polaris and Keycloak.</li></ul><p>For more information about how to configure Polaris with external authentication, see the
-<a href=/in-dev/unreleased/managing-security/external-idp/>IDP integration documentation</a>.</p><h2 id=starting-the-example id=starting-the-example>Starting the Example<a class=heading-anchor href=#starting-the-example aria-label=Anchor>#</a></h2><ol><li><p>Build the Polaris server image if it’s not already present locally:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-l [...]
+<a href=/in-dev/unreleased/managing-security/external-idp/>IDP integration documentation</a>.</p><h2 id=starting-the-example>Starting the Example</h2><ol><li><p>Build the Polaris server image if it’s not already present locally:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
</span></span></code></pre></div></li><li><p>Start the docker compose group by running the following command from the root of the repository:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -f getting-started/keycloak/docker-compose.yml up
-</span></span></code></pre></div></li></ol><h2 id=requesting-a-token id=requesting-a-token>Requesting a Token<a class=heading-anchor href=#requesting-a-token aria-label=Anchor>#</a></h2><p>Note: the commands below require <code>jq</code> to be installed on your machine.</p><h3 id=from-polaris id=from-polaris>From Polaris<a class=heading-anchor href=#from-polaris aria-label=Anchor>#</a></h3><p>You can request a token from Polaris for realms <code>realm-internal</code> and <code>realm-mixe [...]
+</span></span></code></pre></div></li></ol><h2 id=requesting-a-token>Requesting a Token</h2><p>Note: the commands below require <code>jq</code> to be installed on your machine.</p><h3 id=from-polaris>From Polaris</h3><p>You can request a token from Polaris for realms <code>realm-internal</code> and <code>realm-mixed</code>:</p><ol><li><p>Open a terminal and run the following command to request an access token for the <code>realm-internal</code> realm:</p><div class=highlight><pre tabinde [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --user root:s3cr3t <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Polaris-Realm: realm-internal'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> <span style=color:#ae81ff>\
@@ -86,7 +86,7 @@ for this realm:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;back
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Polaris-Realm: realm-external'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'scope=PRINCIPAL_ROLE:ALL'</span>
-</span></span></code></pre></div><p>This will return a <code>501 Not Implemented</code> error because for this realm, the internal token endpoint has been deactivated.</p><h3 id=from-keycloak id=from-keycloak>From Keycloak<a class=heading-anchor href=#from-keycloak aria-label=Anchor>#</a></h3><p>You can request a token from Keycloak for the <code>realm-external</code> and <code>realm-mixed</code> realms:</p><ol><li><p>Open a terminal and run the following command to request an access tok [...]
+</span></span></code></pre></div><p>This will return a <code>501 Not Implemented</code> error because for this realm, the internal token endpoint has been deactivated.</p><h3 id=from-keycloak>From Keycloak</h3><p>You can request a token from Keycloak for the <code>realm-external</code> and <code>realm-mixed</code> realms:</p><ol><li><p>Open a terminal and run the following command to request an access token from Keycloak:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;backgr [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --resolve keycloak:8080:127.0.0.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --user client1:s3cr3t <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> | jq -r .access_token<span style=color:#66d9ef>)</span>
@@ -95,8 +95,8 @@ because Keycloak issues tokens with the <code>iss</code> claim matching the requ
not be valid when used against Polaris because the <code>iss</code> claim would be <code>127.0.0.1</code>, but Polaris expects it to be
<code>keycloak</code>, since that’s Keycloak’s hostname within the Docker network.</p><p>Tokens issued by Keycloak can be used to access Polaris with the <code>realm-external</code> or <code>realm-mixed</code> realms. Access tokens
are valid for 1 hour.</p><p>You can also access the Keycloak admin console. Open a browser and go to <a href=http://localhost:8080>http://localhost:8080</a>,
-then log in with the username <code>admin</code> and password <code>admin</code> (you can change this in the docker-compose file).</p><h2 id=accessing-polaris-with-the-tokens id=accessing-polaris-with-the-tokens>Accessing Polaris with the Tokens<a class=heading-anchor href=#accessing-polaris-with-the-tokens aria-label=Anchor>#</a></h2><p>You can access Polaris using the tokens you obtained above. The following examples show how to use the tokens with
-<code>curl</code>:</p><h3 id=using-the-polaris-token id=using-the-polaris-token>Using the Polaris Token<a class=heading-anchor href=#using-the-polaris-token aria-label=Anchor>#</a></h3><ol><li><p>Open a terminal and run the following command to list the principal roles in the <code>realm-internal</code> realm:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style [...]
+then log in with the username <code>admin</code> and password <code>admin</code> (you can change this in the docker-compose file).</p><h2 id=accessing-polaris-with-the-tokens>Accessing Polaris with the Tokens</h2><p>You can access Polaris using the tokens you obtained above. The following examples show how to use the tokens with
+<code>curl</code>:</p><h3 id=using-the-polaris-token>Using the Polaris Token</h3><ol><li><p>Open a terminal and run the following command to list the principal roles in the <code>realm-internal</code> realm:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -v http://localhost:8181/api/management/v1/catalogs <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>"Authorization: Bearer </span>$polaris_token_realm_internal<span style=color:#e6db74>"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Polaris-Realm: realm-internal'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Accept: application/json'</span>
@@ -109,7 +109,7 @@ the <code>realm-mixed</code> realm:</p><div class=highlight><pre tabindex=0 styl
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>"Authorization: Bearer </span>$polaris_token_realm_internal<span style=color:#e6db74>"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Polaris-Realm: realm-mixed'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Accept: application/json'</span>
-</span></span></code></pre></div><p>This will return a <code>401 Unauthorized</code> error because the token is not valid for the <code>realm-mixed</code> realm.</p><h3 id=using-the-keycloak-token id=using-the-keycloak-token>Using the Keycloak Token<a class=heading-anchor href=#using-the-keycloak-token aria-label=Anchor>#</a></h3><p>The same Keycloak token can be used to access both the <code>realm-external</code> and <code>realm-mixed</code> realms, as it is valid for
+</span></span></code></pre></div><p>This will return a <code>401 Unauthorized</code> error because the token is not valid for the <code>realm-mixed</code> realm.</p><h3 id=using-the-keycloak-token>Using the Keycloak Token</h3><p>The same Keycloak token can be used to access both the <code>realm-external</code> and <code>realm-mixed</code> realms, as it is valid for
both (both realms share the same OIDC tenant configuration).</p><ol><li><p>Open a terminal and run the following command to list the principal roles in the <code>realm-external</code> realm:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -v http://localhost:8181/api/management/v1/catalogs <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>"Authorization: Bearer </span>$keycloak_token<span style=color:#e6db74>"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -H <span style=color:#e6db74>'Polaris-Realm: realm-external'</span> <span style=color:#ae81ff>\
diff --git a/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/index.html b/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/index.html
index 7fa747d59..e7d84f4b3 100644
--- a/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/index.html
+++ b/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/index.html
@@ -15,7 +15,7 @@ export POLARIS_TOKEN=$(curl -s http://localhost:8181/api/catalog/v1/oauth/tokens
Build the Polaris image if it’s not already present locally:
./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Start the docker compose group by running the following command from the root of the repository:
docker compose -f getting-started/telemetry/docker-compose.yml up To access Polaris from the host machine, first request an access token:
-export POLARIS_TOKEN=$(curl -s http://localhost:8181/api/catalog/v1/oauth/tokens \ --user root:s3cr3t \ -d 'grant_type=client_credentials' \ -d 'scope=PRINCIPAL_ROLE:ALL' | jq -r ."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2C [...]
+export POLARIS_TOKEN=$(curl -s http://localhost:8181/api/catalog/v1/oauth/tokens \ --user root:s3cr3t \ -d 'grant_type=client_credentials' \ -d 'scope=PRINCIPAL_ROLE:ALL' | jq -r ."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2C [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check checked>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/helm/index.html b/in-dev/unreleased/helm/index.html
index 93c1c898c..8ff875356 100644
--- a/in-dev/unreleased/helm/index.html
+++ b/in-dev/unreleased/helm/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Installation# The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+<meta name=description content="Installation The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
-The &ndash;devel flag is required while Polaris is in the incubation phase."><meta property="og:title" content="Polaris Helm Chart"><meta property="og:description" content="Installation# The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+The &ndash;devel flag is required while Polaris is in the incubation phase."><meta property="og:title" content="Polaris Helm Chart"><meta property="og:description" content="Installation The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
-The –devel flag is required while Polaris is in the incubation phase."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/helm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Polaris Helm Chart"><meta itemprop=description content="Installation# The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+The –devel flag is required while Polaris is in the incubation phase."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/helm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Polaris Helm Chart"><meta itemprop=description content="Installation The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
-The –devel flag is required while Polaris is in the incubation phase."><meta itemprop=wordCount content="5299"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Helm Chart"><meta name=twitter:description content="Installation# The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+The –devel flag is required while Polaris is in the incubation phase."><meta itemprop=wordCount content="5299"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Helm Chart"><meta name=twitter:description content="Installation The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
-The –devel flag is required while Polaris is in the incubation phase."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonym [...]
+The –devel flag is required while Polaris is in the incubation phase."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonym [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -60,7 +60,7 @@ The –devel flag is required while Polaris is in the incubation phase."><li
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span>helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart
</span></span><span style=display:flex><span>helm repo update
</span></span><span style=display:flex><span>kubectl create namespace polaris
@@ -92,7 +92,7 @@ For example, to run it as a new pod in the Minikube cluster (the polaris-admin-t
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --env<span style=color:#f92672>=</span><span style=color:#e6db74>"quarkus.datasource.jdbc.url=</span><span style=color:#66d9ef>$(</span>kubectl get secret polaris-persistence -n polaris -o jsonpath<span style=color:#f92672>=</span><span style=color:#e6db74>'{.data.jdbcUrl}'</span> | base64 --decode<span style=color:#66d9ef>)</span><span style=color:#e6db74>"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -- <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> bootstrap -r POLARIS -c POLARIS,root,pass -p
-</span></span></code></pre></div><h3 id=build-and-install-from-source-advanced id=build-and-install-from-source-advanced>Build and install from source (advanced)<a class=heading-anchor href=#build-and-install-from-source-advanced aria-label=Anchor>#</a></h3><p>Here it is assumed that you have cloned the Polaris Git repository and set up prerequisites to build the project (see <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/>Quickstart Guide</a> f [...]
+</span></span></code></pre></div><h3 id=build-and-install-from-source-advanced>Build and install from source (advanced)</h3><p>Here it is assumed that you have cloned the Polaris Git repository and set up prerequisites to build the project (see <a href=https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/>Quickstart Guide</a> for details).</p><p>Start the Minikube cluster, then build and load the image into the Minikube cluster:</p><div class=highlight><pre t [...]
</span></span><span style=display:flex><span>eval <span style=color:#66d9ef>$(</span>minikube docker-env<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
@@ -110,9 +110,9 @@ fail if these resources are not created beforehand. You can find some examples i
</span></span><span style=display:flex><span>kubectl wait --namespace polaris --for<span style=color:#f92672>=</span>condition<span style=color:#f92672>=</span>ready pod --selector<span style=color:#f92672>=</span>app.kubernetes.io/name<span style=color:#f92672>=</span>postgres --timeout<span style=color:#f92672>=</span>120s
</span></span></code></pre></div><p>Below are two sample deployment models for installing the chart: one with a non-persistent backend and another with a persistent backend.</p><div class="alert alert-warning"><p class=alert-heading>⚠️ Warning</p>The examples below use values files located in the <code>helm/polaris/ci</code> directory.
<strong>These files are intended for testing purposes primarily, and may not be suitable for production use</strong>.
-For production deployments, create your own values files based on the provided examples.</div><h4 id=non-persistent-backend id=non-persistent-backend>Non-persistent backend<a class=heading-anchor href=#non-persistent-backend aria-label=Anchor>#</a></h4><p>Install the chart with a non-persistent backend. From the Polaris repo root:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-la [...]
+For production deployments, create your own values files based on the provided examples.</div><h4 id=non-persistent-backend>Non-persistent backend</h4><p>Install the chart with a non-persistent backend. From the Polaris repo root:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>helm upgrade --install --namespace polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> polaris helm/polaris
-</span></span></code></pre></div><h4 id=persistent-backend id=persistent-backend>Persistent backend<a class=heading-anchor href=#persistent-backend aria-label=Anchor>#</a></h4><div class="alert alert-warning"><p class=alert-heading>⚠️ Warning</p>The Postgres deployment set up in the fixtures directory is intended for testing purposes only and is not suitable for production use. For production deployments, use a managed Postgres service or a properly configured and secured Postgres instan [...]
+</span></span></code></pre></div><h4 id=persistent-backend>Persistent backend</h4><div class="alert alert-warning"><p class=alert-heading>⚠️ Warning</p>The Postgres deployment set up in the fixtures directory is intended for testing purposes only and is not suitable for production use. For production deployments, use a managed Postgres service or a properly configured and secured Postgres instance.</div><p>Install the chart with a persistent backend. From the Polaris repo root:</p><div c [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --values helm/polaris/ci/persistence-values.yaml <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> polaris helm/polaris
</span></span><span style=display:flex><span>kubectl wait --namespace polaris --for<span style=color:#f92672>=</span>condition<span style=color:#f92672>=</span>ready pod --selector<span style=color:#f92672>=</span>app.kubernetes.io/name<span style=color:#f92672>=</span>polaris --timeout<span style=color:#f92672>=</span>120s
@@ -125,23 +125,23 @@ For production deployments, create your own values files based on the provided e
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_JDBC_URL<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>echo <span style=color:#e6db74>"</span>$container_envs<span style=color:#e6db74>"</span> | grep quarkus.datasource.jdbc.url | sed <span style=color:#e6db74>'s/postgres/localhost/2'</span> | awk -F <span style=color:#e6db74>'='</span> <span style=color:#e6db74>'{print $2}'</span> | tr -d <span style=color:#e6db7 [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar bootstrap -c POLARIS,root,pass -r POLARIS
-</span></span></code></pre></div><h3 id=using-the-gateway-api-advanced id=using-the-gateway-api-advanced>Using the Gateway API (Advanced)<a class=heading-anchor href=#using-the-gateway-api-advanced aria-label=Anchor>#</a></h3><p>You may want to use the <a href=https://gateway-api.sigs.k8s.io/>Kubernetes Gateway API</a> for more advanced network routing. In most cases this would already be installed by your cluster admins. The following is an example set of commands to run to install the [...]
+</span></span></code></pre></div><h3 id=using-the-gateway-api-advanced>Using the Gateway API (Advanced)</h3><p>You may want to use the <a href=https://gateway-api.sigs.k8s.io/>Kubernetes Gateway API</a> for more advanced network routing. In most cases this would already be installed by your cluster admins. The following is an example set of commands to run to install the gateway:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-s [...]
</span></span><span style=display:flex><span>kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/latest/download/standard-install.yaml
-</span></span></code></pre></div><p>With that installed, you can enable and configure the <code>gateway</code> values. This will make it possible to use the HTTPRoute resource, enable and configure the <code>httproute</code> values.</p><div class="alert alert-info"><p class=alert-heading>📝 Note</p>Only one of HTTPRoute or Ingress can be defined. Defining both will result in errors.</div><h3 id=uninstalling id=uninstalling>Uninstalling<a class=heading-anchor href=#uninstalling aria-label= [...]
+</span></span></code></pre></div><p>With that installed, you can enable and configure the <code>gateway</code> values. This will make it possible to use the HTTPRoute resource, enable and configure the <code>httproute</code> values.</p><div class="alert alert-info"><p class=alert-heading>📝 Note</p>Only one of HTTPRoute or Ingress can be defined. Defining both will result in errors.</div><h3 id=uninstalling>Uninstalling</h3><div class=highlight><pre tabindex=0 style=color:#f8f8f2;backgrou [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>kubectl delete --namespace polaris -f helm/polaris/ci/fixtures/
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>kubectl delete namespace polaris
-</span></span></code></pre></div><h2 id=development--testing id=development--testing>Development & Testing<a class=heading-anchor href=#development--testing aria-label=Anchor>#</a></h2><p>This section is intended for developers who want to run the Polaris Helm chart tests.</p><h3 id=prerequisites id=prerequisites>Prerequisites<a class=heading-anchor href=#prerequisites aria-label=Anchor>#</a></h3><p>The following tools are required to run the tests:</p><ul><li><a href=https://github.com/ [...]
+</span></span></code></pre></div><h2 id=development--testing>Development & Testing</h2><p>This section is intended for developers who want to run the Polaris Helm chart tests.</p><h3 id=prerequisites>Prerequisites</h3><p>The following tools are required to run the tests:</p><ul><li><a href=https://github.com/helm-unittest/helm-unittest>Helm Unit Test</a></li><li><a href=https://github.com/helm/chart-testing>Chart Testing</a></li><li><a href=https://github.com/adrienverge/yamllint>yamllin [...]
</span></span><span style=display:flex><span>brew install chart-testing
</span></span><span style=display:flex><span>brew install yamllint
</span></span></code></pre></div><p>The integration tests also require some fixtures to be deployed. The <code>ci/fixtures</code> directory
contains the required resources. To deploy them, run the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>kubectl apply --namespace polaris -f helm/polaris/ci/fixtures/
</span></span><span style=display:flex><span>kubectl wait --namespace polaris --for<span style=color:#f92672>=</span>condition<span style=color:#f92672>=</span>ready pod --selector<span style=color:#f92672>=</span>app.kubernetes.io/name<span style=color:#f92672>=</span>postgres --timeout<span style=color:#f92672>=</span>120s
</span></span></code></pre></div><p>The <code>helm/polaris/ci</code> directory contains a number of values files that will be used to install the chart with
-different configurations.</p><h3 id=running-the-unit-tests id=running-the-unit-tests>Running the unit tests<a class=heading-anchor href=#running-the-unit-tests aria-label=Anchor>#</a></h3><p>Helm unit tests do not require a Kubernetes cluster. To run the unit tests, execute Helm Unit from
+different configurations.</p><h3 id=running-the-unit-tests>Running the unit tests</h3><p>Helm unit tests do not require a Kubernetes cluster. To run the unit tests, execute Helm Unit from
the Polaris repo root:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>helm unittest helm/polaris
</span></span></code></pre></div><p>You can also lint the chart using the Chart Testing tool, with the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>ct lint --charts helm/polaris
-</span></span></code></pre></div><h3 id=running-the-integration-tests id=running-the-integration-tests>Running the integration tests<a class=heading-anchor href=#running-the-integration-tests aria-label=Anchor>#</a></h3><p>Integration tests require a Kubernetes cluster. See installation instructions above for setting up
+</span></span></code></pre></div><h3 id=running-the-integration-tests>Running the integration tests</h3><p>Integration tests require a Kubernetes cluster. See installation instructions above for setting up
a local cluster.</p><p>Integration tests are run with the Chart Testing tool:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>ct install --namespace polaris --charts ./helm/polaris
-</span></span></code></pre></div><h2 id=values id=values>Values<a class=heading-anchor href=#values aria-label=Anchor>#</a></h2><table><thead><tr><th>Key</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>advancedConfig</td><td>object</td><td><code>{}</code></td><td>Advanced configuration. You can pass here any valid Polaris or Quarkus configuration property. Any property that is defined here takes precedence over all the other configuration values generated [...]
\ No newline at end of file
+</span></span></code></pre></div><h2 id=values>Values</h2><table><thead><tr><th>Key</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td>advancedConfig</td><td>object</td><td><code>{}</code></td><td>Advanced configuration. You can pass here any valid Polaris or Quarkus configuration property. Any property that is defined here takes precedence over all the other configuration values generated by this chart. Properties can be passed “flattened” or as [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/index.html b/in-dev/unreleased/index.html
index 871b48188..97af093cd 100644
--- a/in-dev/unreleased/index.html
+++ b/in-dev/unreleased/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=i [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 active td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span class=td-sidebar-nav-active-item>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,30 +48,30 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=br [...]
-or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog id=catalog>Catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=br [...]
+or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog>Catalog</h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage configuration for S3, Azure, or Google Cloud Storage. An Iceberg catalog [...]
query engine to manage and organize tables. The catalog forms the first architectural layer in the <a href=https://iceberg.apache.org/spec/#overview>Apache Iceberg™ table specification</a> and must support the following tasks:</p><ul><li><p>Storing the current metadata pointer for one or more Iceberg tables. A metadata pointer maps a table name to the location of that table’s
current metadata file.</p></li><li><p>Performing atomic operations so that you can update the current metadata pointer for a table to the metadata pointer of a new version of
-the table.</p></li></ul><p>To learn more about Iceberg REST catalogs, see the <a href=https://iceberg.apache.org/rest-catalog-spec/>Apache Iceberg™ REST catalog specification</a>.</p><h4 id=catalog-types id=catalog-types>Catalog types<a class=heading-anchor href=#catalog-types aria-label=Anchor>#</a></h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p [...]
-this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace id=namespace>Namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
-nested namespaces. Iceberg tables belong to namespaces.</p><div class="alert alert-primary"><p class=alert-heading>❗Important</p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top [...]
+the table.</p></li></ul><p>To learn more about Iceberg REST catalogs, see the <a href=https://iceberg.apache.org/rest-catalog-spec/>Apache Iceberg™ REST catalog specification</a>.</p><h4 id=catalog-types>Catalog types</h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The catalog is externally managed by another Iceberg catalog provider (fo [...]
+this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace>Namespace</h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
+nested namespaces. Iceberg tables belong to namespaces.</p><div class="alert alert-primary"><p class=alert-heading>❗Important</p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top [...]
when you create a catalog. The storage configuration is used to set the values to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a trust relationship between the cloud storage provider and Polaris
-Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
+Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
Namespace1 namespace in the Catalog1 catalog and insert values into
Table1.</p><p>Bob can create Table1 and insert data into it because he is using a
service connection with a service principal that has
the privileges to perform these actions.</p></li><li><p>Alice uses Snowflake to read data from Table1.</p><p>Alice can read data from Table1 because she is using a service
connection with a service principal with a catalog integration that
has the privileges to perform this action. Alice
-creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control id=security-and-access-control>Security and access control<a class=heading-anchor href=#security-and-access-control aria-label=Anchor>#</a></h2><h3 id=credential-vending id=credential-vending>Credential [...]
+creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control>Security and access control</h2><h3 id=credential-vending>Credential vending</h3><p>To secure interactions with service connections, Polaris vends temporary storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without requiring access to your cloud storage for
Iceberg tables. This process is called credential vending.</p><p>As of now, the following limitation is known regarding Apache Iceberg support:</p><ul><li><strong>remove_orphan_files:</strong> Apache Spark can’t use credential vending
-for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam id=identity-and-access-management-iam>Identity and access management (IAM)<a class=heading-anchor href=#identity-and-access-management-iam aria-label=Anchor>#</a></h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
+for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam>Identity and access management (IAM)</h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
metadata, and manifest files that store the table schema, partitions, and other metadata. Polaris retains the IAM entity for your
-storage location.</p><h3 id=access-control id=access-control>Access control<a class=heading-anchor href=#access-control aria-label=Anchor>#</a></h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
+storage location.</p><h3 id=access-control>Access control</h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
queries from query engines in a consistent manner.</p><p>Polaris uses a role-based access control (RBAC) model that lets you centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p><p>Polaris RBAC uses two different role types to delegate privileges:</p><ul><li><p><strong>Principal roles:</strong> Granted to Polaris service principals and
analogous to roles in other access control systems that you grant to
service principals.</p></li><li><p><strong>Catalog roles:</strong> Configured with certain privileges on Polaris
-catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/in-dev/unreleased/managing-security/access-control/>Access control</a>.</p><h2 id=legal-notices id=legal-notices>Legal Notices<a class=heading-anchor href=#legal-notices aria-label=Anchor>#</a></h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United St [...]
\ No newline at end of file
+catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/in-dev/unreleased/managing-security/access-control/>Access control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.</p><div class=section-index></div></div></main></div></ [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/index.xml b/in-dev/unreleased/index.xml
index ac31420e1..07a0919f8 100644
--- a/in-dev/unreleased/index.xml
+++ b/in-dev/unreleased/index.xml
@@ -1,34 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Overview on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/</link><description>Recent content in Overview on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/index.xml" rel="self" type="application/rss+xml"/><item><title>Admin T [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/in-dev/unreleased/command-line-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris. [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/in-dev/unreleased/command-line-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.a [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --realm --header --profile --proxy --debug COMMAND must be one of the following:
catalogs principals principal-roles catalog-roles namespaces privileges profiles policies repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn.</description></item><item><title>Realm</title><link>https://polaris.apache.org/in-dev/unreleased/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/realm/</guid><description>This page explains what a realm is and wh [...]
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/in-dev/unreleased/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/in-dev/unreleased/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/in-dev/unreleased/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources i [...]
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/in-dev/unreleased/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table</title><link>https://polaris.apache.org/in-dev/unreleased/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><gu [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table</title><link>https://polaris.apache.org/in-dev/unreleased/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><gui [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/in-dev/unreleased/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/telemetry/</guid><description>Metrics# Metrics are published using Micrometer; they are ava [...]
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/in-dev/unreleased/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/telemetry/</guid><description>Metrics Metrics are published using Micrometer; they are avail [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/configuration/</guid><description>Overview# This page provides information [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/configuration/</guid><description>Overview This page provides information o [...]
📝 Note
For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/polaris-spark-clie [...]
📝 Note
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/in-dev/unreleased/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/helm/</guid><description>Installation# The i [...]
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/in-dev/unreleased/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/helm/</guid><description>Installation The ins [...]
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
The &ndash;devel flag is required while Polaris is in the incubation phase.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/in-dev/unreleased/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/metastores/</guid><description>This page explains how to configure and use Polaris metastores with the recommended Relational JDBC backend.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
+1. Relational JDBC metastore with username and password using environment variables:
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; using properties file:</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/in-dev/unreleased/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/evolution/</guid><de [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/access-control/index.html b/in-dev/unreleased/managing-security/access-control/index.html
index b30bafa0f..1ad955f1e 100644
--- a/in-dev/unreleased/managing-security/access-control/index.html
+++ b/in-dev/unreleased/managing-security/access-control/index.html
@@ -11,7 +11,7 @@ Polaris uses a role-based access control (RBAC) model in which the Polaris admin
For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA)."><meta itemprop=wordCount content="1191"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Role-Based Access Control"><meta name=twitter:description content="This section provides information about how [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
ℹ️ Info
-For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7 [...]
+For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7 [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -61,19 +61,19 @@ For advanced authorization scenarios requiring external policy management or int
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-and then grants access to resources to principals by assigning catalog roles to principal roles.</p><div class="alert alert-info"><p class=alert-heading>ℹ️ Info</p>For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA). See <a href=../external-pdp/>External Policy Decision Point</a> for more information.</div><p>Th [...]
-has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li><li>Policy</li></ul><h2 id=principal-role id=principal-role>Principal role<a class=heading-anchor href=#principal-role aria-label=Anchor>#</a></h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris principals together and grant privileges on
+and then grants access to resources to principals by assigning catalog roles to principal roles.</p><div class="alert alert-info"><p class=alert-heading>ℹ️ Info</p>For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA). See <a href=../external-pdp/>External Policy Decision Point</a> for more information.</div><p>Th [...]
+has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li><li>Policy</li></ul><h2 id=principal-role>Principal role</h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris principals together and grant privileges on
securable objects.</p><p>Polaris supports a many-to-many relationship between principals and principal roles. For example, to grant the same privileges to
multiple principals, you can assign a single principal role to those principals. Likewise, a principal can be granted
multiple principal roles.</p><p>You don’t grant privileges directly to a principal role. Instead, you configure object permissions at the catalog role level, and then grant
-catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple principals for running data science or AI jobs.</td></tr></tbody></table><h2 id=catal [...]
+catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple principals for running data science or AI jobs.</td></tr></tbody></table><h2 id=catal [...]
in the catalog, such as catalog namespaces or tables. You can create one or more catalog roles for a catalog.</p><p>You grant privileges to a catalog role and then grant the catalog role to a principal role to bestow the privileges to one or more principals.</p><p>Polaris also supports a many-to-many relationship between catalog roles and principal roles. You can grant the same catalog role to one or more
principal roles. Likewise, a principal role can be granted to one or more catalog roles.</p><p>The following table displays examples of catalog roles that you might
-configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
+configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
privileges to catalog roles and then grants principals access to resources by assigning catalog roles to principal roles. Polaris
-supports a many-to-many relationship between principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges id=access-control-privileges>Access control privileges<a class=heading-anchor href=#access-control-privileges aria-label=Anchor>#</a></h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are [...]
+supports a many-to-many relationship between principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges>Access control privileges</h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are granted to catalog roles, catalog
roles are granted to principal roles, and principal roles are granted to principals to specify the operations that principals can
-perform on objects in Polaris.</p><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges id=table-privileges>Table privileges<a class=heading-anchor href=#table-privileges aria-label=Anchor>#</a></h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td> [...]
+perform on objects in Polaris.</p><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges>Table privileges</h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td>Enables dropping a table from the catalog.</td></tr><tr><td>TABLE_LIST</td><td>Enables lis [...]
includes the following users:</p><ul><li><p><strong>Alice:</strong> A service admin who signs up for Polaris. Alice can
create principals. She can also create catalogs and
namespaces and configure access control for Polaris resources.</p></li><li><p><strong>Bob:</strong> A data engineer who uses Apache Spark™ to
diff --git a/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/index.html b/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/index.html
index 182b6724b..5d357097b 100644
--- a/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/index.html
+++ b/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Developer Architecture Notes# Authentication Architecture# Polaris separates authentication into two logical phases using Quarkus Security:
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+<meta name=description content="Developer Architecture Notes Authentication Architecture Polaris separates authentication into two logical phases using Quarkus Security:
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
-The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta property="og:title" content="Authentication Development Details"><meta property="og:description" content="Developer Architecture Notes# Authentication Architecture# Polaris separates authentication into two logical phases using Quarkus Security:
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta property="og:title" content="Authentication Development Details"><meta property="og:description" content="Developer Architecture Notes Authentication Architecture Polaris separates authentication into two logical phases using Quarkus Security:
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
-The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Authentication Development Details"><meta itemprop=description content="Developer Architecture Notes# Authentication Architecture# Polaris separates [...]
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Authentication Development Details"><meta itemprop=description content="Developer Architecture Notes Authentication Architecture Polaris separates a [...]
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
-The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta itemprop=wordCount content="342"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Authentication Development Details"><meta name=twitter:description content="Developer Architecture Notes# Authentication Architecture# Polaris separates authentication into two logical phases using Quarkus Security:
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><meta itemprop=wordCount content="342"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Authentication Development Details"><meta name=twitter:description content="Developer Architecture Notes Authentication Architecture Polaris separates authentication into two logical phases using Quarkus Security:
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
-The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g== [...]
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g== [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -60,11 +60,11 @@ The DefaultAuthenticator is used to implement realm-specific logic based on thes
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-See <a href=/in-dev/unreleased/managing-security/external-idp/#token-broker>Token Broker description</a> for configuration details.</p><h2 id=developer-authentication-workflows id=developer-authentication-workflows>Developer Authentication Workflows<a class=heading-anchor href=#developer-authentication-workflows aria-label=Anchor>#</a></h2><h3 id=internal-authentication id=internal-authentication>Internal Authentication<a class=heading-anchor href=#internal-authentication aria-label=Anch [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+See <a href=/in-dev/unreleased/managing-security/external-idp/#token-broker>Token Broker description</a> for configuration details.</p><h2 id=developer-authentication-workflows>Developer Authentication Workflows</h2><h3 id=internal-authentication>Internal Authentication</h3><ol><li><a href=https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/internal/InternalAuthenticationMechanism.java><code>InternalAuthenticationMechanism</code></a> [...]
</span></span></code></pre></div></li><li><p>Configuration properties for the default implementation:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div></li><li><p>It can be overridden per OIDC tenant.</p></li></ul><h3 id=roles-mapping id=roles-mapping>Roles Mapping<a class=heading-anchor href=#roles-mapping aria-label=Anchor>#</a></h3><ul><li><p>Interface: <a href=https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/external/mapping/PrincipalRolesMapper.java><code>PrincipalRolesMapper</code></a></p><p>Polaris uses this component to transform role clai [...]
+</span></span></code></pre></div></li><li><p>It can be overridden per OIDC tenant.</p></li></ul><h3 id=roles-mapping>Roles Mapping</h3><ul><li><p>Interface: <a href=https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/external/mapping/PrincipalRolesMapper.java><code>PrincipalRolesMapper</code></a></p><p>Polaris uses this component to transform role claims from OIDC tokens into Polaris roles.</p></li><li><p>Quarkus OIDC configuration:</ [...]
</span></span></code></pre></div></li><li><p>Implementation selector:</p><p>This property selects the implementation of <code>PrincipalRolesMapper</code>. The <code>default</code> implementation applies regular expression (regex) transformations to OIDC roles.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6 [...]
</span></span></code></pre></div></li><li><p>Configuration properties for the default implementation:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.filter</span><span style=color:#f92672>=</span><span style=color:#e6db74>^(?!profile$|email$).* </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>^.*$ </span>
diff --git a/in-dev/unreleased/managing-security/external-idp/index.html b/in-dev/unreleased/managing-security/external-idp/index.html
index 888442a89..ecc1af033 100644
--- a/in-dev/unreleased/managing-security/external-idp/index.html
+++ b/in-dev/unreleased/managing-security/external-idp/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png size [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Identity Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Identity Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,34 +48,34 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>internal</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Per-realm override </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm1.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>external</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm2.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>mixed</span>
-</span></span></code></pre></div><h2 id=key-components id=key-components>Key Components<a class=heading-anchor href=#key-components aria-label=Anchor>#</a></h2><h3 id=authenticator id=authenticator>Authenticator<a class=heading-anchor href=#authenticator aria-label=Anchor>#</a></h3><p>The <code>Authenticator</code> is a component responsible for resolving the principal and the principal roles, and for creating a <code>PolarisPrincipal</code> from the credentials provided by the authentic [...]
+</span></span></code></pre></div><h2 id=key-components>Key Components</h2><h3 id=authenticator>Authenticator</h3><p>The <code>Authenticator</code> is a component responsible for resolving the principal and the principal roles, and for creating a <code>PolarisPrincipal</code> from the credentials provided by the authentication process. It is a central component and is invoked for all types of authentication.</p><p>The <code>type</code> property is used to define the <code>Authenticator</c [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm1.authenticator.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>custom</span>
-</span></span></code></pre></div><h2 id=internal-authentication-configuration id=internal-authentication-configuration>Internal Authentication Configuration<a class=heading-anchor href=#internal-authentication-configuration aria-label=Anchor>#</a></h2><h3 id=token-broker id=token-broker>Token Broker<a class=heading-anchor href=#token-broker aria-label=Anchor>#</a></h3><p>The <code>TokenBroker</code> signs and verifies tokens to ensure that they can be validated and remain unaltered.</p>< [...]
+</span></span></code></pre></div><h2 id=internal-authentication-configuration>Internal Authentication Configuration</h2><h3 id=token-broker>Token Broker</h3><p>The <code>TokenBroker</code> signs and verifies tokens to ensure that they can be validated and remain unaltered.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span st [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
-</span></span></code></pre></div><p>Two types are available:</p><ul><li><code>rsa-key-pair</code> (recommended for production): Uses an RSA key pair for token signing and validation.</li><li><code>symmetric-key</code>: Uses a shared secret for both operations; suitable for single-node deployments or testing.</li></ul><p>The property <code>polaris.authentication.token-broker.max-token-generation</code> specifies the maximum validity duration of tokens issued by the internal <code>TokenBro [...]
-</span></span></code></pre></div><h3 id=role-mapping id=role-mapping>Role Mapping<a class=heading-anchor href=#role-mapping aria-label=Anchor>#</a></h3><p>When using internal authentication, token requests should include a <code>scope</code> parameter that specifies the roles to be activated for the principal. The <code>scope</code> parameter is a space-separated list of role names.</p><p>The default <code>ActiveRolesProvider</code> expects role names to be in the following format: <code [...]
+</span></span></code></pre></div><p>Two types are available:</p><ul><li><code>rsa-key-pair</code> (recommended for production): Uses an RSA key pair for token signing and validation.</li><li><code>symmetric-key</code>: Uses a shared secret for both operations; suitable for single-node deployments or testing.</li></ul><p>The property <code>polaris.authentication.token-broker.max-token-generation</code> specifies the maximum validity duration of tokens issued by the internal <code>TokenBro [...]
+</span></span></code></pre></div><h3 id=role-mapping>Role Mapping</h3><p>When using internal authentication, token requests should include a <code>scope</code> parameter that specifies the roles to be activated for the principal. The <code>scope</code> parameter is a space-separated list of role names.</p><p>The default <code>ActiveRolesProvider</code> expects role names to be in the following format: <code>PRINCIPAL_ROLE:<role name></code>.</p><p>For example, if the principal has the [...]
</span></span></code></pre></div><p>Here is an example of a full request to the Polaris token endpoint using internal authentication:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-http data-lang=http><span style=display:flex><span><span style=color:#a6e22e>POST</span> /api/catalog/v1/oauth/tokens <span style=color:#66d9ef>HTTP</span><span style=color:#f92672>/</span><span style=color:#ae8 [...]
</span></span><span style=display:flex><span>Host<span style=color:#f92672>:</span> <span style=color:#ae81ff>polaris.example.com:8181</span>
</span></span><span style=display:flex><span>Content-Type<span style=color:#f92672>:</span> <span style=color:#ae81ff>application/x-www-form-urlencoded</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>grant_type=client_credentials&client_id=root&client_secret=s3cr3t&scope=PRINCIPAL_ROLE%3Aservice_admin%20PRINCIPAL_ROLE%3Acatalog_admin
-</span></span></code></pre></div><h2 id=external-authentication-configuration id=external-authentication-configuration>External Authentication Configuration<a class=heading-anchor href=#external-authentication-configuration aria-label=Anchor>#</a></h2><p>External authentication is configured via Quarkus OIDC and Polaris-specific OIDC extensions. The following settings are used to integrate with an identity provider and extract identity and role information from tokens.</p><h3 id=oidc-ten [...]
+</span></span></code></pre></div><h2 id=external-authentication-configuration>External Authentication Configuration</h2><p>External authentication is configured via Quarkus OIDC and Polaris-specific OIDC extensions. The following settings are used to integrate with an identity provider and extract identity and role information from tokens.</p><h3 id=oidc-tenant-configuration>OIDC Tenant Configuration</h3><p>At least one OIDC tenant must be explicitly enabled. In Polaris, realms and OIDC [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.auth-server-url</span><span style=color:#f92672>=</span><span style=color:#e6db74>https://auth.example.com/realms/polaris</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.client-id</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris</span>
</span></span></code></pre></div><p>Alternatively, it is possible to use multiple named tenants. Each OIDC-named tenant is then configured with standard Quarkus settings:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.auth-server-url</span><span style=color:#f92672>=</span><sp [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.client-id</span><span style=color:#f92672>=</span><span style=color:#e6db74>client1</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.application-type</span><span style=color:#f92672>=</span><span style=color:#e6db74>service</span>
-</span></span></code></pre></div><p>When using multiple OIDC tenants, it’s your responsibility to configure tenant resolution appropriately. See the <a href=https://quarkus.io/guides/security-openid-connect-multitenancy#tenant-resolution>Quarkus OpenID Connect Multitenancy Guide</a>.</p><h3 id=principal-mapping id=principal-mapping>Principal Mapping<a class=heading-anchor href=#principal-mapping aria-label=Anchor>#</a></h3><p>While OIDC tenant resolution is entirely delegated to Qu [...]
+</span></span></code></pre></div><p>When using multiple OIDC tenants, it’s your responsibility to configure tenant resolution appropriately. See the <a href=https://quarkus.io/guides/security-openid-connect-multitenancy#tenant-resolution>Quarkus OpenID Connect Multitenancy Guide</a>.</p><h3 id=principal-mapping>Principal Mapping</h3><p>While OIDC tenant resolution is entirely delegated to Quarkus, Polaris requires additional configuration to extract the Polaris principal and its ro [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
</span></span></code></pre></div><p>These properties are overridable per OIDC tenant:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.oidc-tenant1.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.oidc-tenant1.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div><div class="alert alert-primary"><p class=alert-heading>❗Important</p>The default implementation of PrincipalMapper can only work with JWT tokens. If your IDP issues opaque tokens instead, you will need to provide a custom implementation.</div><h3 id=role-mapping-1 id=role-mapping-1>Role Mapping<a class=heading-anchor href=#role-mapping-1 aria-label=Anchor>#</a></h3><p>Similarly, Polaris requires additional configuration to map roles provided by Quarkus t [...]
+</span></span></code></pre></div><div class="alert alert-primary"><p class=alert-heading>❗Important</p>The default implementation of PrincipalMapper can only work with JWT tokens. If your IDP issues opaque tokens instead, you will need to provide a custom implementation.</div><h3 id=role-mapping-1>Role Mapping</h3><p>Similarly, Polaris requires additional configuration to map roles provided by Quarkus to roles defined in Polaris. The process happens in two phases: first, Quarkus maps the [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>default</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.filter</span><span style=color:#f92672>=</span><span style=color:#e6db74>^(?!profile$|email$).*</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>^.*$</span>
@@ -90,7 +90,7 @@
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>role_(.*)</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Replace the extracted text with "PRINCIPAL_ROLE:" </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].replacement</span><span style=color:#f92672>=</span><span style=color:#e6db74>PRINCIPAL_ROLE:$1</span>
-</span></span></code></pre></div><p>See more examples below.</p><h3 id=example-jwt-mappings id=example-jwt-mappings>Example JWT Mappings<a class=heading-anchor href=#example-jwt-mappings aria-label=Anchor>#</a></h3><h4 id=example-1-custom-claim-paths id=example-1-custom-claim-paths>Example 1: Custom Claim Paths<a class=heading-anchor href=#example-1-custom-claim-paths aria-label=Anchor>#</a></h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:# [...]
+</span></span></code></pre></div><p>See more examples below.</p><h3 id=example-jwt-mappings>Example JWT Mappings</h3><h4 id=example-1-custom-claim-paths>Example 1: Custom Claim Paths</h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"polaris"</span>:
</span></span><span style=display:flex><span> {
</span></span><span style=display:flex><span> <span style=color:#f92672>"roles"</span>: [<span style=color:#e6db74>"PRINCIPAL_ROLE:ALL"</span>],
@@ -101,7 +101,7 @@
</span></span></code></pre></div></li><li><p>Configuration</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.roles.role-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/roles </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div></li></ul><h4 id=example-2-generic-oidc-claims id=example-2-generic-oidc-claims>Example 2: Generic OIDC Claims<a class=heading-anchor href=#example-2-generic-oidc-claims aria-label=Anchor>#</a></h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
+</span></span></code></pre></div></li></ul><h4 id=example-2-generic-oidc-claims>Example 2: Generic OIDC Claims</h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"sub"</span>: <span style=color:#e6db74>"1"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"scope"</span>: <span style=color:#e6db74>"service_admin catalog_admin profile email"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"preferred_username"</span>: <span style=color:#e6db74>"root"</span>
@@ -112,4 +112,4 @@
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.filter</span><span style=color:#f92672>=</span><span style=color:#e6db74>^(?!profile$|email$).* </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>^.*$ </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].replacement</span><span style=color:#f92672>=</span><span style=color:#e6db74>PRINCIPAL_ROLE:$0</span>
-</span></span></code></pre></div></li><li><p>Result</p><p>Polaris roles: <code>PRINCIPAL_ROLE:service_admin</code> and <code>PRINCIPAL_ROLE:catalog_admin</code></p></li></ul><h3 id=additional-links id=additional-links>Additional Links<a class=heading-anchor href=#additional-links aria-label=Anchor>#</a></h3><ul><li>For complete Keycloak integration example, see: <a href=/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/>Keycloak External IDP Configuration Guide</a></li><li>Se [...]
\ No newline at end of file
+</span></span></code></pre></div></li><li><p>Result</p><p>Polaris roles: <code>PRINCIPAL_ROLE:service_admin</code> and <code>PRINCIPAL_ROLE:catalog_admin</code></p></li></ul><h3 id=additional-links>Additional Links</h3><ul><li>For complete Keycloak integration example, see: <a href=/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/>Keycloak External IDP Configuration Guide</a></li><li>See <a href=/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/>Developer Notes [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/external-idp/index.xml b/in-dev/unreleased/managing-security/external-idp/index.xml
index 44420795a..85eaf9732 100644
--- a/in-dev/unreleased/managing-security/external-idp/index.xml
+++ b/in-dev/unreleased/managing-security/external-idp/index.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Identity Providers on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/</link><description>Recent content in Identity Providers on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/managing-security/e [...]
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Identity Providers on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/</link><description>Recent content in Identity Providers on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unreleased/managing-security/e [...]
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/external-pdp/index.html b/in-dev/unreleased/managing-security/external-pdp/index.html
index da8d8115f..7685150d2 100644
--- a/in-dev/unreleased/managing-security/external-pdp/index.html
+++ b/in-dev/unreleased/managing-security/external-pdp/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/managing-security/external-pdp/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png size [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="External Policy Decision Point"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects t [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="External Policy Decision Point"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects t [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -48,12 +48,12 @@
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
│ Client │─────────>│ Polaris │────────>│ External PDP │
│ │ Request │ │ AuthZ │ │
│ │ │ │ Request │ │
│ │<─────────│ │<────────│ │
│ │ Response │ │ Decision│ │
└─────────┘ └─────────────┘ └──────────────┘
-</code></pre><h2 id=available-implementations id=available-implementations>Available Implementations<a class=heading-anchor href=#available-implementations aria-label=Anchor>#</a></h2><p>Apache Polaris currently supports the following external PDP integrations:</p><ul><li><strong><a href=/in-dev/unreleased/managing-security/external-pdp/opa/>Open Policy Agent (OPA)</a></strong>: A general-purpose policy engine with a rich ecosystem and flexible policy language (Rego)</li></ul><h2 id=conf [...]
+</code></pre><h2 id=available-implementations>Available Implementations</h2><p>Apache Polaris currently supports the following external PDP integrations:</p><ul><li><strong><a href=/in-dev/unreleased/managing-security/external-pdp/opa/>Open Policy Agent (OPA)</a></strong>: A general-purpose policy engine with a rich ecosystem and flexible policy language (Rego)</li></ul><h2 id=configuration>Configuration</h2><p>To enable external PDP integration, set the following configuration property: [...]
</span></span></code></pre></div><p>Where <code><pdp-type></code> is the identifier for the PDP implementation (e.g., <code>opa</code>). The default value is <code>internal</code>.</p><p>See the specific PDP documentation for detailed configuration options:</p><ul><li><a href=/in-dev/unreleased/managing-security/external-pdp/opa/#configuration-reference>OPA Configuration</a></li></ul><div class=section-index></div></div></main></div></div><footer class="td-footer row d-print-none"><di [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/external-pdp/index.xml b/in-dev/unreleased/managing-security/external-pdp/index.xml
index 3ab81a6ea..983c45b1f 100644
--- a/in-dev/unreleased/managing-security/external-pdp/index.xml
+++ b/in-dev/unreleased/managing-security/external-pdp/index.xml
@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>External Policy Decision Point on Apache Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/external-pdp/</link><description>Recent content in External Policy Decision Point on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/in-dev/unrele [...]
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software.</description></item></channel></rss>
\ No newline at end of file
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software.</description></item></channel></rss>
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/external-pdp/opa/index.html b/in-dev/unreleased/managing-security/external-pdp/opa/index.html
index 101b473db..2378df9bc 100644
--- a/in-dev/unreleased/managing-security/external-pdp/opa/index.html
+++ b/in-dev/unreleased/managing-security/external-pdp/opa/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="⚠️ Preview Feature
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta property="og:title" content="Open Policy Agent (OPA) Integration"><meta property="og:description" content="⚠️ Preview Feature
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta property="og:title" content="Open Policy Agent (OPA) Integration"><meta property="og:description" content="⚠️ Preview Feature
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/managing-security/external-pdp/opa/"><meta property="article:section" content="in-dev"> [...]
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/managing-security/external-pdp/opa/"><meta property="article:section" content="in-dev">< [...]
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta itemprop=wordCount content="1380"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Open Policy Agent (OPA) Integration"><meta name=twitter:desc [...]
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><meta itemprop=wordCount content="1380"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Open Policy Agent (OPA) Integration"><meta name=twitter:descr [...]
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.c [...]
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.cs [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,13 +56,13 @@ Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enable
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --name opa <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -p 8181:8181 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -v <span style=color:#66d9ef>$(</span>pwd<span style=color:#66d9ef>)</span>/policies:/policies <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> openpolicyagent/opa:latest <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> run --server --addr :8181 /policies
-</span></span></code></pre></div><h3 id=2-create-a-policy id=2-create-a-policy>2. Create a Policy<a class=heading-anchor href=#2-create-a-policy aria-label=Anchor>#</a></h3><p>Create a policy file (e.g., <code>policies/polaris.rego</code>):</p><pre tabindex=0><code class=language-rego data-lang=rego>package polaris.authz
+</span></span></code></pre></div><h3 id=2-create-a-policy>2. Create a Policy</h3><p>Create a policy file (e.g., <code>policies/polaris.rego</code>):</p><pre tabindex=0><code class=language-rego data-lang=rego>package polaris.authz
import future.keywords.if
@@ -82,20 +82,20 @@ allow if {
parent.type == "CATALOG"
startswith(parent.name, "analytics_")
}
-</code></pre><h3 id=3-configure-polaris id=3-configure-polaris>3. Configure Polaris<a class=heading-anchor href=#3-configure-polaris aria-label=Anchor>#</a></h3><p>Add the following to your Polaris configuration:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#75715e># Enable OPA authorization</span>
+</code></pre><h3 id=3-configure-polaris>3. Configure Polaris</h3><p>Add the following to your Polaris configuration:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#75715e># Enable OPA authorization</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>opa</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#75715e># OPA server endpoint</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.policy-uri</span><span style=color:#f92672>=</span><span style=color:#e6db74>http://localhost:8181/v1/data/polaris/authz/allow</span>
-</span></span></code></pre></div><h3 id=4-restart-polaris id=4-restart-polaris>4. Restart Polaris<a class=heading-anchor href=#4-restart-polaris aria-label=Anchor>#</a></h3><p>Restart the Polaris service to apply the configuration.</p><h2 id=configuration-reference id=configuration-reference>Configuration Reference<a class=heading-anchor href=#configuration-reference aria-label=Anchor>#</a></h2><h3 id=basic-configuration id=basic-configuration>Basic Configuration<a class=heading-anchor h [...]
-</span></span></code></pre></div><h4 id=bearer-token-authentication id=bearer-token-authentication>Bearer Token Authentication<a class=heading-anchor href=#bearer-token-authentication aria-label=Anchor>#</a></h4><p><strong>Static Bearer Token:</strong></p><p>Use a static bearer token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><s [...]
+</span></span></code></pre></div><h3 id=4-restart-polaris>4. Restart Polaris</h3><p>Restart the Polaris service to apply the configuration.</p><h2 id=configuration-reference>Configuration Reference</h2><h3 id=basic-configuration>Basic Configuration</h3><table><thead><tr><th>Property</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.authorization.type</code></td><td>Yes</td><td><code>internal</code></td><td>Set to <code>opa</code> to enable [...]
+</span></span></code></pre></div><h4 id=bearer-token-authentication>Bearer Token Authentication</h4><p><strong>Static Bearer Token:</strong></p><p>Use a static bearer token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.type</span><span style=color:#f92672>=</span><span [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.bearer.static-token.value</span><span style=color:#f92672>=</span><span style=color:#e6db74>your-secret-token</span>
</span></span></code></pre></div><table><thead><tr><th>Property</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.authorization.opa.auth.type</code></td><td>No</td><td><code>none</code></td><td>Set to <code>bearer</code> to enable bearer token authentication</td></tr><tr><td><code>polaris.authorization.opa.auth.bearer.static-token.value</code></td><td>Yes*</td><td>-</td><td>The bearer token value (*when using static token)</td></tr></tbody [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.bearer.file-based.path</span><span style=color:#f92672>=</span><span style=color:#e6db74>/var/secrets/token.txt</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.bearer.file-based.refresh-interval</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT5M</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.bearer.file-based.jwt-expiration-refresh</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authorization.opa.auth.bearer.file-based.jwt-expiration-buffer</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1M</span>
-</span></span></code></pre></div><table><thead><tr><th>Property</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.authorization.opa.auth.type</code></td><td>No</td><td><code>none</code></td><td>Set to <code>bearer</code> to enable bearer token authentication</td></tr><tr><td><code>polaris.authorization.opa.auth.bearer.file-based.path</code></td><td>Yes*</td><td>-</td><td>Path to file containing the bearer token (*when using file-based toke [...]
+</span></span></code></pre></div><table><thead><tr><th>Property</th><th>Required</th><th>Default</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.authorization.opa.auth.type</code></td><td>No</td><td><code>none</code></td><td>Set to <code>bearer</code> to enable bearer token authentication</td></tr><tr><td><code>polaris.authorization.opa.auth.bearer.file-based.path</code></td><td>Yes*</td><td>-</td><td>Path to file containing the bearer token (*when using file-based toke [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>"actor"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"principal"</span>: <span style=color:#e6db74>"user@example.com"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"roles"</span>: [<span style=color:#e6db74>"role1"</span>, <span style=color:#e6db74>"role2"</span>]
@@ -124,7 +124,7 @@ allow if {
</span></span><span style=display:flex><span> <span style=color:#f92672>"request_id"</span>: <span style=color:#e6db74>"uuid"</span>
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h4 id=actor-object id=actor-object>Actor Object<a class=heading-anchor href=#actor-object aria-label=Anchor>#</a></h4><table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>principal</code></td><td>string</td><td>The principal identifier (e.g., username, service account)</td></tr><tr><td><code>roles</code></td><td>array</td><td>Array of role names assigned to the principal</td></tr></tbody></table><h4 id=action [...]
+</span></span></code></pre></div><h4 id=actor-object>Actor Object</h4><table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>principal</code></td><td>string</td><td>The principal identifier (e.g., username, service account)</td></tr><tr><td><code>roles</code></td><td>array</td><td>Array of role names assigned to the principal</td></tr></tbody></table><h4 id=action-field>Action Field</h4><p>The <code>action</code> field contains the operation be [...]
import future.keywords.if
import future.keywords.in
@@ -181,7 +181,7 @@ allow if {
some target in input.resource.targets
target.type == "TABLE"
}
-</code></pre><div class="alert alert-info"><p class=alert-heading>ℹ️ Best Practice</p><strong>Explicit Allow Lists for Data Operations Only</strong>: The example above uses an explicit allow-list approach where only catalog, namespace, and table operations are permitted. Policy and grant operations (like <code>ADD_PRINCIPAL_GRANT_TO_PRINCIPAL_ROLE</code>, <code>CREATE_POLICY</code>) are automatically denied by the <code>default allow := false</code> since they’re not in any allow r [...]
+</code></pre><div class="alert alert-info"><p class=alert-heading>ℹ️ Best Practice</p><strong>Explicit Allow Lists for Data Operations Only</strong>: The example above uses an explicit allow-list approach where only catalog, namespace, and table operations are permitted. Policy and grant operations (like <code>ADD_PRINCIPAL_GRANT_TO_PRINCIPAL_ROLE</code>, <code>CREATE_POLICY</code>) are automatically denied by the <code>default allow := false</code> since they’re not in any allow r [...]
import future.keywords.if
@@ -290,4 +290,4 @@ test_analyst_cannot_update_table if {
}
}
</code></pre><p>Run tests:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>opa test policies/
-</span></span></code></pre></div><h2 id=additional-resources id=additional-resources>Additional Resources<a class=heading-anchor href=#additional-resources aria-label=Anchor>#</a></h2><ul><li><a href=https://www.openpolicyagent.org/docs/latest/>OPA Documentation</a></li><li><a href=https://www.openpolicyagent.org/docs/latest/policy-language/>Rego Language Guide</a></li><li><a href=https://www.openpolicyagent.org/docs/latest/policy-testing/>OPA Policy Testing</a></li><li><a href=https://w [...]
\ No newline at end of file
+</span></span></code></pre></div><h2 id=additional-resources>Additional Resources</h2><ul><li><a href=https://www.openpolicyagent.org/docs/latest/>OPA Documentation</a></li><li><a href=https://www.openpolicyagent.org/docs/latest/policy-language/>Rego Language Guide</a></li><li><a href=https://www.openpolicyagent.org/docs/latest/policy-testing/>OPA Policy Testing</a></li><li><a href=https://www.openpolicyagent.org/docs/latest/management-bundles/>OPA Bundles</a></li></ul></div></main></div [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/managing-security/index.html b/in-dev/unreleased/managing-security/index.html
index 3795ad26d..084e99f20 100644
--- a/in-dev/unreleased/managing-security/index.html
+++ b/in-dev/unreleased/managing-security/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/managing-security/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><li [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Managing Security"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with p [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Managing Security"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with p [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/metastores/index.html b/in-dev/unreleased/metastores/index.html
index 399ca596c..da0fd8b4e 100644
--- a/in-dev/unreleased/metastores/index.html
+++ b/in-dev/unreleased/metastores/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains how to configure and use Polaris metastores with the recommended Relational JDBC backend.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
+1. Relational JDBC metastore with username and password using environment variables:
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; using properties file:"><meta property="og:title" content="Metastores"><meta property="og:description" content="This page explains how to configure and use Polaris metastores with the recommended Relational JDBC backend.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
+1. Relational JDBC metastore with username and password using environment variables:
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> using properties file:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/metastores/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Metastores"><meta itemprop=description content="This page explains how to c [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
+1. Relational JDBC metastore with username and password using environment variables:
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> using properties file:"><meta itemprop=wordCount content="165"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Metastores"><meta name=twitter:description content="This page explains how to configure and use Polaris metastores with the recommended Relat [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
-POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> using properties file:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js [...]
+1. Relational JDBC metastore with username and password using environment variables:
+POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> using properties file:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -64,8 +64,8 @@ POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=<your-usern
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-environment variables or JVM -D flags at startup. For more information, refer to the <a href=https://quarkus.io/guides/config-reference#env-file>Quarkus configuration reference</a>.</p><p>We have 2 options for configuring the persistence backend:</p><h3 id=1-relational-jdbc-metastore-with-username-and-password id=1-relational-jdbc-metastore-with-username-and-password>1. Relational JDBC metastore with username and password<a class=heading-anchor href=#1-relational-jdbc-metastore-with-user [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+environment variables or JVM -D flags at startup. For more information, refer to the <a href=https://quarkus.io/guides/config-reference#env-file>Quarkus configuration reference</a>.</p><p>We have 2 options for configuring the persistence backend:</p><h3 id=1-relational-jdbc-metastore-with-username-and-password>1. Relational JDBC metastore with username and password</h3><p>using environment variables:</p><pre tabindex=0><code>POLARIS_PERSISTENCE_TYPE=relational-jdbc
QUARKUS_DATASOURCE_USERNAME=<your-username>
QUARKUS_DATASOURCE_PASSWORD=<your-password>
@@ -74,7 +74,7 @@ QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
quarkus.datasource.jdbc.username=<your-username>
quarkus.datasource.jdbc.password=<your-password>
quarkus.datasource.jdbc.jdbc-url=<jdbc-url-of-postgres>
-</code></pre><h3 id=2-aws-aurora-postgresql-metastore-using-iam-aws-authentication id=2-aws-aurora-postgresql-metastore-using-iam-aws-authentication>2. AWS Aurora PostgreSQL metastore using IAM AWS authentication<a class=heading-anchor href=#2-aws-aurora-postgresql-metastore-using-iam-aws-authentication aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris.persistence.type=relational-jdbc
+</code></pre><h3 id=2-aws-aurora-postgresql-metastore-using-iam-aws-authentication>2. AWS Aurora PostgreSQL metastore using IAM AWS authentication</h3><pre tabindex=0><code>polaris.persistence.type=relational-jdbc
quarkus.datasource.jdbc.url=jdbc:postgresql://polaris-cluster.cluster-xyz.us-east-1.rds.amazonaws.com:6160/polaris
quarkus.datasource.jdbc.additional-jdbc-properties.wrapperPlugins=iam
quarkus.datasource.username=dbusername
diff --git a/in-dev/unreleased/polaris-api-specs/index.html b/in-dev/unreleased/polaris-api-specs/index.html
index 64731f56c..436f142f4 100644
--- a/in-dev/unreleased/polaris-api-specs/index.html
+++ b/in-dev/unreleased/polaris-api-specs/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><li [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Polaris API Reference"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life wi [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Polaris API Reference"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life wi [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/index.html b/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/index.html
index 9a80e6d91..620e79324 100644
--- a/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/index.html
+++ b/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Catalog Service OpenAPI Specification"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Apache Polaris Catalog Service OpenAPI Specification"><meta itemprop=descrip [...]
+<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Catalog Service OpenAPI Specification"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Apache Polaris Catalog Service OpenAPI Specification"><meta itemprop=descrip [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/polaris-api-specs/polaris-management-api/index.html b/in-dev/unreleased/polaris-api-specs/polaris-management-api/index.html
index 0ffef86e8..9b15c52b6 100644
--- a/in-dev/unreleased/polaris-api-specs/polaris-management-api/index.html
+++ b/in-dev/unreleased/polaris-api-specs/polaris-management-api/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI Specification"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-management-api/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Apache Polaris Management Service OpenAPI Specification"><meta itempro [...]
+<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI Specification"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-management-api/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Apache Polaris Management Service OpenAPI Specification"><meta itempro [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
diff --git a/in-dev/unreleased/polaris-spark-client/index.html b/in-dev/unreleased/polaris-spark-client/index.html
index ce2253334..d54fae9b4 100644
--- a/in-dev/unreleased/polaris-spark-client/index.html
+++ b/in-dev/unreleased/polaris-spark-client/index.html
@@ -4,22 +4,22 @@
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta property="og:title" content="Polaris Spark Client"><meta property="og:description" content="Polaris provides a Spark client to manage non-Iceberg tables through Generic Tables.
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta property="og:title" content="Polaris Spark Client"><meta property="og:description" content="Polaris provides a Spark client to manage non-Iceberg tables through Generic Tables.
📝 Note
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Polaris Spark Client"><meta itemprop=descri [...]
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Polaris Spark Client"><meta itemprop=descrip [...]
📝 Note
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta itemprop=wordCount content="585"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Spark Client"><meta name=twitter:description content="Polaris provides a Spark client to manage non-Iceberg tab [...]
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><meta itemprop=wordCount content="585"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Spark Client"><meta name=twitter:description content="Polaris provides a Spark client to manage non-Iceberg tabl [...]
📝 Note
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_ [...]
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3 [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -68,16 +68,16 @@ Quick Start with Local Polaris Service# If you want to quickly try out the funct
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
and follow the instructions in the Spark plugin getting-started
<a href=https://github.com/apache/polaris/blob/main/plugins/spark/v3.5/getting-started/README.md>README</a>.</p><p>Check out the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>git clone https://github.com/apache/polaris.git ~/polaris
-</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service id=start-spark-against-a-deployed-polaris-service>Start Spark against a Deployed Polaris Service<a class=heading-anchor href=#start-spark-against-a-deployed-polaris-service aria-label=Anchor>#</a></h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
+</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service>Start Spark against a Deployed Polaris Service</h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
Spark 3.5.6 is recommended, and you can follow the instructions below to get a Spark 3.5.6 distribution.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>wget https://www.apache.org/dyn/closer.lua/spark/spark-3.5.6/spark-3.5.6-bin-hadoop3.tgz?action<span style=color:#f92672>=</span>download
</span></span><span style=display:flex><span>mkdir spark-3.5
</span></span><span style=display:flex><span>tar xzvf spark-3.5.6-bin-hadoop3.tgz -C spark-3.5 --strip-components<span style=color:#f92672>=</span><span style=color:#ae81ff>1</span>
</span></span><span style=display:flex><span>cd spark-3.5
-</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark Client<a class=heading-anchor href=#connecting-with-spark-using-the-polaris-spark-client aria-label=Anchor>#</a></h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
+</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark Client</h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
a released Polaris Spark client.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>bin/spark-shell <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages <polaris-spark-client-package>,org.apache.iceberg:iceberg-aws-bundle:1.10.0,io.delta:delta-spark_2.12:3.3.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,io.delta.sql.DeltaSparkSessionExtension <span style=color:#ae81ff>\
@@ -107,7 +107,7 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.scope"</span>, <span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation"</span>, <span style=color:#e6db74>'vended-credentials'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>getOrCreate()
-</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark id=create-tables-with-spark>Create tables with Spark<a class=heading-anchor href=#create-tables-with-spark aria-label=Anchor>#</a></h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-siz [...]
+</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark>Create tables with Spark</h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>s [...]
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS.PUBLIC"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"USE NAMESPACE DELTA_NS.PUBLIC"</span>)
@@ -115,7 +115,7 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span></span><span style=display:flex><span><span style=color:#e6db74> id int, name string)
</span></span></span><span style=display:flex><span><span style=color:#e6db74>USING delta LOCATION 'file:///tmp/var/delta_tables/people';
</span></span></span><span style=display:flex><span><span style=color:#e6db74>"""</span>)
-</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar<a class=heading-anchor href=#connecting-with-spark-using-local-polaris-spark-client-jar aria-label=Anchor>#</a></h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
+</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar</h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
build a Spark client jar locally from source. Please check out the Polaris repo and refer to the Spark plugin
-<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=current-limitations id=current-limitations>Current Limitations<a class=heading-anchor href=#current-limitations aria-label=Anchor>#</a></h2><p>The following describes the current limitations of the Polaris Spark client:</p><h3 id=general-limitations id=general-limitations>General Limitations<a class=heading-anchor href=#general-limitations aria-label=Anchor>#</a></h [...]
+<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=current-limitations>Current Limitations</h2><p>The following describes the current limitations of the Polaris Spark client:</p><h3 id=general-limitations>General Limitations</h3><ol><li>The Polaris Spark client only supports Iceberg and Delta tables. It does not support other table formats like CSV, JSON, etc.</li><li>Generic tables (non-Iceberg tables) APIs do not [...]
is also not supported, since it relies on the CTAS support.</li><li>Create a Delta table without explicit location is not supported.</li><li>Rename a Delta table is not supported.</li><li>ALTER TABLE … SET LOCATION is not supported for DELTA table.</li></ol></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__l [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/policy/index.html b/in-dev/unreleased/policy/index.html
index a9ec69b8b..d0a376bb4 100644
--- a/in-dev/unreleased/policy/index.html
+++ b/in-dev/unreleased/policy/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the catalog.
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce f [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fi [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/policy/"><meta property="article:section" content="in-dev [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/policy/"><meta property="article:section" content="in-dev" [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:desc [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:descr [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562 [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562c [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,9 +56,9 @@ Create and manage policies Attach policies to specific resources (catalogs, name
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
-predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
-For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance id=policy-inheritance>Policy Inheritance<a class=heading-anchor href=#policy-inheritance aria-label=Anchor>#</a></h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
+For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance>Policy Inheritance</h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
|
Namespace
|
@@ -67,7 +67,7 @@ For more details, please refer to the <a href=https://github.com/apache/polaris/
Iceberg Iceberg Generic
Table View Table
</code></pre><p>Policies can be attached at any level, and inheritance flows from catalog down to namespace, then to tables and views.</p><p>Policies can be inheritable or non-inheritable:</p><ul><li><strong>Inheritable policies</strong>: Apply to the target resource and all its applicable child resources</li><li><strong>Non-inheritable policies</strong>: Apply only to the specific target resource</li></ul><p>The inheritance follows an override mechanism:</p><ol><li>Table-level policies [...]
-<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</div><h2 id=working-with-policies id=working-with-policies>Working with Policies<a class=heading-anchor href=#working-with-policies aria-label=Anchor>#</a></h2><h3 id=creating-a-policy id=creating-a-policy>Creating a Policy<a class=heading-anchor href=#creating-a-policy aria-label=Anchor>#</a></h3><p>To create a policy, you need to provide a name, type, and optionally a descrip [...]
+<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</div><h2 id=working-with-policies>Working with Policies</h2><h3 id=creating-a-policy>Creating a Policy</h3><p>To create a policy, you need to provide a name, type, and optionally a description and content:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span s [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"compaction-policy"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"system.data-compaction"</span>,
@@ -92,7 +92,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> <span style=color:#f92672>"prefix_mismatch_mode"</span>: <span style=color:#e6db74>"ignore"</span>
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=attaching-policies-to-resources id=attaching-policies-to-resources>Attaching Policies to Resources<a class=heading-anchor href=#attaching-policies-to-resources aria-label=Anchor>#</a></h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to indiv [...]
+</span></span></code></pre></div><h3 id=attaching-policies-to-resources>Attaching Policies to Resources</h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to individual tables or views</li></ol><p>Example of attaching a policy to a table:</p><div class=highlight><pre tabindex=0 styl [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"target"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"table-like"</span>,
@@ -100,7 +100,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>For inheritable policies, only one policy of a given type can be attached to a resource. For non-inheritable policies,
-multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies id=retrieving-applicable-policies>Retrieving Applicable Policies<a class=heading-anchor href=#retrieving-applicable-policies aria-label=Anchor>#</a></h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
+multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies>Retrieving Applicable Policies</h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
read permission on that resource.</p><p>Here is an example to find all policies that apply to a specific resource (including inherited policies):</p><pre tabindex=0><code>GET /polaris/v1/catalog/applicable-policies?namespace=finance%1Fquarterly&target-name=transactions
</code></pre><p><strong>Sample response:</strong></p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"policies"</span>: [
@@ -132,4 +132,4 @@ read permission on that resource.</p><p>Here is an example to find all policies
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> ]
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 c [...]
\ No newline at end of file
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/realm/index.html b/in-dev/unreleased/realm/index.html
index 43c87f054..8cdbf06f5 100644
--- a/in-dev/unreleased/realm/index.html
+++ b/in-dev/unreleased/realm/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/realm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="240"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/realm/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="240"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZ [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,5 +56,5 @@ Key Characteristics# Isolation: Each realm encapsulates its own set of resources
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
authorization.</p><p><strong>Isolation:</strong> In classes like <code>JdbcBasePersistenceImpl</code>, the realm id from the realm context is part of the primary key to manage entities of realms in isolation (within the same database instance).</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data- [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/telemetry/index.html b/in-dev/unreleased/telemetry/index.html
index e98c93860..5072d6178 100644
--- a/in-dev/unreleased/telemetry/index.html
+++ b/in-dev/unreleased/telemetry/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Metrics# Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8182 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8182/q/metrics.
+<meta name=description content="Metrics Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8182 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8182/q/metrics.
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8182 by default) under the path /q/metrics. For example, if the server is running on localhost, the metr [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8182 by default) under the path /q/metrics. For example, if the server is running on localhost, the metri [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/telemetry/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics# Metrics are published using Micrometer; [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/in-dev/unreleased/telemetry/"><meta property="article:section" content="in-dev"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics Metrics are published using Micrometer; [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="973"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="973"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
<label for=m-in-devunreleased-check><a href=/in-dev/unreleased/ title=Overview class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleased><span>In Development</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedgetting-started-li><input type=checkbox id=m-in-devunreleasedgetting-started-check>
<label for=m-in-devunreleasedgetting-started-check><a href=/in-dev/unreleased/getting-started/ title="Getting Started with Apache Polaris" class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedgetting-started><span>Getting Started</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedquick-start-li><input type=checkbox id=m-in-devunreleasedgetting-star [...]
<label for=m-in-devunreleasedgetting-startedquick-start-check><a href=/in-dev/unreleased/getting-started/quick-start/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedgetting-startedquick-start><span>Quickstart</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedgetting-startedbinary-distribution-li><input type=checkbox id=m-in-devunreleasedgetting-startedbinary-distribution-check>
@@ -56,7 +56,7 @@ Additional tags can be added to the metrics by setting the polaris.metrics.tags.
<label for=m-in-devunreleasedevolution-check><a href=/in-dev/unreleased/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedevolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-in-devunreleasedpolaris-api-specs-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specs-check>
<label for=m-in-devunreleasedpolaris-api-specs-check><a href=/in-dev/unreleased/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-in-devunreleasedpolaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-specspolaris-management-api-li><input type=checkbox id=m-in-devunreleasedpolaris-api-specspolaris-manage [...]
<label for=m-in-devunreleasedpolaris-api-specspolaris-management-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-in-devunreleasedpolaris-api-sp [...]
-<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
+<label for=m-in-devunreleasedpolaris-api-specspolaris-catalog-api-check><a href=/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-in-devunreleasedpolaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div [...]
(port 8182 by default) under the path <code>/q/metrics</code>. For example, if the server is running on
localhost, the metrics can be accessed via http://localhost:8182/q/metrics.</p><p>Metrics can be scraped by Prometheus or any compatible metrics scraping server. See:
<a href=https://prometheus.io>Prometheus</a> for more information.</p><p>Additional tags can be added to the metrics by setting the <code>polaris.metrics.tags.*</code> property. Each
@@ -66,7 +66,7 @@ tags can be added, such as below:</p><div class=highlight><pre tabindex=0 style=
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.environment</span><span style=color:#f92672>=</span><span style=color:#e6db74>prod</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.region</span><span style=color:#f92672>=</span><span style=color:#e6db74>us-west-2</span>
</span></span></code></pre></div><p>Note that by default Polaris adds one tag: <code>application=Polaris</code>. You can override this tag by
-setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag id=realm-id-tag>Realm ID Tag<a class=heading-anchor href=#realm-id-tag aria-label=Anchor>#</a></h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
+setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag>Realm ID Tag</h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
default to prevent high cardinality issues, but can be enabled by setting the following properties:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-api-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-http-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>You should be particularly careful when enabling the realm ID tag in HTTP request metrics, as these
@@ -74,7 +74,7 @@ metrics typically have a much higher cardinality than API request metrics.</p><p
crashing the server, the number of unique realm IDs in HTTP request metrics is limited to 100 by
default. If the number of unique realm IDs exceeds this value, a warning will be logged and no more
HTTP request metrics will be recorded. This threshold can be changed by setting the
-<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces id=traces>Traces<a class=heading-anchor href=#traces aria-label=Anchor>#</a></h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
+<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces>Traces</h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
for the collector endpoint for all cases.</p><p>To enable OpenTelemetry and publish traces for Polaris set <code>quarkus.otel.sdk.disabled=false</code>
and configure a valid collector endpoint URL with <code>http://</code> or <code>https://</code> as the server property
<code>quarkus.otel.exporter.otlp.traces.endpoint</code>.</p><p><em>If these properties are not set, the server will not publish traces.</em></p><p>The collector must talk the OpenTelemetry protocol (OTLP) and the port must be its gRPC port
@@ -87,10 +87,10 @@ an attribute <code>deployment.environment=dev</code>, set the following property
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.otel.resource.attributes[1]</span><span style=color:#f92672>=</span><span style=color:#e6db74>deployment.environment=dev</span>
</span></span></code></pre></div><p>Finally, two additional span attributes are added to all request parent spans:</p><ul><li><code>polaris.request.id</code>: The unique identifier of the request, if set by the caller through the
<code>X-Request-ID</code> header.</li><li><code>polaris.realm</code>: The unique identifier of the realm. Always set (unless the request failed because
-of a realm resolution error).</li></ul><h3 id=troubleshooting-traces id=troubleshooting-traces>Troubleshooting Traces<a class=heading-anchor href=#troubleshooting-traces aria-label=Anchor>#</a></h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
+of a realm resolution error).</li></ul><h3 id=troubleshooting-traces>Troubleshooting Traces</h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
The request could not be executed. Full error message: Failed to connect to localhost/0:0:0:0:0:0:0:1:4317
</code></pre><p>This means that the server is unable to connect to the collector. Check that the collector is
-running and that the URL is correct.</p><h2 id=logging id=logging>Logging<a class=heading-anchor href=#logging aria-label=Anchor>#</a></h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
+running and that the URL is correct.</p><h2 id=logging>Logging</h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
file is rotated daily and compressed. The maximum size of the log file is 10MB, and the maximum
number of backup files is 14.</p><p>JSON logging can be enabled by setting the <code>quarkus.log.console.json.enabled</code> and <code>quarkus.log.file.json.enabled</code>
properties to <code>true</code>. By default, JSON logging is disabled.</p><p>The log level can be set for the entire application or for specific packages. The default log level
@@ -101,7 +101,7 @@ This can be done by setting the following property:</p><div class=highlight><pre
</span></span></code></pre></div><p>The log message format for both console and file output is highly configurable. The default format
is:</p><pre tabindex=0><code>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{requestId},%X{realmId}] [%X{traceId},%X{parentId},%X{spanId},%X{sampled}] (%t) %s%e%n
</code></pre><p>Refer to the <a href=https://quarkus.io/guides/logging#logging-format>Logging format</a> guide for more
-information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging id=mdc-logging>MDC Logging<a class=heading-anchor href=#mdc-logging aria-label=Anchor>#</a></h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
+information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging>MDC Logging</h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
following MDC keys are available:</p><ul><li><code>requestId</code>: The unique identifier of the request, if set by the caller through the
<code>X-Request-ID</code> header.</li><li><code>realmId</code>: The unique identifier of the realm. Always set.</li><li><code>traceId</code>: The unique identifier of the trace. Present if tracing is enabled and the message is
originating from a traced context.</li><li><code>parentId</code>: The unique identifier of the parent span. Present if tracing is enabled and the
@@ -112,4 +112,4 @@ key-value pair, where the key is the MDC key name and the value is the MDC key v
to add the MDC keys <code>environment=prod</code> and <code>region=us-west-2</code> to all log messages, set the following
properties:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.log.mdc.environment</span><span style=color:#f92672>=</span><span style=color:#e6db74>prod</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.log.mdc.region</span><span style=color:#f92672>=</span><span style=color:#e6db74>us-west-2</span>
-</span></span></code></pre></div><p>MDC context is propagated across threads, including in <code>TaskExecutor</code> threads.</p><h2 id=links id=links>Links<a class=heading-anchor href=#links aria-label=Anchor>#</a></h2><p>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/>Using Polaris with telemetry tools</a> to see sample Polaris config with Prometheus and Jaeger.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-f [...]
\ No newline at end of file
+</span></span></code></pre></div><p>MDC context is propagated across threads, including in <code>TaskExecutor</code> threads.</p><h2 id=links>Links</h2><p>Visit <a href=/in-dev/unreleased/getting-started/using-polaris/telemetry-tools/>Using Polaris with telemetry tools</a> to see sample Polaris config with Prometheus and Jaeger.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col- [...]
\ No newline at end of file
diff --git a/index.html b/index.html
index 75316aff2..6b259122f 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,2 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta name=generator content="Hugo 0.123.7"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180 [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powe [...]
\ No newline at end of file
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Apache Polaris"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powe [...]
\ No newline at end of file
diff --git a/index.xml b/index.xml
index b1e3406d9..9ac3405c2 100644
--- a/index.xml
+++ b/index.xml
@@ -1,76 +1,76 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Polaris</title><link>https://polaris.apache.org/</link><description>Recent content on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://polaris.apache.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Quick [...]
Disclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.
-Prerequisites# Have Docker (with Docker Compose v2) installed &amp; running on your machine Running# Run the following command:
+Prerequisites Have Docker (with Docker Compose v2) installed &amp; running on your machine Running Run the following command:
curl -s https://raw.githubusercontent.com/apache/polaris/main/getting-started/quickstart/docker-compose.yml | docker compose -f - up This command will:</description></item><item><title>Creating a catalog on AWS S3</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-aws/</guid><desc [...]
Note: the name quickstart_catalog from the example below is referenced in other Getting Started examples, but of course, it can be any valid catalog name.
CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my_data ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole REGION=us-west-2 EXTERNAL_ID=12345678901234567890 ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ --region ${REGION} \ --external-id ${EXTERNAL_ID} \ quickstart_catalog</description></item><item><title>Creati [...]
Note: the name quickstart_catalog from the example below is referenced in other Getting Started examples, but of course, it can be any valid catalog name.
CLIENT_ID=root CLIENT_SECRET=s3cr3t DEFAULT_BASE_LOCATION=s3://example-bucket/my_data ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole REGION=us-west-2 EXTERNAL_ID=12345678901234567890 ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ --region ${REGION} \ --external-id ${EXTERNAL_ID} \ quickstart_catalog</description></item><item><title>Binary [...]
-Prerequisites# Java SE 21 or later installed on your machine Running# Download and extract the binary distribution:
+Prerequisites Java SE 21 or later installed on your machine Running Download and extract the binary distribution:
curl -L https://downloads.apache.org/incubator/polaris/1.2.0-incubating/polaris-bin-1.2.0-incubating.tgz | tar xz cd polaris-distribution-1.2.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8182. Health and metrics endpoints are available under /q.
You can verify the server is running by checking the health endpoint:</description></item><item><title>Iceberg Catalog Migrator</title><link>https://polaris.apache.org/tools/iceberg-catalog-migrator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/tools/iceberg-catalog-migrator/</guid><description>Iceberg Catalog Migrator is a command-line tool to migrate Iceberg tables from one Iceberg catalog to another.
To use this tool, please see this guide.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/install-dependencies/</guid><description>This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to bu [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/ [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/ [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/ [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/ [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Apache Polaris Management Service OpenAPI Specification</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-management-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pu [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/r [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/r [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/r [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/install-dependencies/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/r [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Apache Polaris Management Service OpenAPI Specification</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-management-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pub [...]
OPA integration is currently an preview feature and may undergo breaking changes in future versions. Use with caution in production environments. This page describes how to integrate Apache Polaris (Incubating) with Open Policy Agent (OPA) for external authorization.
-Overview# Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software.</description></item><item><title>Quick Start</title><link>https://polaris.apache.org/releases/0.9.0/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Semi-Automated Release Guide</title><link>https://polaris.apache.org/community/release-guides/semi-automated-release-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apac [...]
-Overview# The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
+Overview Open Policy Agent (OPA) is a general-purpose policy engine that enables unified, context-aware policy enforcement across your stack. OPA provides a high-level declarative language (Rego) for authoring policies and APIs to offload policy decision-making from your software.</description></item><item><title>Quick Start</title><link>https://polaris.apache.org/releases/0.9.0/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/ [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Semi-Automated Release Guide</title><link>https://polaris.apache.org/community/release-guides/semi-automated-release-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apach [...]
+Overview The steps performed in the Manual Release Guide have been automated to a large extent. This semi-automated release guide outlines the workflows that can be used to perform a release with little manual intervention.
Note that all screenshots in this page are for illustration purposes only. The actual repository name, version numbers, etc. may be different.
-Dry-run mode# Each of the Github Workflows that have been developed comes with a dry-run mode.</description></item><item><title>Creating a catalog on Apache Ozone</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/</guid><description>When creating a catalog based on Apache [...]
+Dry-run mode Each of the Github Workflows that have been developed comes with a dry-run mode.</description></item><item><title>Creating a catalog on Apache Ozone</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-ozone/</guid><description>When creating a catalog based on Apache [...]
Note: the --no-sts CLI option instructs Polaris to avoid calling STS endpoints with AssumeRoles requests. This means that both Polaris and its clients (engines) will have to use distinct (local) credentials for accessing storage.</description></item><item><title>Role-Based Access Control</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/mana [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
ℹ️ Info
For advanced authorization scenarios requiring external policy management or integration with existing policy infrastructure, Polaris supports integration with external Policy Decision Points (PDPs) such as Open Policy Agent (OPA).</description></item><item><title>Role-Based Access Control</title><link>https://polaris.apache.org/releases/1.2.0/managing-security/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/managing [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Apache Polaris Catalog Service OpenAPI Specification</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/</guid><description> Top</d [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
---storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATI [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Apache Polaris Catalog Service OpenAPI Specification</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/polaris-api-specs/polaris-catalog-api/</guid><description> Top</de [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+--storage-type gcs --service-account (Only for GCS) The service account to use when connecting to GCS example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \ SERVICE_ACCOUNT=serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \ ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type gcs \ --service-account ${SERVICE_ACCOUNT} \ --default-base-location ${DEFAULT_BASE_LOCATIO [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Deploying Polaris locally</title><link>https://polaris.apache.org/in-dev/unreleased/getting-st [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Manual Release Guide (deprecated)</title><link>https://polaris.apache.org/community/release-gu [...]
⚠️ Warning
This guide is deprecated. While it remains functional and comprehensive, we recommend using the Semi-Automated Release Guide for new releases when available. This manual process is maintained for reference and fallback scenarios. This guide walks you through the process of creating a release of the Apache Polaris podling.
Instructions how to verify a release candidate are available here.
-Setup# To create a release candidate, you will need:</description></item><item><title>Creating a catalog on MinIO</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/</guid><description>When creating a catalog based on MinIO storage it is important to configure the endpoint [...]
+Setup To create a release candidate, you will need:</description></item><item><title>Creating a catalog on MinIO</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/s3/catalog-minio/</guid><description>When creating a catalog based on MinIO storage it is important to configure the endpoint [...]
Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris).</description></item><item><title>Creating a catalog on MinIO</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/creating-a-catalog/s3/catalog-minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/getting-started/creating-a-catalog/s3/ca [...]
Note: the region setting is not required by MinIO, but it is set in this example for the sake of simplicity as it is usually required by the AWS SDK (used internally by Polaris).</description></item><item><title>Overview</title><link>https://polaris.apache.org/releases/0.9.0/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/overview/</guid><description>Apache Polaris (Incubating) is a catalog implementation for Apache Iceber [...]
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1.</description></item><item><title>Polaris MCP Server</title><link>https://polaris.apache.org/tools/polaris-mcp-server/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/tools/polaris-mcp-server/</guid><description>Polaris MCP Server is a package that provides Python implementation of the Model Context Protocol (MCP) server for Apache [...]
It wraps the Polaris REST APIs so MCP-compatible clients (IDEs, agents, chat applications) can issue structured requests via JSON-RPC.
To use this tool, please see this guide.</description></item><item><title>Apache Polaris Proposals & Roadmap</title><link>https://polaris.apache.org/community/proposals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/proposals/</guid><description>Proposals Active
Past
Polaris Roadmap Discussed Roadmap</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/getting-started/quickstart/</guid><description>Polaris can be deployed via a docker image or as a standalone process. Before starting, be sure that you&rsquo;ve satisfied the relevant prerequisites detailed in the previous page.
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/quickstart [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/quickstart [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/in-dev/unreleased/admin-tool/</link><pubDat [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.0.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/a [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.0.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/ad [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.0.1/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00 [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.0.1/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00: [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.1.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00 [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.1.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00: [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.2.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/a [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Admin Tool</title><link>https://polaris.apache.org/releases/1.2.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/ad [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Creating a catalog on Azure</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000< [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
---storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location example# CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=ht [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Creating a catalog on Azure</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/creating-a-catalog/catalog-azure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</ [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location Example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
+--storage-type azure --tenant-id (Required for Azure) A tenant ID to use when connecting to Azure Storage --multi-tenant-app-name (Only for Azure) The app name to use when connecting to Azure Storage --consent-url (Only for Azure) A consent URL granting permissions for the Azure Storage location example CLIENT_ID=root \ CLIENT_SECRET=s3cr3t \ DEFAULT_BASE_LOCATION=abfss://tenant123@blob.core.windows.net \ TENANT_ID=tenant123.onmicrosoft.com \ MULTI_TENANT_APP_NAME=myapp \ CONSENT_URL=htt [...]
Using the Iceberg Catalog Migrator tool: A command-line tool to migrate Iceberg tables from one Iceberg catalog to another. This tool works with any existing Iceberg catalog including Polaris. Using the Polaris Synchronizer tool: A tool to migrate entities from one Polaris instance to another. This tool is specific to Polaris.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/in-dev/unreleased/command-line-interface/</link><pubDate>Mon, 01 Ja [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --realm --header --profile --proxy --debug COMMAND must be one of the following:
@@ -92,11 +92,11 @@ polaris [options] COMMAND ... options: --host --port --base-url --client-id --cl
catalogs principals principal-roles catalog-roles namespaces privileges profiles policies repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn.</description></item><item><title>Release Verification Guide</title><link>https://polaris.apache.org/community/release-guides/release-verification-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/release-guides/release-ver [...]
This guide walks you through the process of verifying a staged Apache Polaris release candidate.
Please keep the ASF Release Policy, especially the section on &ldquo;Owned and Controlled Hardware,&rdquo; in mind: Strictly speaking, releases must be verified on hardware owned and controlled by the committer.
-Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention.</description></item><item><title>Authentication Development Details</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-de [...]
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+Verifying a (staged) release of an Apache project has to follow a bunch of tasks, which can be grouped into tasks that can be automated and those that need human intervention.</description></item><item><title>Authentication Development Details</title><link>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-dev-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/idp-de [...]
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
-The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions.</description></item><item><title>Authentification Development Details</title><link>https://polaris.apache.org/releases/1.2.0/managing-security/external-idp/idp-dev-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/managing-security/external-idp/idp-dev-notes/</guid><description>Developer Architecture Notes# Authentication Architectur [...]
-Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces# Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions.</description></item><item><title>Authentification Development Details</title><link>https://polaris.apache.org/releases/1.2.0/managing-security/external-idp/idp-dev-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/managing-security/external-idp/idp-dev-notes/</guid><description>Developer Architecture Notes Authentication Architecture [...]
+Credential extraction – parsing headers and tokens Credential authentication – validating identity and assigning roles Key Interfaces Authenticator: A core interface used to authenticate credentials and resolve principal and principal roles. Roles may be derived from OIDC claims or internal mappings.
InternalPolarisToken: Used in internal auth and inherits from PrincipalCredential.
The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions.</description></item><item><title>Deploying Polaris on Amazon Web Services (AWS)</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/deploying-polaris/cloud-deploy/deploy-aws/</guid><description>Build and laun [...]
The requirements to run the script below are:
@@ -125,49 +125,49 @@ Install the gcloud CLI, if it is not already installed on the GCP VM.</descripti
The requirements to run the script below are:
Install the gcloud CLI, if it is not already installed on the GCP VM.</description></item><item><title>Deploying Polaris on MinIO</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/minio/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/getting-started/minio/</guid><description>In this guide we walk through setting up a simple Polaris Server with local MinIO storage.
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance.</description></item><item><title>Realm</title><link>https://polaris.apache.org/in-dev/unreleased/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/realm/</guid><description>This page explains what a realm is and what it is use [...]
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.1/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.1.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.2.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title/><link>https://polaris.apache.org/community/chat-bylaws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/chat-bylaws/</guid><description>Apache Polaris - Project Chat Bylaws# Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
-Motivation# Apache Polaris uses public Slack workspace (join here).
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.1/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.1.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.2.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title/><link>https://polaris.apache.org/community/chat-bylaws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/chat-bylaws/</guid><description>Apache Polaris - Project Chat Bylaws Apache Polaris is currently undergoing Incubation at the Apache Software Foundation.
+Motivation Apache Polaris uses public Slack workspace (join here).
A few rules shall ensure that the chat conforms to the rules and best practices of the Apache Software Foundation and serves well as a collaboration tool for the project.
Organizations and other open-source projects that contribute continuously and significantly to Polaris are welcome, but shall not use the Polaris chat as a vehicle for their own marketing without explicit approval of the project (P)PMC.</description></item><item><title>Entities</title><link>https://polaris.apache.org/in-dev/unreleased/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/entities/</guid><description>This page [...]
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/0.9.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/0.9.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.1/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.1/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.1.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.1.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.2.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.2.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Getting Started with Apache Polaris, External Authentication and Keycloak</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/</guid><description>Overview# This example uses Keycloak as [...]
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Getting Started with Apache Polaris, External Authentication and Keycloak</title><link>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/getting-started/using-polaris/keycloak-idp/</guid><description>Overview This example uses Keycloak as a [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example.</description></item><item><title>Getting Started with Apache Polaris, External Authentication and Keycloak</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/using-polaris/keycloak-idp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache [...]
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example.</description></item><item><title>Getting Started with Apache Polaris, External Authentication and Keycloak</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/using-polaris/keycloak-idp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache [...]
This Keycloak realm contains 1 client definition: client1:s3cr3t. It is configured to return tokens with the following fixed claims:
-principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/</guid><description>Set [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.a [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.a [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+principal_id: the principal ID of the user. It is always set to zero (0) in this example. principal_name: the principal name of the user. It is always set to &ldquo;root&rdquo; in this example.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/</guid><description>Set [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.a [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.a [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item><item><title>Getting Started with Apache Polaris, Prometheus and Jaeger</title><link>https://polaris.apache.org/releases/1.2.0/getting-started/using-polaris/telemetry-tools/</link><pubDate>Mon [...]
Build the Polaris image if it&rsquo;s not already present locally:
./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Start the docker compose group by running the following command from the root of the repository:
@@ -178,87 +178,87 @@ Build the Polaris image if it&rsquo;s not already present locally:
docker compose -f getting-started/telemetry/docker-compose.yml up To access Polaris from the host machine, first request an access token:
export POLARIS_TOKEN=$(curl -s http://localhost:8181/api/catalog/v1/oauth/tokens \ --user root:s3cr3t \ -d &#39;grant_type=client_credentials&#39; \ -d &#39;scope=PRINCIPAL_ROLE:ALL&#39; | jq -r .</description></item><item><title>Policy</title><link>https://polaris.apache.org/in-dev/unreleased/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/policy/</guid><description>The Polaris Policy framework empowers o [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polari [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.1/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polari [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.1/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.1.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polari [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.1.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.2.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polari [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.2.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table</title><link>https://polaris.apache.org/in-dev/unreleased/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><gu [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table</title><link>https://polaris.apache.org/in-dev/unreleased/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><gui [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace ❗Important
-Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table?# A generic table is an entity that defines the following fields:</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/generic-table/</guid><description>The Generic Table in Apache Polaris is designed [...]
+Generic tables are in beta. Please use it with caution and report any issue if encountered. What is a Generic Table? A generic table is an entity that defines the following fields:</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/generic-table/</guid><description>The Generic Table in Apache Polaris is designed t [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.1/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/generic-table/</guid><de [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.1.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/generic-table/</guid><de [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.2.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/generic-table/</guid><de [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/in-dev/unreleased/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/telemetry/</guid><description>Met [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/in-dev/unreleased/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/telemetry/</guid><description>Met [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/telemetry/</guid><description>Metrics# Metrics are published using Micrometer; they are availab [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/telemetry/</guid><description>Metrics Metrics are published using Micrometer; they are availabl [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.1/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/telemetry/</guid><description>Metrics# Metrics are published using Micrometer; they are availab [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.1/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/telemetry/</guid><description>Metrics Metrics are published using Micrometer; they are availabl [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.1.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/telemetry/</guid><description>Metrics# Metrics are published using Micrometer; they are availab [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.1.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/telemetry/</guid><description>Metrics Metrics are published using Micrometer; they are availabl [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.2.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/telemetry/</guid><description>Metrics# Metrics are published using Micrometer; they are availab [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.2.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/telemetry/</guid><description>Metrics Metrics are published using Micrometer; they are availabl [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/0.9.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/access-control/</guid><description>This section provides information about how access [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.1/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.1/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.1.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.1.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title/><link>https://polaris.apache.org/community/community-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/community-guidelines/</guid><description>Community Guidelines# We value and appreciate the diverse contributions and ideas from the community. To maintain a [...]
-Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback.</description></item><item><title/><link>https://polaris.apache.org/community/contributing-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pol [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title/><link>https://polaris.apache.org/community/community-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/community-guidelines/</guid><description>Community Guidelines We value and appreciate the diverse contributions and ideas from the community. To maintain a we [...]
+Be respectful and considerate of other community members. Treat everyone with respect and professionalism. Refrain from engaging in offensive, discriminatory, or harassing behavior. Be patient and understanding towards others, especially newcomers who may be learning. Stay constructive and provide helpful feedback.</description></item><item><title/><link>https://polaris.apache.org/community/contributing-guidelines/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pol [...]
This documentation will help you get started.
-Contribute bug reports and feature requests# You can report an issue in the Polaris Catalog issue tracker.
-How to report a bug# Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
+Contribute bug reports and feature requests You can report an issue in the Polaris Catalog issue tracker.
+How to report a bug Note: If you find a security vulnerability, do NOT open an issue. Please email security@apache.org instead.
When filing an issue, make sure to answer these five questions:</description></item><item><title>Polaris Benchmarks</title><link>https://polaris.apache.org/tools/polaris-benchmarks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/tools/polaris-benchmarks/</guid><description>Polaris Benchmarks is a tool to measure the performance of Polaris. It can be used for comparing the performance of different Polaris instances or for monitoring the performanc [...]
-To use this tool, please see this guide.</description></item><item><title/><link>https://polaris.apache.org/community/security-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/security-report/</guid><description>Security Report# Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
+To use this tool, please see this guide.</description></item><item><title/><link>https://polaris.apache.org/community/security-report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/community/security-report/</guid><description>Security Report Adhering to the specifications of The ASF, the Apache Polaris community maintains a highly proactive and open attitude towards addressing security issues.
We strongly recommend that users first report such issues on the security@apache.org and private@polaris.apache.org, using the procedure details on The ASF Security page.
-Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.or [...]
+Please note that the security@apache.org and private@polaris.apache.org mailing lists are reserved for reporting undisclosed security vulnerabilities and following the vulnerability resolution process. Regular issue reports should be directed to GitHub Issue or the dev@polaris.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/in-dev/unreleased/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.or [...]
📝 Note
-For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuration/</guid><descriptio [...]
+For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuration/</guid><descriptio [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.1/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuration/</guid><description>Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.1/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuration/</guid><description>Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, t [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.1.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/configuration/</guid><description>Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.1.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/configuration/</guid><description>Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, t [...]
[!NOTE] For Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.2.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/configuration/</guid><description>Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.2.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/configuration/</guid><description>Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, t [...]
📝 Note
For Production tips and best practices, refer to Configuring Polaris for Production. First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.</description></item><item><title>External Identity Providers</title><link>https://polaris.apache.org/releases/1.1.0/external-idp/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/external-idp/</guid><desc [...]
-Authentication Types# Polaris supports three authentication modes:
+Authentication Types Polaris supports three authentication modes:
internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501).</description></item><item><title>Configuring GCS Cloud Storage</title><link>https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unrel [...]
All catalog operations in Polaris for Google Cloud Storage (GCS)—including listing, reading, and writing objects—are performed using credential vending, which issues scoped (vended) tokens for secure access.
Polaris requires both IAM roles and Hierarchical Namespace (HNS) ACLs (if HNS is enabled) to be properly configured.</description></item><item><title>Configuring Apache Polaris (Incubating) for Production</title><link>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</guid><description>The default polaris-server.yml config [...]
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.0.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuring-polaris-f [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/</guid><description>The default server configuration is intended for development and testing. When you de [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.1.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/configuring-polaris-for-production/</guid><description>The default server configuration is intended for development and testing. When you de [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.2.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/configuring-polaris-for-production/</guid><description>The default server configuration is intended for development and testing. When you de [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Configuring Helm for Production</title><link>https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/configuring-polaris-for-production/configuring-helm/</guid><description>This guide provides instructions for configuring [...]
The default Helm chart values are suitable for development and testing, but they are not recommended for production. Following are the key areas to consider for production deployment.
-Persistence# By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/</guid><description>Polaris provides a Spark client to manage non-Iceberg tables through Generic Tables.
+Persistence By default, the Polaris Helm chart uses an in-memory metastore, which is not suitable for production.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/polaris-spark-client/</guid><description>Polaris provides a Spark client to manage non-Iceberg tables through Generic Tables.
📝 Note
The Spark client can manage Iceberg tables and non-Iceberg tables.
Users who only use Iceberg tables do not need to use this client and can use the Iceberg-provided Spark client.
This page documents how to connect Spark with Polaris Service using the Polaris Spark client.
-Quick Start with Local Polaris Service# If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</guid><des [...]
+Quick Start with Local Polaris Service If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo and follow the instructions in the Spark plugin getting-started README.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</guid><desc [...]
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.0.1/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/polaris-spark-client/</guid><description>Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Catalog API Spe [...]
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
@@ -266,56 +266,56 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.2.0/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/polaris-spark-client/</guid><description>Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Polaris Catalog [...]
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
-Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/in-dev/unreleased/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/helm/</guid><description>Installation# The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
-Installing from the official repository (recommended)# Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
+Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/in-dev/unreleased/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/helm/</guid><description>Installation The instructions below are for the local Minikube cluster. They assume Minikube and Helm are installed.
+Installing from the official repository (recommended) Start the Minikube cluster, add the official Polaris Helm repository, create the target namespace, and install the chart:
minikube start helm repo add polaris https://downloads.apache.org/incubator/polaris/helm-chart helm repo update kubectl create namespace polaris helm install polaris polaris/polaris --namespace polaris --devel 📝 Note
The &ndash;devel flag is required while Polaris is in the incubation phase.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/releases/1.1.0/helm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/helm/</guid><description>A Helm chart for Apache Polaris (incubating).
Homepage: https://polaris.apache.org/
-Source Code# https://github.com/apache/polaris Installation# Running locally with a Minikube cluster# The below instructions assume Minikube and Helm are installed.
+Source Code https://github.com/apache/polaris Installation Running locally with a Minikube cluster The below instructions assume Minikube and Helm are installed.
Start the Minikube cluster, build and load image into the Minikube cluster:
-minikube start eval $(minikube docker-env) ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Installing the chart locally# The below instructions assume a local Kubernetes cluster is running and Helm is installed.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/releases/1.2.0/helm/</link><pubDate>Mon, [...]
+minikube start eval $(minikube docker-env) ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Installing the chart locally The below instructions assume a local Kubernetes cluster is running and Helm is installed.</description></item><item><title>Polaris Helm Chart</title><link>https://polaris.apache.org/releases/1.2.0/helm/</link><pubDate>Mon, 0 [...]
Homepage: https://polaris.apache.org/
-Source Code# https://github.com/apache/polaris Installation# Running locally with a Minikube cluster# The below instructions assume Minikube and Helm are installed.
+Source Code https://github.com/apache/polaris Installation Running locally with a Minikube cluster The below instructions assume Minikube and Helm are installed.
Start the Minikube cluster, build and load image into the Minikube cluster:
-minikube start eval $(minikube docker-env) ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Installing the chart locally# The below instructions assume a local Kubernetes cluster is running and Helm is installed.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/in-dev/unreleased/metastores/</link><pubDate>Mon, [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+minikube start eval $(minikube docker-env) ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true Installing the chart locally The below instructions assume a local Kubernetes cluster is running and Helm is installed.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/in-dev/unreleased/metastores/</link><pubDate>Mon, [...]
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:
+1. Relational JDBC metastore with username and password using environment variables:
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; using properties file:</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/0.9.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/metastores/</guid><description>T [...]
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
In order to specify a configuration file outside the classpath, follow these steps.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.0.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/metastores/</guid><description>This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the deprecated EclipseLink persistence backends.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.0.1/metast [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.1.0/metast [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.2.0/metastores/</link><pubDate>Mon, 01 Jan 0001 [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
We have 2 options for configuring the persistence backend:
-1. Relational JDBC metastore with username and password# using environment variables:</description></item><item><title>Iceberg REST Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/</guid><description>Polaris can federate an external Iceberg REST catalog (e.g., another Polaris deployment, AWS [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Iceberg REST Federation</title><link>https://polaris.apache.org/releases/1.2.0/federation/iceberg-rest-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate [...]
-Runtime requirements# REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</ [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/releases/1.2.0/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubD [...]
-Build-time enablement# The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item><item><title>Apache Polaris Management Service OpenAPI</title><link>https://polaris.apache.org/releases/0.9.0/polaris-management-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000 [...]
+1. Relational JDBC metastore with username and password using environment variables:</description></item><item><title>Iceberg REST Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/federation/iceberg-rest-federation/</guid><description>Polaris can federate an external Iceberg REST catalog (e.g., another Polaris deployment, AWS G [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Iceberg REST Federation</title><link>https://polaris.apache.org/releases/1.2.0/federation/iceberg-rest-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> [...]
+Runtime requirements REST endpoint: The remote service must expose the Iceberg REST specification. Configure firewalls so Polaris can reach the base URI you provide in the connection config. Authentication: Polaris forwards requests using the credentials defined in ConnectionConfigInfo.</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/in-dev/unreleased/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</p [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item><item><title>Hive Metastore Federation</title><link>https://polaris.apache.org/releases/1.2.0/federation/hive-metastore-federation/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDa [...]
+Build-time enablement The Hive factory is packaged as an optional extension and is not baked into default server builds. Include it when assembling the runtime or container images by setting the NonRESTCatalogs Gradle property to include HIVE (and any other non-REST backends you need):</description></item><item><title>Apache Polaris Management Service OpenAPI</title><link>https://polaris.apache.org/releases/0.9.0/polaris-management-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000< [...]
You can find more details about Polaris Console on the README.md.</description></item><item><title>Polaris Synchronizer</title><link>https://polaris.apache.org/tools/polaris-synchronizer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/tools/polaris-synchronizer/</guid><description>The Polaris Synchronizer is a tool to migrate entities from one Polaris instance to another.
To use this tool, please see this guide.</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/in-dev/unreleased/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/in-dev/unreleased/evolution/</guid><description>This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/releases/1.0.0/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/evolution/</guid><description>This [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/releases/1.0.1/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/evolution/</guid><description>This [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/releases/1.1.0/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/evolution/</guid><description>This [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Polaris Evolution</title><link>https://polaris.apache.org/releases/1.2.0/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.2.0/evolution/</guid><description>This [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
-Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</title><link>https://polaris.apache.org/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +00 [...]
-For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime.</description></item><item><title>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</title><link>https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/</link><pubDate>Tue, 06 Jan 202 [...]
-What is Lance?# Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows.</description></item><item><title>Securing S3 data with AWS KMS</title><link>https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://polaris.apache.o [...]
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item><item><title>Mapping Legacy and Heterogeneous Datalakes in Apache Polaris</title><link>https://polaris.apache.org/blog/2026/01/12/mapping-legacy-and-heterogeneous-datalakes-in-apache-polaris/</link><pubDate>Mon, 12 Jan 2026 00:00:00 +00 [...]
+For these organizations, migrating a legacy data lake to a modern REST-based catalog is costly, risky and complex due to security and compliance requirements as well as potential operational downtime.</description></item><item><title>Apache Polaris and Lance: Bringing AI-Native Storage to the Open Multimodal Lakehouse</title><link>https://polaris.apache.org/blog/2026/01/06/apache-polaris-and-lance-bringing-ai-native-storage-to-the-open-multimodal-lakehouse/</link><pubDate>Tue, 06 Jan 202 [...]
+What is Lance? Lance is an open lakehouse format designed for multimodal AI workloads. It contains a file format, table format, and catalog spec that allows you to build a complete multimodal lakehouse on top of object storage to power your AI workflows.</description></item><item><title>Securing S3 data with AWS KMS</title><link>https://polaris.apache.org/blog/2025/12/24/securing-s3-data-with-aws-kms/</link><pubDate>Wed, 24 Dec 2025 00:00:00 +0000</pubDate><guid>https://polaris.apache.or [...]
Apache Polaris supports using KMS in its catalogs backed by AWS S3 storage.
The core functionality is available via Polaris REST API since the 1.2.0-incubating release. CLI support will be made available in the release following 1.3.0-incubating.
-Configuring Polaris Catalog# KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e.</description></item><item><title>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</title><link>https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://polaris.ap [...]
+Configuring Polaris Catalog KMS settings in Polaris are relevant to S3 buckets that have been configure to use KMS on the AWS side (e.</description></item><item><title>StarRocks and Apache Polaris Integration: Building a Unified, High-Performance Data Lakehouse</title><link>https://polaris.apache.org/blog/2025/10/21/starrocks-and-apache-polaris-integration-building-a-unified-high-performance-data-lakehouse/</link><pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate><guid>https://polaris.apa [...]
Data silos : transactional data sits in RDBMS, click-streams in an S3 data lake, CRM data in a SaaS vault, etc. Cross-domain analysis requires expensive ETL and still arrives stale.
Engine lock-in : every OLAP engine optimises for its own metadata layer and file layout. Migrating to a faster or cheaper engine means re-formatting, re-writing and re-governing years of data.</description></item><item><title>Integrating Apache Polaris with PuppyGraph for Real-time Graph Analysis</title><link>https://polaris.apache.org/blog/2025/10/02/integrating-apache-polaris-with-puppygraph-for-real-time-graph-analysis/</link><pubDate>Thu, 02 Oct 2025 00:00:00 +0000</pubDate><guid>htt [...]
This release includes:
diff --git a/offline-search-index.4a6ef686e8ae7e46d78186e7181021dc.json b/offline-search-index.4a6ef686e8ae7e46d78186e7181021dc.json
new file mode 100644
index 000000000..52eb41cf8
--- /dev/null
+++ b/offline-search-index.4a6ef686e8ae7e46d78186e7181021dc.json
@@ -0,0 +1 @@
+[{"body":" ⚠️ Warning\nDisclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.\nPrerequisites Have Docker (with Docker Compose v2) installed \u0026 running on your machine Running Run the following command:\ncurl -s https://raw.githubusercontent.com/apache/polaris/main [...]
\ No newline at end of file
diff --git a/offline-search-index.905ab5752d4af782d7bb6882a55b9d77.json b/offline-search-index.905ab5752d4af782d7bb6882a55b9d77.json
deleted file mode 100644
index 3aca64e15..000000000
--- a/offline-search-index.905ab5752d4af782d7bb6882a55b9d77.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"body":" ⚠️ Warning\nDisclaimer: This getting-start example uses MinIO OSS for local testing only. MinIO OSS is in maintenance mode, and MinIO container images may no longer receives updates or security fixes. Use this guide to quickly start running Polaris. This is not intended for production use.\nPrerequisites# Have Docker (with Docker Compose v2) installed \u0026 running on your machine Running# Run the following command:\ncurl -s https://raw.githubusercontent.com/apache/polaris/ma [...]
\ No newline at end of file
diff --git a/releases/0.9.0/access-control/index.html b/releases/0.9.0/access-control/index.html
index 9382a173d..c2b8640da 100644
--- a/releases/0.9.0/access-control/index.html
+++ b/releases/0.9.0/access-control/index.html
@@ -2,16 +2,16 @@
<meta name=description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (I [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (In [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1161"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1161"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -138,24 +138,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object id=securable-object>Securable object<a class=heading-anchor href=#securable-object aria-label=Anchor>#</a></h2><p>A sec [...]
-has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role id=principal-role>Principal role<a class=heading-anchor href=#principal-role aria-label=Anchor>#</a></h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
+and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object>Securable object</h2><p>A securable object is an object to which access can be granted. Polaris
+has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role>Principal role</h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
securable objects.</p><p>Polaris supports a many-to-one relationship between service principals and principal roles. For example, to grant the same privileges to
multiple service principals, you can grant a single principal role to those service principals. A service principal can be granted one
principal role. When registering a service connection, the Polaris administrator specifies the principal role that is granted to the
service principal.</p><p>You don’t grant privileges directly to a principal role. Instead, you configure object permissions at the catalog role level, and then grant
-catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
+catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
in the catalog, such as catalog namespaces or tables. You can create one or more catalog roles for a catalog.</p><p>You grant privileges to a catalog role and then grant the catalog role to a principal role to bestow the privileges to one or more service
principals.</p><blockquote><p><strong>Note</strong></p><p>If you update the privileges bestowed to a service principal, the updates won’t take effect for up to one hour. This means that if you
revoke or grant some privileges for a catalog, the updated privileges won’t take effect on any service principal with access to that catalog
for up to one hour.</p></blockquote><p>Polaris also supports a many-to-many relationship between catalog roles and principal roles. You can grant the same catalog role to one or more
principal roles. Likewise, a principal role can be granted to one or more catalog roles.</p><p>The following table displays examples of catalog roles that you might
-configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br><br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br> [...]
+configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br><br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br> [...]
privileges to catalog roles and then grants service principals access to resources by assigning catalog roles to principal roles. Polaris
-supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges id=access-control-privileges>Access control privileges<a class=heading-anchor href=#access-control-privileges aria-label=Anchor>#</a></h2><p>This section describes the privileges that are available in the Polaris access control model. Privile [...]
+supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges>Access control privileges</h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are granted to catalog roles, catalog
roles are granted to principal roles, and principal roles are granted to service principals to specify the operations that service principals can
perform on objects in Polaris.</p><blockquote><p><strong>Important</strong></p><p>You can only grant privileges at the catalog level. Fine-grained access controls are not available. For example, you can grant read
-privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges id=table-privileges>Table privileges<a class=heading-anchor href=#table-privileges aria-label=Anchor>#</a></h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registe [...]
+privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges>Table privileges</h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td>Enables dropping a tabl [...]
includes the following users:</p><ul><li><p><strong>Alice:</strong> A service admin who signs up for Polaris. Alice can
create service principals. She can also create catalogs and
namespaces and configure access control for Polaris resources.</p></li><li><p><strong>Bob:</strong> A data engineer who uses Apache Spark™ to
diff --git a/releases/0.9.0/command-line-interface/index.html b/releases/0.9.0/command-line-interface/index.html
index e178c22c5..59df3595f 100644
--- a/releases/0.9.0/command-line-interface/index.html
+++ b/releases/0.9.0/command-line-interface/index.html
@@ -11,7 +11,7 @@ polaris [options] COMMAND ... options: --host --port --client-id --client-secret
catalogs principals principal-roles catalog-roles namespaces privileges Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><meta itemprop=wordCount content="3083"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Apache Polaris (Incubating) CLI"><meta name=twitter:description content="In order to help administrators quickly set up and manage their Polaris server, P [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --client-id --client-secret COMMAND must be one of the following:
-catalogs principals principal-roles catalog-roles namespaces privileges Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sh [...]
+catalogs principals principal-roles catalog-roles namespaces privileges Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sh [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check checked>
@@ -149,12 +149,12 @@ polaris catalogs delete some_catalog_name
polaris catalogs update --property foo=bar some_other_catalog
polaris catalogs update another_catalog --property k=v
polaris privileges namespace grant --namespace some.schema --catalog fourth_catalog --catalog-role some_catalog_role TABLE_READ_DATA
-</code></pre><h3 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
-</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>If the <code>--host</code> and <code>--port</code> options are not provided, the CLI will default to communicating with <code>loca [...]
+</code></pre><h3 id=authentication>Authentication</h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
+</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>If the <code>--host</code> and <code>--port</code> options are not provided, the CLI will default to communicating with <code>loca [...]
</code></pre><p>Alternatively, you can run the CLI by providing a path to it, such as with the following invocation:</p><pre tabindex=0><code>~/polaris principals list
-</code></pre><h2 id=commands id=commands>Commands<a class=heading-anchor href=#commands aria-label=Anchor>#</a></h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>To find details on the options that can be provided to a particular command or subcommand ad-hoc, you may wish to use the <code>--help</code> flag. For [...]
+</code></pre><h2 id=commands>Commands</h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>To find details on the options that can be provided to a particular command or subcommand ad-hoc, you may wish to use the <code>--help</code> flag. For example:</p><pre tabindex=0><code>polaris catalogs --help
polaris principals create --help
-</code></pre><h3 id=catalogs id=catalogs>catalogs<a class=heading-anchor href=#catalogs aria-label=Anchor>#</a></h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create id=create>create<a class=heading-anchor href=#create aria-label=Anchor>#</a></h4><p>The <code>create</co [...]
+</code></pre><h3 id=catalogs>catalogs</h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create>create</h4><p>The <code>create</code> subcommand is used to create a catalog.</p><pre tabindex=0><code>input: polaris catalogs create --help
options:
create
Named arguments:
@@ -172,7 +172,7 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs create \
+</code></pre><h5 id=examples>Examples</h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -185,29 +185,29 @@ polaris catalogs create \
--allowed-location s3://other-bucket/third_location \
--role-arn ${ROLE_ARN} \
my_other_catalog
-</code></pre><h4 id=delete id=delete>delete<a class=heading-anchor href=#delete aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
+</code></pre><h4 id=delete>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
options:
delete
Positional arguments:
catalog
-</code></pre><h5 id=examples-1 id=examples-1>Examples<a class=heading-anchor href=#examples-1 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs delete some_catalog
-</code></pre><h4 id=get id=get>get<a class=heading-anchor href=#get aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
+</code></pre><h5 id=examples-1>Examples</h5><pre tabindex=0><code>polaris catalogs delete some_catalog
+</code></pre><h4 id=get>get</h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
options:
get
Positional arguments:
catalog
-</code></pre><h5 id=examples-2 id=examples-2>Examples<a class=heading-anchor href=#examples-2 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs get some_catalog
+</code></pre><h5 id=examples-2>Examples</h5><pre tabindex=0><code>polaris catalogs get some_catalog
polaris catalogs get another_catalog
-</code></pre><h4 id=list id=list>list<a class=heading-anchor href=#list aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
+</code></pre><h4 id=list>list</h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
options:
list
Named arguments:
--principal-role The name of a principal role
-</code></pre><h5 id=examples-3 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs list
+</code></pre><h5 id=examples-3>Examples</h5><pre tabindex=0><code>polaris catalogs list
polaris catalogs list --principal-role some_user
-</code></pre><h4 id=update id=update>update<a class=heading-anchor href=#update aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
+</code></pre><h4 id=update>update</h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
options:
update
Named arguments:
@@ -216,10 +216,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples-4 id=examples-4>Examples<a class=heading-anchor href=#examples-4 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
+</code></pre><h5 id=examples-4>Examples</h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
polaris catalogs update --default-base-location s3://new-bucket/my_data my_catalog
-</code></pre><h3 id=principals id=principals>Principals<a class=heading-anchor href=#principals aria-label=Anchor>#</a></h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li></ol><h4 id=create-1 id=create-1>create<a class=heading-anchor href=#create-1 aria-label=Anchor>#</a></h4><p>The < [...]
+</code></pre><h3 id=principals>Principals</h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li></ol><h4 id=create-1>create</h4><p>The <code>create</code> subcommand is used to create a new principal.</p><pre tabindex=0><code>input: polaris principals create --help
options:
create
Named arguments:
@@ -227,112 +227,112 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-5 id=examples-5>Examples<a class=heading-anchor href=#examples-5 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-5>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals create --client-id ${CLIENT_ID} --property admin=true some_admin_user
-</code></pre><h4 id=delete-1 id=delete-1>delete<a class=heading-anchor href=#delete-1 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
+</code></pre><h4 id=delete-1>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
options:
delete
Positional arguments:
principal
-</code></pre><h5 id=examples-6 id=examples-6>Examples<a class=heading-anchor href=#examples-6 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals delete some_user
+</code></pre><h5 id=examples-6>Examples</h5><pre tabindex=0><code>polaris principals delete some_user
polaris principals delete some_admin_user
-</code></pre><h4 id=get-1 id=get-1>get<a class=heading-anchor href=#get-1 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
+</code></pre><h4 id=get-1>get</h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
options:
get
Positional arguments:
principal
-</code></pre><h5 id=examples-7 id=examples-7>Examples<a class=heading-anchor href=#examples-7 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals get some_user
+</code></pre><h5 id=examples-7>Examples</h5><pre tabindex=0><code>polaris principals get some_user
polaris principals get some_admin_user
-</code></pre><h4 id=list-1 id=list-1>list<a class=heading-anchor href=#list-1 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8 id=examples-8>Examples<a class=heading-anchor href=#examples-8 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals list
-</code></pre><h4 id=rotate-credentials id=rotate-credentials>rotate-credentials<a class=heading-anchor href=#rotate-credentials aria-label=Anchor>#</a></h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
+</code></pre><h4 id=list-1>list</h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8>Examples</h5><pre tabindex=0><code>polaris principals list
+</code></pre><h4 id=rotate-credentials>rotate-credentials</h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
options:
rotate-credentials
Positional arguments:
principal
-</code></pre><h5 id=examples-9 id=examples-9>Examples<a class=heading-anchor href=#examples-9 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
+</code></pre><h5 id=examples-9>Examples</h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
polaris principals rotate-credentials some_admin_user
-</code></pre><h4 id=update-1 id=update-1>update<a class=heading-anchor href=#update-1 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
+</code></pre><h4 id=update-1>update</h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-10 id=examples-10>Examples<a class=heading-anchor href=#examples-10 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
+</code></pre><h5 id=examples-10>Examples</h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
polaris principals update --property are_other_keys_removed=yes some_user
-</code></pre><h3 id=principal-roles id=principal-roles>Principal Roles<a class=heading-anchor href=#principal-roles aria-label=Anchor>#</a></h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</ [...]
+</code></pre><h3 id=principal-roles>Principal Roles</h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</l [...]
options:
create
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-11 id=examples-11>Examples<a class=heading-anchor href=#examples-11 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles create data_engineer
+</code></pre><h5 id=examples-11>Examples</h5><pre tabindex=0><code>polaris principal-roles create data_engineer
polaris principal-roles create --property key=value data_analyst
-</code></pre><h4 id=delete-2 id=delete-2>delete<a class=heading-anchor href=#delete-2 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
+</code></pre><h4 id=delete-2>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
options:
delete
Positional arguments:
principal_role
-</code></pre><h5 id=examples-12 id=examples-12>Examples<a class=heading-anchor href=#examples-12 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
+</code></pre><h5 id=examples-12>Examples</h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
polaris principal-roles delete data_analyst
-</code></pre><h4 id=get-2 id=get-2>get<a class=heading-anchor href=#get-2 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
+</code></pre><h4 id=get-2>get</h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
options:
get
Positional arguments:
principal_role
-</code></pre><h5 id=examples-13 id=examples-13>Examples<a class=heading-anchor href=#examples-13 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles get data_engineer
+</code></pre><h5 id=examples-13>Examples</h5><pre tabindex=0><code>polaris principal-roles get data_engineer
polaris principal-roles get data_analyst
-</code></pre><h4 id=list-2 id=list-2>list<a class=heading-anchor href=#list-2 aria-label=Anchor>#</a></h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
+</code></pre><h4 id=list-2>list</h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
options:
list
Named arguments:
--catalog-role The name of a catalog role. If provided, show only principal roles assigned to this catalog role.
--principal The name of a principal. If provided, show only principal roles assigned to this principal.
-</code></pre><h5 id=examples-14 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles list
+</code></pre><h5 id=examples-14>Examples</h5><pre tabindex=0><code>polaris principal-roles list
polaris principal-roles --principal d.knuth
polaris principal-roles --catalog-role super_secret_data
-</code></pre><h4 id=update-2 id=update-2>update<a class=heading-anchor href=#update-2 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
+</code></pre><h4 id=update-2>update</h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-15 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
+</code></pre><h5 id=examples-15>Examples</h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
polaris principal-roles update data_analyst --property key=value3
-</code></pre><h4 id=grant id=grant>grant<a class=heading-anchor href=#grant aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
+</code></pre><h4 id=grant>grant</h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
options:
grant
Named arguments:
--principal A principal to grant this principal role to
Positional arguments:
principal_role
-</code></pre><h5 id=examples-16 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
+</code></pre><h5 id=examples-16>Examples</h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
polaris principal-roles grant data_scientist --principal a.ng
-</code></pre><h4 id=revoke id=revoke>revoke<a class=heading-anchor href=#revoke aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
+</code></pre><h4 id=revoke>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
options:
revoke
Named arguments:
--principal A principal to revoke this principal role from
Positional arguments:
principal_role
-</code></pre><h5 id=examples-17 id=examples-17>Examples<a class=heading-anchor href=#examples-17 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
+</code></pre><h5 id=examples-17>Examples</h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
polaris principal-roles revoke data_scientist --principal changed.role
-</code></pre><h3 id=catalog-roles id=catalog-roles>Catalog Roles<a class=heading-anchor href=#catalog-roles aria-label=Anchor>#</a></h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</l [...]
+</code></pre><h3 id=catalog-roles>Catalog Roles</h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</li></ol><h4 id=create-3>create</h4><p>The <code>create</code> subcommand is used to c [...]
options:
create
Named arguments:
@@ -340,40 +340,40 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-18 id=examples-18>Examples<a class=heading-anchor href=#examples-18 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
+</code></pre><h5 id=examples-18>Examples</h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
polaris catalog-roles create --catalog other_catalog sales_data
-</code></pre><h4 id=delete-3 id=delete-3>delete<a class=heading-anchor href=#delete-3 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
+</code></pre><h4 id=delete-3>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-19 id=examples-19>Examples<a class=heading-anchor href=#examples-19 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
+</code></pre><h5 id=examples-19>Examples</h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
polaris catalog-roles delete --catalog other_catalog sales_data
-</code></pre><h4 id=get-3 id=get-3>get<a class=heading-anchor href=#get-3 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
+</code></pre><h4 id=get-3>get</h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-20 id=examples-20>Examples<a class=heading-anchor href=#examples-20 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
+</code></pre><h5 id=examples-20>Examples</h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
polaris catalog-roles get --catalog other_catalog inventory_data
-</code></pre><h4 id=list-3 id=list-3>list<a class=heading-anchor href=#list-3 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
+</code></pre><h4 id=list-3>list</h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
options:
list
Named arguments:
--principal-role The name of a principal role
Positional arguments:
catalog
-</code></pre><h5 id=examples-21 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles list
+</code></pre><h5 id=examples-21>Examples</h5><pre tabindex=0><code>polaris catalog-roles list
polaris catalog-roles list --principal-role data_engineer
-</code></pre><h4 id=update-3 id=update-3>update<a class=heading-anchor href=#update-3 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
+</code></pre><h4 id=update-3>update</h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
options:
update
Named arguments:
@@ -381,10 +381,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-22 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
+</code></pre><h5 id=examples-22>Examples</h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
polaris catalog-roles update sales_data --catalog some_catalog --property key=value
-</code></pre><h4 id=grant-1 id=grant-1>grant<a class=heading-anchor href=#grant-1 aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
+</code></pre><h4 id=grant-1>grant</h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
options:
grant
Named arguments:
@@ -392,10 +392,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-23 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-23>Examples</h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles grant --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h4 id=revoke-1 id=revoke-1>revoke<a class=heading-anchor href=#revoke-1 aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
+</code></pre><h4 id=revoke-1>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
options:
revoke
Named arguments:
@@ -403,10 +403,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-24 id=examples-24>Examples<a class=heading-anchor href=#examples-24 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-24>Examples</h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles revoke --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h3 id=namespaces id=namespaces>Namespaces<a class=heading-anchor href=#namespaces aria-label=Anchor>#</a></h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4 id=create-4>create<a class=heading-anchor href=#create-4 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to c [...]
+</code></pre><h3 id=namespaces>Namespaces</h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4>create</h4><p>The <code>create</code> subcommand is used to create a new namespace.</p><p>When creating a namespace with an explicit location, that location must reside within the parent catalog or namespace.</p>< [...]
options:
create
Named arguments:
@@ -415,50 +415,50 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
namespace
-</code></pre><h5 id=examples-25 id=examples-25>Examples<a class=heading-anchor href=#examples-25 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
+</code></pre><h5 id=examples-25>Examples</h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
polaris namespaces create --catalog my_catalog --location 's3://bucket/outer/inner_SUFFIX' outer.inner
-</code></pre><h4 id=delete-4 id=delete-4>delete<a class=heading-anchor href=#delete-4 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
+</code></pre><h4 id=delete-4>delete</h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-26 id=examples-26>Examples<a class=heading-anchor href=#examples-26 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
+</code></pre><h5 id=examples-26>Examples</h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
polaris namespaces delete --catalog my_catalog outer_namespace
-</code></pre><h4 id=get-4 id=get-4>get<a class=heading-anchor href=#get-4 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
+</code></pre><h4 id=get-4>get</h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-27 id=examples-27>Examples<a class=heading-anchor href=#examples-27 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
+</code></pre><h5 id=examples-27>Examples</h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
polaris namespaces get a.b.c --catalog some_catalog
-</code></pre><h4 id=list-4 id=list-4>list<a class=heading-anchor href=#list-4 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
+</code></pre><h4 id=list-4>list</h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
options:
list
Named arguments:
--catalog The name of an existing catalog
--parent If specified, list namespaces inside this parent namespace
-</code></pre><h5 id=examples-28 id=examples-28>Examples<a class=heading-anchor href=#examples-28 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
+</code></pre><h5 id=examples-28>Examples</h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges id=privileges>Privileges<a class=heading-anchor href=#privileges aria-label=Anchor>#</a></h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/0.9.0/entities/#privilege>docs</a>.</p><p>Note that when using th [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/0.9.0/entities/#privilege>docs</a>.</p><p>Note that when using the <code>privileges</code> command, the user specifies the relevant catalog and [...]
options:
list
Named arguments:
--catalog The name of an existing catalog
--catalog-role The name of a catalog role
-</code></pre><h5 id=examples-29 id=examples-29>Examples<a class=heading-anchor href=#examples-29 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
+</code></pre><h5 id=examples-29>Examples</h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
polaris privileges my_role list --catalog-role my_other_role --catalog my_catalog
-</code></pre><h4 id=catalog id=catalog>catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
+</code></pre><h4 id=catalog>catalog</h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
options:
catalog
grant
@@ -474,7 +474,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-30 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-30>Examples</h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -488,7 +488,7 @@ polaris privileges \
--catalog-role catalog_role \
--cascade \
TABLE_CREATE
-</code></pre><h4 id=namespace id=namespace>namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
+</code></pre><h4 id=namespace>namespace</h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
options:
namespace
grant
@@ -506,7 +506,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-31 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-31>Examples</h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -521,7 +521,7 @@ polaris privileges \
--catalog-role catalog_role \
--namespace a.b \
TABLE_LIST
-</code></pre><h4 id=table id=table>table<a class=heading-anchor href=#table aria-label=Anchor>#</a></h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
+</code></pre><h4 id=table>table</h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
options:
table
grant
@@ -541,7 +541,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-32 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-32>Examples</h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -559,7 +559,7 @@ polaris privileges \
--table t \
--cascade \
TABLE_DROP
-</code></pre><h4 id=view id=view>view<a class=heading-anchor href=#view aria-label=Anchor>#</a></h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
+</code></pre><h4 id=view>view</h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
options:
view
grant
@@ -579,7 +579,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-33 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-33>Examples</h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -597,7 +597,7 @@ polaris privileges \
--view v \
--cascade \
VIEW_FULL_METADATA
-</code></pre><h2 id=examples-34 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>#</a></h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog id=creating-a-principal-and-a-catalog>Creating a principal and a catalog<a class=heading-anchor href=#creating-a-principal- [...]
+</code></pre><h2 id=examples-34>Examples</h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog>Creating a principal and a catalog</h3><pre tabindex=0><code>polaris principals create my_user
polaris catalogs create \
--type internal \
@@ -607,7 +607,7 @@ polaris catalogs create \
--allowed-location s3://iceberg-bucket/polaris-alt-location-1 \
--allowed-location s3://iceberg-bucket/polaris-alt-location-2 \
my_catalog
-</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog<a class=heading-anchor href=#granting-a-principal-the-ability-to-manage-the-content-of-a-catalog aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris principal-roles create power_user
+</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog</h3><pre tabindex=0><code>polaris principal-roles create power_user
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -622,7 +622,7 @@ polaris privileges \
--catalog-role my_catalog_role \
grant \
CATALOG_MANAGE_CONTENT
-</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read<a class=heading-anchor href=#identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read aria-label=Anchor>#</a></h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, [...]
+</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read</h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, subsume <code>TABLE_READ_DATA</code> and would not be discovered here.</em></p><pre tabindex=0><code>principal_roles=$(polaris principal-roles list --principal my_principal)
for principal_role in ${principal_roles}; do
catalog_roles=$(polaris catalog-roles --list --principal-role "${principal_role}")
for catalog_role in ${catalog_roles}; do
diff --git a/releases/0.9.0/configuring-polaris-for-production/index.html b/releases/0.9.0/configuring-polaris-for-production/index.html
index c95548ee5..d2cafee4c 100644
--- a/releases/0.9.0/configuring-polaris-for-production/index.html
+++ b/releases/0.9.0/configuring-polaris-for-production/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The default polaris-server.yml configuration is intended for development and testing. When deploying Polaris in production, there are several best practices to keep in mind.
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker."><meta property="og:title" content="Configuring Apache Polaris (Incubating) for Production"><meta property="og:description" content="The default polaris-server.yml configuration is intended for development and testing. When deploying Polaris in production, there are several best prac [...]
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Apache Polaris (Incubating) for Pro [...]
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker."><meta itemprop=wordCount content="577"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Apache Polaris (Incubating) for Production"><meta name=twitter:description content="The default polaris-server.yml configura [...]
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
-Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_34937894415058999 [...]
+Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_34937894415058999 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -141,8 +141,8 @@ Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthen
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-EclipseLink requires</p><ol><li>Building the JAR for the EclipseLink extension</li><li>Setting the <code>eclipseLink</code> gradle property to <code>true</code>.</li></ol><p>This can be achieved by setting <code>eclipseLink=true</code> in the <code>gradle.properties</code> file, or by passing the property explicitly while building all JARs, e.g.: <code>./gradlew -PeclipseLink=true clean assemble</code></p></blockquote><h3 id=bootstrapping id=bootstrapping>Bootstrapping<a class=heading-an [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+EclipseLink requires</p><ol><li>Building the JAR for the EclipseLink extension</li><li>Setting the <code>eclipseLink</code> gradle property to <code>true</code>.</li></ol><p>This can be achieved by setting <code>eclipseLink=true</code> in the <code>gradle.properties</code> file, or by passing the property explicitly while building all JARs, e.g.: <code>./gradlew -PeclipseLink=true clean assemble</code></p></blockquote><h3 id=bootstrapping>Bootstrapping</h3><p>Before using Polaris when us [...]
export POLARIS_BOOTSTRAP_MY_REALM_ROOT_CLIENT_SECRET=my-client-secret
</code></pre><p><strong>IMPORTANT</strong>: In case you use <code>default-realm</code> for metastore backend database, you won’t be able to use <code>export</code> command. Use this instead:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>env POLARIS_BOOTSTRAP_DEFAULT-REALM_ROOT_CLIENT_ID<span style=color:#f92672>=</span>my-client-id [...]
</span></span></code></pre></div><p>Now, to bootstrap Polaris, run:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>java -jar /path/to/jar/polaris-service-all.jar bootstrap polaris-server.yml
@@ -151,4 +151,4 @@ export POLARIS_BOOTSTRAP_MY_REALM_ROOT_CLIENT_SECRET=my-client-secret
</span></span></code></pre></div><p>You can verify the setup by attempting a token issue for the <code>root</code> principal:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl -X POST http://localhost:8181/api/catalog/v1/oauth/tokens -d <span style=color:#e6db74>"grant_type=client_credentials&client_id=my-client-id&client_sec [...]
</span></span></code></pre></div><p>which should return:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{<span style=color:#f92672>"access_token"</span>:<span style=color:#e6db74>"..."</span>,<span style=color:#f92672>"token_type"</span>:<span style=color:#e6db74>"bearer"</span>,<span style=color:#f92672> [...]
</span></span></code></pre></div><p>Note that if you used non-default realm name, for example, <code>iceberg</code> instead of <code>default-realm</code> in your <code>polaris-server.yml</code>, then you should add an appropriate request header:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl -X POST -H <span style=color:#e6db74>'r [...]
-</span></span></code></pre></div><h2 id=other-configurations id=other-configurations>Other Configurations<a class=heading-anchor href=#other-configurations aria-label=Anchor>#</a></h2><p>When deploying Polaris in production, consider adjusting the following configurations:</p><h4 id=featureconfigurationsupported_catalog_storage_types id=featureconfigurationsupported_catalog_storage_types>featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES<a class=heading-anchor href=#featureconfiguratio [...]
\ No newline at end of file
+</span></span></code></pre></div><h2 id=other-configurations>Other Configurations</h2><p>When deploying Polaris in production, consider adjusting the following configurations:</p><h4 id=featureconfigurationsupported_catalog_storage_types>featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES</h4><ul><li>By default Polaris catalogs are allowed to be located in local filesystem with the <code>FILE</code> storage type. This should be disabled for production systems.</li><li>Use this configura [...]
\ No newline at end of file
diff --git a/releases/0.9.0/entities/index.html b/releases/0.9.0/entities/index.html
index 3db1542bd..cb2c141bb 100644
--- a/releases/0.9.0/entities/index.html
+++ b/releases/0.9.0/entities/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="665"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="665"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
+Storage Type All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,4 +137,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
diff --git a/releases/0.9.0/index.html b/releases/0.9.0/index.html
index 7c05e13da..ec61cb14e 100644
--- a/releases/0.9.0/index.html
+++ b/releases/0.9.0/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/0.9.0/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=imag [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="0.9.0"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful Java [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="0.9.0"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful Java [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__section" id=m-releases090><span class=td-sidebar-nav-active-item>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/0.9.0/index.xml b/releases/0.9.0/index.xml
index 40b94c23e..308d9533d 100644
--- a/releases/0.9.0/index.xml
+++ b/releases/0.9.0/index.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>0.9.0 on Apache Polaris</title><link>https://polaris.apache.org/releases/0.9.0/</link><description>Recent content in 0.9.0 on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/0.9.0/index.xml" rel="self" type="application/rss+xml"/><item><title>Quick Start</title> [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Overview</title><link>https://polaris.apache.org/releases/0.9.0/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/overview/</guid><description [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Overview</title><link>https://polaris.apache.org/releases/0.9.0/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/overview/</guid><description> [...]
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1.</description></item><item><title>Apache Polaris (Incubating) CLI</title><link>https://polaris.apache.org/releases/0.9.0/command-line-interface/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/command-line-interface/</guid><description>In order to help administrators quickly set up and manage their Polaris server, Po [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --client-id --client-secret COMMAND must be one of the following:
catalogs principals principal-roles catalog-roles namespaces privileges Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/0.9.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/entities/</guid><description>This page documents various entities that can be managed in Apa [...]
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/0.9.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/0.9.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/access-control/</guid><description>This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Configuring Apache Polaris (Incubating) for Production</title><link>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</guid><description>The default polar [...]
-Security# Configurations# Notable configuration used to secure a Polaris deployment are outlined below.
-oauth2# [!WARNING]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Configuring Apache Polaris (Incubating) for Production</title><link>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/configuring-polaris-for-production/</guid><description>The default polari [...]
+Security Configurations Notable configuration used to secure a Polaris deployment are outlined below.
+oauth2 [!WARNING]
Ensure that the tokenBroker setting reflects the token broker specified in authenticator below.
Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthenticator option and uncomment the DefaultPolarisAuthenticator authenticator option beneath it. Then, configure the token broker.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/0.9.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/metastores/</guid><description>This page documents important configur [...]
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
In order to specify a configuration file outside the classpath, follow these steps.</description></item><item><title>Apache Polaris Management Service OpenAPI</title><link>https://polaris.apache.org/releases/0.9.0/polaris-management-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/0.9.0/polaris-management-service/</guid><description/></item><item><title>Apache Iceberg OpenAPI</title><link>https://polaris.apache.org/releases/0.9.0/ [...]
\ No newline at end of file
diff --git a/releases/0.9.0/metastores/index.html b/releases/0.9.0/metastores/index.html
index de8122995..f1c87fa32 100644
--- a/releases/0.9.0/metastores/index.html
+++ b/releases/0.9.0/metastores/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents important configurations for connecting to production database through EclipseLink.
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
In order to specify a configuration file outside the classpath, follow these steps."><meta property="og:title" content="Metastores"><meta property="og:description" content="This page documents important configurations for connecting to production database through EclipseLink.
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
In order to specify a configuration file outside the classpath, follow these steps."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/metastores/"><meta property="article:section" content="releases"><meta itemprop=name content="Metastores"><meta itemprop=description content="This page documents important configurations for connecting to production database through EclipseLink.
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
In order to specify a configuration file outside the classpath, follow these steps."><meta itemprop=wordCount content="362"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Metastores"><meta name=twitter:description content="This page documents important configurations for connecting to production database through EclipseLink.
-Polaris Server Configuration# Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
+Polaris Server Configuration Configure the metaStoreManager section in the Polaris configuration (polaris-server.yml by default) as follows:
metaStoreManager: type: eclipse-link conf-file: META-INF/persistence.xml persistence-unit: polaris conf-file must point to an EclipseLink configuration file
By default, conf-file points to the embedded resource file META-INF/persistence.xml in the polaris-eclipselink module.
-In order to specify a configuration file outside the classpath, follow these steps."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigi [...]
+In order to specify a configuration file outside the classpath, follow these steps."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigi [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -141,11 +141,11 @@ In order to specify a configuration file outside the classpath, follow these ste
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
type: eclipse-link
conf-file: META-INF/persistence.xml
persistence-unit: polaris
-</code></pre><p><code>conf-file</code> must point to an <a href=https://eclipse.dev/eclipselink/documentation/2.5/solutions/testingjpa002.htm>EclipseLink configuration file</a></p><p>By default, <code>conf-file</code> points to the embedded resource file <code>META-INF/persistence.xml</code> in the <code>polaris-eclipselink</code> module.</p><p>In order to specify a configuration file outside the classpath, follow these steps.</p><ol><li>Place <code>persistence.xml</code> into a jar file [...]
+</code></pre><p><code>conf-file</code> must point to an <a href=https://eclipse.dev/eclipselink/documentation/2.5/solutions/testingjpa002.htm>EclipseLink configuration file</a></p><p>By default, <code>conf-file</code> points to the embedded resource file <code>META-INF/persistence.xml</code> in the <code>polaris-eclipselink</code> module.</p><p>In order to specify a configuration file outside the classpath, follow these steps.</p><ol><li>Place <code>persistence.xml</code> into a jar file [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.jpa.models.ModelEntity<span style=color:#f92672></class></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.jpa.models.ModelEntityActive<span style=color:#f92672></class></span>
@@ -165,7 +165,7 @@ In order to specify a configuration file outside the classpath, follow these ste
</span></span><span style=display:flex><span><span style=color:#f92672></persistence-unit></span>
</span></span></code></pre></div><p>A single <code>persistence.xml</code> can describe multiple <a href=https://eclipse.dev/eclipselink/documentation/2.6/concepts/app_dev001.htm>persistence units</a>. For example, with both a <code>polaris-dev</code> and <code>polaris</code> persistence unit defined, you could use a single <code>persistence.xml</code> to easily switch between development and production databases. Use <code>persistence-unit</code> in the Polaris server configuration to ea [...]
</span></span><span style=display:flex><span>polaris> java -jar dropwizard/service/build/libs/polaris-dropwizard-service-*.jar server ./polaris-server.yml
-</span></span></code></pre></div><h3 id=postgres id=postgres>Postgres<a class=heading-anchor href=#postgres aria-label=Anchor>#</a></h3><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span style=color:#a6 [...]
+</span></span></code></pre></div><h3 id=postgres>Postgres</h3><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span style=color:#a6e22e>name=</span><span style=color:#e6db74>"polaris"</span> <span [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.jpa.models.ModelEntity<span style=color:#f92672></class></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.jpa.models.ModelEntityActive<span style=color:#f92672></class></span>
diff --git a/releases/0.9.0/overview/index.html b/releases/0.9.0/overview/index.html
index 78868a240..476d0f5df 100644
--- a/releases/0.9.0/overview/index.html
+++ b/releases/0.9.0/overview/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Apache Polaris (Incubating) is a catalog implementation for Apache Iceberg™ tables and is built on the open source Apache Iceberg™ REST protocol.
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1."><meta property="og:title" content="Overview"><meta property="og:description" content="Apache Polaris (Incubating) is a catalog implementation for Apache Iceberg™ tables and is built on the open source Apache Iceberg™ REST protocol.
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/overview/"><meta property="article:section" content="releases"><meta itemprop=name content="Overview"><meta itemprop=description content="Apache Polaris (Incubating) is a catalog implementation for Apache Iceberg™ tables and is built on the open source A [...]
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1."><meta itemprop=wordCount content="1473"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Overview"><meta name=twitter:description content="Apache Polaris (Incubating) is a catalog implementation for Apache Iceberg™ tables and is built on the open source Apache Iceberg™ REST protocol.
With Polaris, you can provide centralized, secure read and write access to your Iceberg tables across different REST-compatible query engines.
-Key concepts# This section introduces key concepts associated with using Apache Polaris (Incubating).
-In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI6 [...]
+Key concepts This section introduces key concepts associated with using Apache Polaris (Incubating).
+In the following diagram, a sample Apache Polaris (Incubating) structure with nested namespaces is shown for Catalog1."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI6 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check checked>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span class=td-sidebar-nav-active-item>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,18 +137,18 @@ In the following diagram, a sample Apache Polaris (Incubating) structure with ne
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog id=catalog>Catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog>Catalog</h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage configuration for S3, Azure, or Google Cloud Storage. An Iceberg catalog [...]
query engine to manage and organize tables. The catalog forms the first architectural layer in the <a href=https://iceberg.apache.org/spec/#overview>Apache Iceberg™ table specification</a> and must support the following tasks:</p><ul><li><p>Storing the current metadata pointer for one or more Iceberg tables. A metadata pointer maps a table name to the location of that table’s
current metadata file.</p></li><li><p>Performing atomic operations so that you can update the current metadata pointer for a table to the metadata pointer of a new version of
-the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types id=catalog-types>Catalog types<a class=heading-anchor href=#catalog-types aria-label=Anchor>#</a></h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The cata [...]
-this catalog are synced to Polaris. These tables are read-only in Polaris. In the current release, only a Snowflake external catalog is provided.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace id=namespace>Namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespac [...]
-nested namespaces. Iceberg tables belong to namespaces.</p><h3 id=apache-icebergtrade-tables-and-catalogs id=apache-icebergtrade-tables-and-catalogs>Apache Iceberg™ tables and catalogs<a class=heading-anchor href=#apache-icebergtrade-tables-and-catalogs aria-label=Anchor>#</a></h3><p>In an internal catalog, an Iceberg table is registered in Polaris, but read and written via query engines. The table data and
+the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types>Catalog types</h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The catalog is externally managed by another Iceberg catalog provider (for example, Snowflak [...]
+this catalog are synced to Polaris. These tables are read-only in Polaris. In the current release, only a Snowflake external catalog is provided.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace>Namespace</h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
+nested namespaces. Iceberg tables belong to namespaces.</p><h3 id=apache-icebergtrade-tables-and-catalogs>Apache Iceberg™ tables and catalogs</h3><p>In an internal catalog, an Iceberg table is registered in Polaris, but read and written via query engines. The table data and
metadata is stored in your external cloud storage. The table uses Polaris as the Iceberg catalog.</p><p>If you have tables housed in another Iceberg catalog, you can sync these tables to an external catalog in Polaris.
If you sync this catalog to Polaris, it appears as an external catalog in Polaris. Clients connecting to the external
catalog can read from or write to these tables. However, clients connecting to Polaris will only be able to
-read from these tables.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespace1</li><li>Nested namespace name [...]
-to Polaris.</p><p>Query engines use service principals to connect to catalogs.</p><p>Polaris generates a Client ID and Client Secret pair for each service principal.</p><p>The following table displays example service principals that you might create in Polaris:</p><table><thead><tr><th>Service connection name</th><th>Purpose</th></tr></thead><tbody><tr><td>Flink ingestion</td><td>For Apache Flink® to ingest streaming data into Apache Iceberg™ tables.</td></tr><tr><td>Spark ETL pipeline</ [...]
+read from these tables.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespace1</li><li>Nested namespace name [...]
+to Polaris.</p><p>Query engines use service principals to connect to catalogs.</p><p>Polaris generates a Client ID and Client Secret pair for each service principal.</p><p>The following table displays example service principals that you might create in Polaris:</p><table><thead><tr><th>Service connection name</th><th>Purpose</th></tr></thead><tbody><tr><td>Flink ingestion</td><td>For Apache Flink® to ingest streaming data into Apache Iceberg™ tables.</td></tr><tr><td>Spark ETL pipeline</ [...]
Catalog. When creating a new service connection, the Polaris administrator grants the service principal that is created with the new service
connection either a new or existing principal role. A principal role is a resource in Polaris that you can use to logically group Polaris
service principals together and grant privileges on securable objects. For more information, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/#principal-role>Principal role</a>. Polaris uses a role-based access control (RBAC) model to grant service principals access to resources. For more information,
@@ -158,24 +158,24 @@ administrator grants privileges to catalog roles and then grants these catalog r
principal for the new service connection has these privileges. For more information about catalog roles, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/#catalog-role>Catalog role</a>.</p><p>If the Polaris administrator grants an existing principal role to the service principal for the new service connection, the service principal
has the same privileges granted to the catalog roles that are granted to the existing principal role. If needed, the Polaris
administrator can grant additional catalog roles to the existing principal role or remove catalog roles from it to adjust the privileges
-bestowed to the service principal. For an example of how RBAC works in Polaris, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/#rbac-example>RBAC example</a>.</p><h3 id=storage-configuration id=storage-configuration>Storage configuration<a class=heading-anchor href=#storage-configuration aria-label=Anchor>#</a></h3><p>A storage configuration stores a generated identity and access management (IAM) entity for your external cloud storage and is created
+bestowed to the service principal. For an example of how RBAC works in Polaris, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/#rbac-example>RBAC example</a>.</p><h3 id=storage-configuration>Storage configuration</h3><p>A storage configuration stores a generated identity and access management (IAM) entity for your external cloud storage and is created
when you create a catalog. The storage configuration is used to set the values to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a trust relationship between the cloud storage provider and Polaris
-Catalog.</p><p>When you create a catalog, you supply the following information about your external cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS buck [...]
+Catalog.</p><p>When you create a catalog, you supply the following information about your external cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS buck [...]
Namespace1 namespace in the Catalog1 catalog and insert values into
Table1.</p><p>Bob can create Table1 and insert data into it because he is using a
service connection with a service principal that has
the privileges to perform these actions.</p></li><li><p>Alice uses Snowflake to read data from Table1.</p><p>Alice can read data from Table1 because she is using a service
connection with a service principal with a catalog integration that
has the privileges to perform this action. Alice
-creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control id=security-and-access-control>Security and access control<a class=heading-anchor href=#security-and-access-control aria-label=Anchor>#</a></h2><p>This section describes security and access control.</p> [...]
+creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control>Security and access control</h2><p>This section describes security and access control.</p><h3 id=credential-vending>Credential vending</h3><p>To secure interactions with service connections, Polaris ven [...]
execution. These credentials allow the query engine to run the query without requiring access to your external cloud storage for
Iceberg tables. This process is called credential vending.</p><p>As of now, the following limitation is known regarding Apache Iceberg support:</p><ul><li><strong>remove_orphan_files:</strong> Apache Spark can’t use credential vending
-for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam id=identity-and-access-management-iam>Identity and access management (IAM)<a class=heading-anchor href=#identity-and-access-management-iam aria-label=Anchor>#</a></h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
+for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam>Identity and access management (IAM)</h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
metadata, and manifest files that store the table schema, partitions, and other metadata. Polaris retains the IAM entity for your
-storage location.</p><h3 id=access-control id=access-control>Access control<a class=heading-anchor href=#access-control aria-label=Anchor>#</a></h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
+storage location.</p><h3 id=access-control>Access control</h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
queries from query engines in a consistent manner.</p><p>Polaris uses a role-based access control (RBAC) model that lets you centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p><p>Polaris RBAC uses two different role types to delegate privileges:</p><ul><li><p><strong>Principal roles:</strong> Granted to Polaris service principals and
analogous to roles in other access control systems that you grant to
service principals.</p></li><li><p><strong>Catalog roles:</strong> Configured with certain privileges on Polaris
-catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/>Access control</a>.</p><h2 id=legal-notices id=legal-notices>Legal Notices<a class=heading-anchor href=#legal-notices aria-label=Anchor>#</a></h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other cou [...]
\ No newline at end of file
+catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/0.9.0/access-control/>Access control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.</p></div></main></div></div><footer class="td-footer row d-print-none"><div [...]
\ No newline at end of file
diff --git a/releases/0.9.0/polaris-management-service/index.html b/releases/0.9.0/polaris-management-service/index.html
index 66ccad09f..302d7b6eb 100644
--- a/releases/0.9.0/polaris-management-service/index.html
+++ b/releases/0.9.0/polaris-management-service/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" "><meta itemprop=wordCount [...]
+<meta name=description content=" "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" "><meta itemprop=wordCount [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/0.9.0/quickstart/index.html b/releases/0.9.0/quickstart/index.html
index c71a4adef..3e030d590 100644
--- a/releases/0.9.0/quickstart/index.html
+++ b/releases/0.9.0/quickstart/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide serves as a introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Polaris locally, and finally includes examples of how to use Polaris with Apache Spark™.
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Quick Start"><meta property="og:description" content="This guide serves as a introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy P [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/quickstart/"><meta property="article:section" content="releases"><meta itemprop=name content="Quick Start"><meta itempro [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="1433"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Quick Start"><meta name=twitter:description content="This guide serves as a introduction t [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><s [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Quick Start"><meta property="og:description" content="This guide serves as a introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Po [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/quickstart/"><meta property="article:section" content="releases"><meta itemprop=name content="Quick Start"><meta itemprop [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="1433"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Quick Start"><meta name=twitter:description content="This guide serves as a introduction to [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><sc [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check checked>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 active td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span class=td-sidebar-nav-active-item>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,31 +129,31 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span></code></pre></div><p>Then, use git to clone the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/polaris.git
-</span></span></code></pre></div><h4 id=with-docker id=with-docker>With Docker<a class=heading-anchor href=#with-docker aria-label=Anchor>#</a></h4><p>If you plan to deploy Polaris inside <a href=https://www.docker.com/>Docker</a>, you’ll need to install docker itself. For example, this can be done using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=lan [...]
-</span></span></code></pre></div><p>Once installed, make sure Docker is running.</p><h4 id=from-source id=from-source>From Source<a class=heading-anchor href=#from-source aria-label=Anchor>#</a></h4><p>If you plan to build Polaris from source yourself, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java v [...]
+</span></span></code></pre></div><h4 id=with-docker>With Docker</h4><p>If you plan to deploy Polaris inside <a href=https://www.docker.com/>Docker</a>, you’ll need to install docker itself. For example, this can be done using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>brew install --cask docker
+</span></span></code></pre></div><p>Once installed, make sure Docker is running.</p><h4 id=from-source>From Source</h4><p>If you plan to build Polaris from source yourself, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For example, to install Java 21 via <a href=https://brew.sh/>homebrew</ [...]
</span></span><span style=display:flex><span>brew install openjdk@21 jenv
</span></span><span style=display:flex><span>jenv add <span style=color:#66d9ef>$(</span>brew --prefix openjdk@21<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>jenv local <span style=color:#ae81ff>21</span>
-</span></span></code></pre></div><h3 id=connecting-to-polaris id=connecting-to-polaris>Connecting to Polaris<a class=heading-anchor href=#connecting-to-polaris aria-label=Anchor>#</a></h3><p>Polaris is compatible with any <a href=https://iceberg.apache.org/>Apache Iceberg</a> client that supports the REST API. Depending on the client you plan to use, refer to the prerequisites below.</p><h4 id=with-spark id=with-spark>With Spark<a class=heading-anchor href=#with-spark aria-label=Anchor># [...]
+</span></span></code></pre></div><h3 id=connecting-to-polaris>Connecting to Polaris</h3><p>Polaris is compatible with any <a href=https://iceberg.apache.org/>Apache Iceberg</a> client that supports the REST API. Depending on the client you plan to use, refer to the prerequisites below.</p><h4 id=with-spark>With Spark</h4><p>If you want to connect to Polaris with <a href=https://spark.apache.org/>Apache Spark</a>, you’ll need to start by cloning Spark. As <a href=#building-and-deplo [...]
</span></span></code></pre></div><p>Then, clone Spark and check out a versioned branch. This guide uses <a href=https://spark.apache.org/releases/spark-release-3-5-0.html>Spark 3.5</a>.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/spark.git
</span></span><span style=display:flex><span>cd ~/spark
</span></span><span style=display:flex><span>git checkout branch-3.5
-</span></span></code></pre></div><h2 id=deploying-polaris id=deploying-polaris>Deploying Polaris<a class=heading-anchor href=#deploying-polaris aria-label=Anchor>#</a></h2><p>Polaris can be deployed via a lightweight docker image or as a standalone process. Before starting, be sure that you’ve satisfied the relevant <a href=#building-and-deploying-polaris>prerequisites</a> detailed above.</p><h3 id=docker-image id=docker-image>Docker Image<a class=heading-anchor href=#docker-image [...]
+</span></span></code></pre></div><h2 id=deploying-polaris>Deploying Polaris</h2><p>Polaris can be deployed via a lightweight docker image or as a standalone process. Before starting, be sure that you’ve satisfied the relevant <a href=#building-and-deploying-polaris>prerequisites</a> detailed above.</p><h3 id=docker-image>Docker Image</h3><p>To start using Polaris in Docker, launch Polaris while Docker is running:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;backgroun [...]
</span></span><span style=display:flex><span>docker compose -f docker-compose.yml up --build
-</span></span></code></pre></div><p>Once the <code>polaris-polaris</code> container is up, you can continue to <a href=#defining-a-catalog>Defining a Catalog</a>.</p><h3 id=building-polaris id=building-polaris>Building Polaris<a class=heading-anchor href=#building-polaris aria-label=Anchor>#</a></h3><p>Run Polaris locally with:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang [...]
+</span></span></code></pre></div><p>Once the <code>polaris-polaris</code> container is up, you can continue to <a href=#defining-a-catalog>Defining a Catalog</a>.</p><h3 id=building-polaris>Building Polaris</h3><p>Run Polaris locally with:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~/polaris
</span></span><span style=display:flex><span>./gradlew runApp
</span></span></code></pre></div><p>You should see output for some time as Polaris builds and starts up. Eventually, you won’t see any more logs and should see messages that resemble the following:</p><pre tabindex=0><code>INFO [...] [main] [] o.e.j.s.handler.ContextHandler: Started i.d.j.MutableServletContextHandler@...
INFO [...] [main] [] o.e.j.server.AbstractConnector: Started application@...
INFO [...] [main] [] o.e.j.server.AbstractConnector: Started admin@...
INFO [...] [main] [] o.eclipse.jetty.server.Server: Started Server@...
-</code></pre><p>At this point, Polaris is running.</p><h2 id=bootstrapping-polaris id=bootstrapping-polaris>Bootstrapping Polaris<a class=heading-anchor href=#bootstrapping-polaris aria-label=Anchor>#</a></h2><p>For this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down. It also means that Polaris will automatically bootstrap itself with root credentials. For mo [...]
+</code></pre><p>At this point, Polaris is running.</p><h2 id=bootstrapping-polaris>Bootstrapping Polaris</h2><p>For this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down. It also means that Polaris will automatically bootstrap itself with root credentials. For more information on how to configure Polaris for production usage, see the <a href=https://polaris.apa [...]
</code></pre><p>Be sure to note of these credentials as we’ll be using them below. You can also set these credentials as environment variables for use with the Polaris CLI:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span><client-id>
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span><client-secret>
-</span></span></code></pre></div><h2 id=defining-a-catalog id=defining-a-catalog>Defining a Catalog<a class=heading-anchor href=#defining-a-catalog aria-label=Anchor>#</a></h2><p>In Polaris, the <a href=https://polaris.apache.org/releases/0.9.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=https://polaris.apache.org/releases/0.9.0/entities/#table>tables</a> and <a href=https://polaris.apache.org/releases/0.9.0/entities/#view>views</a> are organized under [...]
+</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a Catalog</h2><p>In Polaris, the <a href=https://polaris.apache.org/releases/0.9.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=https://polaris.apache.org/releases/0.9.0/entities/#table>tables</a> and <a href=https://polaris.apache.org/releases/0.9.0/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div class=highlight><p [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -164,7 +164,7 @@ INFO [...] [main] [] o.eclipse.jetty.server.Server: Started Server@...
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --default-base-location <span style=color:#e6db74>${</span>DEFAULT_BASE_LOCATION<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --role-arn <span style=color:#e6db74>${</span>ROLE_ARN<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> quickstart_catalog
-</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html>Role ARN</a> with access to read and write data in that location. These credentials will be provided to engines re [...]
+</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html>Role ARN</a> with access to read and write data in that location. These credentials will be provided to engines re [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-secret <span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> principals <span style=color:#ae81ff>\
@@ -212,7 +212,7 @@ INFO [...] [main] [] o.eclipse.jetty.server.Server: Started Server@...
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog quickstart_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role quickstart_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>This grants the <a href=https://polaris.apache.org/releases/0.9.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities with [...]
+</span></span></code></pre></div><p>This grants the <a href=https://polaris.apache.org/releases/0.9.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities with [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.7.1,org.apache.hadoop:hadoop-aws:3.4.0 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.warehouse<span style=color:#f92672>=</span>quickstart_catalog <span style=color:#ae81ff>\
diff --git a/releases/0.9.0/rest-catalog-open-api/index.html b/releases/0.9.0/rest-catalog-open-api/index.html
index 3fa2f6cf6..3ff6104c3 100644
--- a/releases/0.9.0/rest-catalog-open-api/index.html
+++ b/releases/0.9.0/rest-catalog-open-api/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" "><meta property="og:title" content="Apache Iceberg OpenAPI"><meta property="og:description" content=" "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/rest-catalog-open-api/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Iceberg OpenAPI"><meta itemprop=description content=" "><meta itemprop=wordCount content="0"><meta itemprop=keywords content [...]
+<meta name=description content=" "><meta property="og:title" content="Apache Iceberg OpenAPI"><meta property="og:description" content=" "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/0.9.0/rest-catalog-open-api/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Iceberg OpenAPI"><meta itemprop=description content=" "><meta itemprop=wordCount content="0"><meta itemprop=keywords content [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.0/access-control/index.html b/releases/1.0.0/access-control/index.html
index 38e82020a..56961988f 100644
--- a/releases/1.0.0/access-control/index.html
+++ b/releases/1.0.0/access-control/index.html
@@ -2,16 +2,16 @@
<meta name=description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (I [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (In [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1277"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1277"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -138,24 +138,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object id=securable-object>Securable object<a class=heading-anchor href=#securable-object aria-label=Anchor>#</a></h2><p>A sec [...]
-has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role id=principal-role>Principal role<a class=heading-anchor href=#principal-role aria-label=Anchor>#</a></h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
+and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object>Securable object</h2><p>A securable object is an object to which access can be granted. Polaris
+has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role>Principal role</h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
securable objects.</p><p>Polaris supports a many-to-one relationship between service principals and principal roles. For example, to grant the same privileges to
multiple service principals, you can grant a single principal role to those service principals. A service principal can be granted one
principal role. When registering a service connection, the Polaris administrator specifies the principal role that is granted to the
service principal.</p><p>You don’t grant privileges directly to a principal role. Instead, you configure object permissions at the catalog role level, and then grant
-catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
+catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
in the catalog, such as catalog namespaces or tables. You can create one or more catalog roles for a catalog.</p><p>You grant privileges to a catalog role and then grant the catalog role to a principal role to bestow the privileges to one or more service
principals.</p><blockquote><p><strong>Note</strong></p><p>If you update the privileges bestowed to a service principal, the updates won’t take effect for up to one hour. This means that if you
revoke or grant some privileges for a catalog, the updated privileges won’t take effect on any service principal with access to that catalog
for up to one hour.</p></blockquote><p>Polaris also supports a many-to-many relationship between catalog roles and principal roles. You can grant the same catalog role to one or more
principal roles. Likewise, a principal role can be granted to one or more catalog roles.</p><p>The following table displays examples of catalog roles that you might
-configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
+configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
privileges to catalog roles and then grants service principals access to resources by assigning catalog roles to principal roles. Polaris
-supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges id=access-control-privileges>Access control privileges<a class=heading-anchor href=#access-control-privileges aria-label=Anchor>#</a></h2><p>This section describes the privileges that are available in the Polaris access control model. Privile [...]
+supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges>Access control privileges</h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are granted to catalog roles, catalog
roles are granted to principal roles, and principal roles are granted to service principals to specify the operations that service principals can
perform on objects in Polaris.</p><blockquote><p><strong>Important</strong></p><p>You can only grant privileges at the catalog level. Fine-grained access controls are not available. For example, you can grant read
-privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges id=table-privileges>Table privileges<a class=heading-anchor href=#table-privileges aria-label=Anchor>#</a></h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registe [...]
+privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges>Table privileges</h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td>Enables dropping a tabl [...]
includes the following users:</p><ul><li><p><strong>Alice:</strong> A service admin who signs up for Polaris. Alice can
create service principals. She can also create catalogs and
namespaces and configure access control for Polaris resources.</p></li><li><p><strong>Bob:</strong> A data engineer who uses Apache Spark™ to
diff --git a/releases/1.0.0/admin-tool/index.html b/releases/1.0.0/admin-tool/index.html
index 5e66456ac..4ac38f8ca 100644
--- a/releases/1.0.0/admin-tool/index.html
+++ b/releases/1.0.0/admin-tool/index.html
@@ -2,16 +2,16 @@
<meta name=description content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the me [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/admin-tool/"><meta property="article:sectio [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/admin-tool/"><meta property="article:section [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="522"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><m [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="522"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><me [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -142,7 +142,7 @@ example, to build the tool with support for Postgres, run the following:</p><div
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One standalone JAR in <code>runtime/admin/build/polaris-admin-*-runner.jar</code></li><li>Two distribution archives in <code>runtime/admin/build/distributions</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>#</a></h2><p>Please ma [...]
+</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One standalone JAR in <code>runtime/admin/build/polaris-admin-*-runner.jar</code></li><li>Two distribution archives in <code>runtime/admin/build/distributions</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage>Usage</h2><p>Please make sure the admin tool and Polaris server are with the same version [...]
To run the standalone JAR, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar --help
</span></span></code></pre></div><p>To run the Docker image, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run apache/polaris-admin-tool:latest --help
</span></span></code></pre></div><p>The basic usage of the Polaris Admin Tool is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-runner.jar [-hV] [COMMAND]
@@ -153,10 +153,10 @@ Commands:
help Display help information about the specified command.
bootstrap Bootstraps realms and principal credentials.
purge Purge principal credentials.
-</code></pre><h2 id=configuration id=configuration>Configuration<a class=heading-anchor href=#configuration aria-label=Anchor>#</a></h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
+</code></pre><h2 id=configuration>Configuration</h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
configuration can be done via environment variables or system properties.</p><p>At a minimum, it is necessary to configure the Polaris Admin Tool to connect to the same database
used by the Polaris server.</p><p>See the <a href=https://polaris.apache.org/releases/1.0.0/metastores/>metastore documentation</a> for more information on configuring the
-database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials<a class=heading-anchor href=#bootstrapping-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary [...]
+database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials</h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary principal credentials
for the Polaris server. This command is idempotent and can be run multiple times without causing any
issues. If a realm is already bootstrapped, running the <code>bootstrap</code> command again will not have any
effect on that realm.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar bootstrap --help
@@ -171,7 +171,7 @@ Bootstraps realms and root principal credentials.
-V, --version Print version information and exit.
</code></pre><p>For example, to bootstrap the <code>realm1</code> realm and create its root principal credential with the
client ID <code>admin</code> and client secret <code>admin</code>, you can run the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar bootstrap -r realm1 -c realm1,admin,admin
-</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials<a class=heading-anchor href=#purging-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>Warning: Running the <code>purge</code> command will remove all data associated with the specified realms!
+</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials</h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>Warning: Running the <code>purge</code> command will remove all data associated with the specified realms!
This includes all entities (catalogs, namespaces, tables, views, roles), all principal
credentials, grants, and any other data associated with the realms.</p></blockquote><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar purge --help
</span></span></code></pre></div><p>The basic usage of the <code>purge</code> command is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-runner.jar purge [-hV] -r=<realm> [-r=<realm>]...
diff --git a/releases/1.0.0/command-line-interface/index.html b/releases/1.0.0/command-line-interface/index.html
index 91683a4b3..fc9a32300 100644
--- a/releases/1.0.0/command-line-interface/index.html
+++ b/releases/1.0.0/command-line-interface/index.html
@@ -11,7 +11,7 @@ polaris [options] COMMAND ... options: --host --port --base-url --client-id --cl
catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><meta itemprop=wordCount content="3409"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Command Line Interface"><meta name=twitter:description content="In order to help administrators quickly set up and manage their Polaris server, P [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --profile COMMAND must be one of the following:
-catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js inte [...]
+catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js inte [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -153,13 +153,13 @@ polaris catalogs update --property foo=bar some_other_catalog
polaris catalogs update another_catalog --property k=v
polaris privileges namespace grant --namespace some.schema --catalog fourth_catalog --catalog-role some_catalog_role TABLE_READ_DATA
polaris profiles list
-</code></pre><h3 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
-</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
+</code></pre><h3 id=authentication>Authentication</h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
+</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
</code></pre><p>Alternatively, you can run the CLI by providing a path to it, such as with the following invocation:</p><pre tabindex=0><code>~/polaris principals list
-</code></pre><h2 id=commands id=commands>Commands<a class=heading-anchor href=#commands aria-label=Anchor>#</a></h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be conf [...]
+</code></pre><h2 id=commands>Commands</h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be configured for reuse. This provides an alternative to passing authentication d [...]
polaris principals create --help
polaris profiles --help
-</code></pre><h3 id=catalogs id=catalogs>catalogs<a class=heading-anchor href=#catalogs aria-label=Anchor>#</a></h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create id=create>create<a class=heading-anchor href=#create aria-label=Anchor>#</a></h4><p>The <code>create</co [...]
+</code></pre><h3 id=catalogs>catalogs</h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create>create</h4><p>The <code>create</code> subcommand is used to create a catalog.</p><pre tabindex=0><code>input: polaris catalogs create --help
options:
create
Named arguments:
@@ -176,7 +176,7 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs create \
+</code></pre><h5 id=examples>Examples</h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -194,29 +194,29 @@ polaris catalogs create \
--storage-type file \
--default-base-location file:///example/tmp \
quickstart_catalog
-</code></pre><h4 id=delete id=delete>delete<a class=heading-anchor href=#delete aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
+</code></pre><h4 id=delete>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
options:
delete
Positional arguments:
catalog
-</code></pre><h5 id=examples-1 id=examples-1>Examples<a class=heading-anchor href=#examples-1 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs delete some_catalog
-</code></pre><h4 id=get id=get>get<a class=heading-anchor href=#get aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
+</code></pre><h5 id=examples-1>Examples</h5><pre tabindex=0><code>polaris catalogs delete some_catalog
+</code></pre><h4 id=get>get</h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
options:
get
Positional arguments:
catalog
-</code></pre><h5 id=examples-2 id=examples-2>Examples<a class=heading-anchor href=#examples-2 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs get some_catalog
+</code></pre><h5 id=examples-2>Examples</h5><pre tabindex=0><code>polaris catalogs get some_catalog
polaris catalogs get another_catalog
-</code></pre><h4 id=list id=list>list<a class=heading-anchor href=#list aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
+</code></pre><h4 id=list>list</h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
options:
list
Named arguments:
--principal-role The name of a principal role
-</code></pre><h5 id=examples-3 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs list
+</code></pre><h5 id=examples-3>Examples</h5><pre tabindex=0><code>polaris catalogs list
polaris catalogs list --principal-role some_user
-</code></pre><h4 id=update id=update>update<a class=heading-anchor href=#update aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
+</code></pre><h4 id=update>update</h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
options:
update
Named arguments:
@@ -225,10 +225,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples-4 id=examples-4>Examples<a class=heading-anchor href=#examples-4 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
+</code></pre><h5 id=examples-4>Examples</h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
polaris catalogs update --default-base-location s3://new-bucket/my_data my_catalog
-</code></pre><h3 id=principals id=principals>Principals<a class=heading-anchor href=#principals aria-label=Anchor>#</a></h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1 id=create-1>create<a class=heading-anchor href=#create-1 aria-label=Anchor>#</ [...]
+</code></pre><h3 id=principals>Principals</h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1>create</h4><p>The <code>create</code> subcommand is used to create a new principal.</p><pre tabindex=0><code>input: polaris principals create --help
options:
create
Named arguments:
@@ -236,118 +236,118 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-5 id=examples-5>Examples<a class=heading-anchor href=#examples-5 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-5>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals create --client-id ${CLIENT_ID} --property admin=true some_admin_user
-</code></pre><h4 id=delete-1 id=delete-1>delete<a class=heading-anchor href=#delete-1 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
+</code></pre><h4 id=delete-1>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
options:
delete
Positional arguments:
principal
-</code></pre><h5 id=examples-6 id=examples-6>Examples<a class=heading-anchor href=#examples-6 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals delete some_user
+</code></pre><h5 id=examples-6>Examples</h5><pre tabindex=0><code>polaris principals delete some_user
polaris principals delete some_admin_user
-</code></pre><h4 id=get-1 id=get-1>get<a class=heading-anchor href=#get-1 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
+</code></pre><h4 id=get-1>get</h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
options:
get
Positional arguments:
principal
-</code></pre><h5 id=examples-7 id=examples-7>Examples<a class=heading-anchor href=#examples-7 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals get some_user
+</code></pre><h5 id=examples-7>Examples</h5><pre tabindex=0><code>polaris principals get some_user
polaris principals get some_admin_user
-</code></pre><h4 id=list-1 id=list-1>list<a class=heading-anchor href=#list-1 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8 id=examples-8>Examples<a class=heading-anchor href=#examples-8 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals list
-</code></pre><h4 id=rotate-credentials id=rotate-credentials>rotate-credentials<a class=heading-anchor href=#rotate-credentials aria-label=Anchor>#</a></h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
+</code></pre><h4 id=list-1>list</h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8>Examples</h5><pre tabindex=0><code>polaris principals list
+</code></pre><h4 id=rotate-credentials>rotate-credentials</h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
options:
rotate-credentials
Positional arguments:
principal
-</code></pre><h5 id=examples-9 id=examples-9>Examples<a class=heading-anchor href=#examples-9 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
+</code></pre><h5 id=examples-9>Examples</h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
polaris principals rotate-credentials some_admin_user
-</code></pre><h4 id=update-1 id=update-1>update<a class=heading-anchor href=#update-1 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
+</code></pre><h4 id=update-1>update</h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-10 id=examples-10>Examples<a class=heading-anchor href=#examples-10 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
+</code></pre><h5 id=examples-10>Examples</h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
polaris principals update --property are_other_keys_removed=yes some_user
-</code></pre><h4 id=access id=access>access<a class=heading-anchor href=#access aria-label=Anchor>#</a></h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
+</code></pre><h4 id=access>access</h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
options:
access
Positional arguments:
principal
-</code></pre><h5 id=examples-11 id=examples-11>Examples<a class=heading-anchor href=#examples-11 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals access quickstart_user
-</code></pre><h3 id=principal-roles id=principal-roles>Principal Roles<a class=heading-anchor href=#principal-roles aria-label=Anchor>#</a></h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</ [...]
+</code></pre><h5 id=examples-11>Examples</h5><pre tabindex=0><code>polaris principals access quickstart_user
+</code></pre><h3 id=principal-roles>Principal Roles</h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</l [...]
options:
create
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-12 id=examples-12>Examples<a class=heading-anchor href=#examples-12 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles create data_engineer
+</code></pre><h5 id=examples-12>Examples</h5><pre tabindex=0><code>polaris principal-roles create data_engineer
polaris principal-roles create --property key=value data_analyst
-</code></pre><h4 id=delete-2 id=delete-2>delete<a class=heading-anchor href=#delete-2 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
+</code></pre><h4 id=delete-2>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
options:
delete
Positional arguments:
principal_role
-</code></pre><h5 id=examples-13 id=examples-13>Examples<a class=heading-anchor href=#examples-13 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
+</code></pre><h5 id=examples-13>Examples</h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
polaris principal-roles delete data_analyst
-</code></pre><h4 id=get-2 id=get-2>get<a class=heading-anchor href=#get-2 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
+</code></pre><h4 id=get-2>get</h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
options:
get
Positional arguments:
principal_role
-</code></pre><h5 id=examples-14 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles get data_engineer
+</code></pre><h5 id=examples-14>Examples</h5><pre tabindex=0><code>polaris principal-roles get data_engineer
polaris principal-roles get data_analyst
-</code></pre><h4 id=list-2 id=list-2>list<a class=heading-anchor href=#list-2 aria-label=Anchor>#</a></h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
+</code></pre><h4 id=list-2>list</h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
options:
list
Named arguments:
--catalog-role The name of a catalog role. If provided, show only principal roles assigned to this catalog role.
--principal The name of a principal. If provided, show only principal roles assigned to this principal.
-</code></pre><h5 id=examples-15 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles list
+</code></pre><h5 id=examples-15>Examples</h5><pre tabindex=0><code>polaris principal-roles list
polaris principal-roles --principal d.knuth
polaris principal-roles --catalog-role super_secret_data
-</code></pre><h4 id=update-2 id=update-2>update<a class=heading-anchor href=#update-2 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
+</code></pre><h4 id=update-2>update</h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-16 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
+</code></pre><h5 id=examples-16>Examples</h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
polaris principal-roles update data_analyst --property key=value3
-</code></pre><h4 id=grant id=grant>grant<a class=heading-anchor href=#grant aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
+</code></pre><h4 id=grant>grant</h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
options:
grant
Named arguments:
--principal A principal to grant this principal role to
Positional arguments:
principal_role
-</code></pre><h5 id=examples-17 id=examples-17>Examples<a class=heading-anchor href=#examples-17 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
+</code></pre><h5 id=examples-17>Examples</h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
polaris principal-roles grant data_scientist --principal a.ng
-</code></pre><h4 id=revoke id=revoke>revoke<a class=heading-anchor href=#revoke aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
+</code></pre><h4 id=revoke>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
options:
revoke
Named arguments:
--principal A principal to revoke this principal role from
Positional arguments:
principal_role
-</code></pre><h5 id=examples-18 id=examples-18>Examples<a class=heading-anchor href=#examples-18 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
+</code></pre><h5 id=examples-18>Examples</h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
polaris principal-roles revoke data_scientist --principal changed.role
-</code></pre><h3 id=catalog-roles id=catalog-roles>Catalog Roles<a class=heading-anchor href=#catalog-roles aria-label=Anchor>#</a></h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</l [...]
+</code></pre><h3 id=catalog-roles>Catalog Roles</h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</li></ol><h4 id=create-3>create</h4><p>The <code>create</code> subcommand is used to c [...]
options:
create
Named arguments:
@@ -355,40 +355,40 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-19 id=examples-19>Examples<a class=heading-anchor href=#examples-19 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
+</code></pre><h5 id=examples-19>Examples</h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
polaris catalog-roles create --catalog other_catalog sales_data
-</code></pre><h4 id=delete-3 id=delete-3>delete<a class=heading-anchor href=#delete-3 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
+</code></pre><h4 id=delete-3>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-20 id=examples-20>Examples<a class=heading-anchor href=#examples-20 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
+</code></pre><h5 id=examples-20>Examples</h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
polaris catalog-roles delete --catalog other_catalog sales_data
-</code></pre><h4 id=get-3 id=get-3>get<a class=heading-anchor href=#get-3 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
+</code></pre><h4 id=get-3>get</h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-21 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
+</code></pre><h5 id=examples-21>Examples</h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
polaris catalog-roles get --catalog other_catalog inventory_data
-</code></pre><h4 id=list-3 id=list-3>list<a class=heading-anchor href=#list-3 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
+</code></pre><h4 id=list-3>list</h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
options:
list
Named arguments:
--principal-role The name of a principal role
Positional arguments:
catalog
-</code></pre><h5 id=examples-22 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles list
+</code></pre><h5 id=examples-22>Examples</h5><pre tabindex=0><code>polaris catalog-roles list
polaris catalog-roles list --principal-role data_engineer
-</code></pre><h4 id=update-3 id=update-3>update<a class=heading-anchor href=#update-3 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
+</code></pre><h4 id=update-3>update</h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
options:
update
Named arguments:
@@ -396,10 +396,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-23 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
+</code></pre><h5 id=examples-23>Examples</h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
polaris catalog-roles update sales_data --catalog some_catalog --property key=value
-</code></pre><h4 id=grant-1 id=grant-1>grant<a class=heading-anchor href=#grant-1 aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
+</code></pre><h4 id=grant-1>grant</h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
options:
grant
Named arguments:
@@ -407,10 +407,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-24 id=examples-24>Examples<a class=heading-anchor href=#examples-24 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-24>Examples</h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles grant --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h4 id=revoke-1 id=revoke-1>revoke<a class=heading-anchor href=#revoke-1 aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
+</code></pre><h4 id=revoke-1>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
options:
revoke
Named arguments:
@@ -418,10 +418,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-25 id=examples-25>Examples<a class=heading-anchor href=#examples-25 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-25>Examples</h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles revoke --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h3 id=namespaces id=namespaces>Namespaces<a class=heading-anchor href=#namespaces aria-label=Anchor>#</a></h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4 id=create-4>create<a class=heading-anchor href=#create-4 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to c [...]
+</code></pre><h3 id=namespaces>Namespaces</h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4>create</h4><p>The <code>create</code> subcommand is used to create a new namespace.</p><p>When creating a namespace with an explicit location, that location must reside within the parent catalog or namespace.</p>< [...]
options:
create
Named arguments:
@@ -430,50 +430,50 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
namespace
-</code></pre><h5 id=examples-26 id=examples-26>Examples<a class=heading-anchor href=#examples-26 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
+</code></pre><h5 id=examples-26>Examples</h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
polaris namespaces create --catalog my_catalog --location 's3://bucket/outer/inner_SUFFIX' outer.inner
-</code></pre><h4 id=delete-4 id=delete-4>delete<a class=heading-anchor href=#delete-4 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
+</code></pre><h4 id=delete-4>delete</h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-27 id=examples-27>Examples<a class=heading-anchor href=#examples-27 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
+</code></pre><h5 id=examples-27>Examples</h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
polaris namespaces delete --catalog my_catalog outer_namespace
-</code></pre><h4 id=get-4 id=get-4>get<a class=heading-anchor href=#get-4 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
+</code></pre><h4 id=get-4>get</h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-28 id=examples-28>Examples<a class=heading-anchor href=#examples-28 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
+</code></pre><h5 id=examples-28>Examples</h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
polaris namespaces get a.b.c --catalog some_catalog
-</code></pre><h4 id=list-4 id=list-4>list<a class=heading-anchor href=#list-4 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
+</code></pre><h4 id=list-4>list</h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
options:
list
Named arguments:
--catalog The name of an existing catalog
--parent If specified, list namespaces inside this parent namespace
-</code></pre><h5 id=examples-29 id=examples-29>Examples<a class=heading-anchor href=#examples-29 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
+</code></pre><h5 id=examples-29>Examples</h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges id=privileges>Privileges<a class=heading-anchor href=#privileges aria-label=Anchor>#</a></h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.0.0/entities/#privilege>docs</a>.</p><p>Note that when using th [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.0.0/entities/#privilege>docs</a>.</p><p>Note that when using the <code>privileges</code> command, the user specifies the relevant catalog and [...]
options:
list
Named arguments:
--catalog The name of an existing catalog
--catalog-role The name of a catalog role
-</code></pre><h5 id=examples-30 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
+</code></pre><h5 id=examples-30>Examples</h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
polaris privileges my_role list --catalog-role my_other_role --catalog my_catalog
-</code></pre><h4 id=catalog id=catalog>catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
+</code></pre><h4 id=catalog>catalog</h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
options:
catalog
grant
@@ -489,7 +489,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-31 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-31>Examples</h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -503,7 +503,7 @@ polaris privileges \
--catalog-role catalog_role \
--cascade \
TABLE_CREATE
-</code></pre><h4 id=namespace id=namespace>namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
+</code></pre><h4 id=namespace>namespace</h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
options:
namespace
grant
@@ -521,7 +521,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-32 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-32>Examples</h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -536,7 +536,7 @@ polaris privileges \
--catalog-role catalog_role \
--namespace a.b \
TABLE_LIST
-</code></pre><h4 id=table id=table>table<a class=heading-anchor href=#table aria-label=Anchor>#</a></h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
+</code></pre><h4 id=table>table</h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
options:
table
grant
@@ -556,7 +556,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-33 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-33>Examples</h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -574,7 +574,7 @@ polaris privileges \
--table t \
--cascade \
TABLE_DROP
-</code></pre><h4 id=view id=view>view<a class=heading-anchor href=#view aria-label=Anchor>#</a></h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
+</code></pre><h4 id=view>view</h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
options:
view
grant
@@ -594,7 +594,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-34 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-34>Examples</h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -612,35 +612,35 @@ polaris privileges \
--view v \
--cascade \
VIEW_FULL_METADATA
-</code></pre><h3 id=profiles id=profiles>profiles<a class=heading-anchor href=#profiles aria-label=Anchor>#</a></h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 i [...]
+</code></pre><h3 id=profiles>profiles</h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create-5>create</h4><p>The <code>create</code> subcommand is used to cre [...]
options:
create
Positional arguments:
profile
-</code></pre><h5 id=examples-35 id=examples-35>Examples<a class=heading-anchor href=#examples-35 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles create dev
-</code></pre><h4 id=delete-5 id=delete-5>delete<a class=heading-anchor href=#delete-5 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
+</code></pre><h5 id=examples-35>Examples</h5><pre tabindex=0><code>polaris profiles create dev
+</code></pre><h4 id=delete-5>delete</h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
options:
delete
Positional arguments:
profile
-</code></pre><h5 id=examples-36 id=examples-36>Examples<a class=heading-anchor href=#examples-36 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles delete dev
-</code></pre><h4 id=get-5 id=get-5>get<a class=heading-anchor href=#get-5 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
+</code></pre><h5 id=examples-36>Examples</h5><pre tabindex=0><code>polaris profiles delete dev
+</code></pre><h4 id=get-5>get</h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
options:
get
Positional arguments:
profile
-</code></pre><h5 id=examples-37 id=examples-37>Examples<a class=heading-anchor href=#examples-37 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles get dev
-</code></pre><h4 id=list-6 id=list-6>list<a class=heading-anchor href=#list-6 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
+</code></pre><h5 id=examples-37>Examples</h5><pre tabindex=0><code>polaris profiles get dev
+</code></pre><h4 id=list-6>list</h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
options:
list
-</code></pre><h5 id=examples-38 id=examples-38>Examples<a class=heading-anchor href=#examples-38 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles list
-</code></pre><h4 id=update-4 id=update-4>update<a class=heading-anchor href=#update-4 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
+</code></pre><h5 id=examples-38>Examples</h5><pre tabindex=0><code>polaris profiles list
+</code></pre><h4 id=update-4>update</h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
options:
update
Positional arguments:
profile
-</code></pre><h5 id=examples-39 id=examples-39>Examples<a class=heading-anchor href=#examples-39 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles update dev
-</code></pre><h2 id=examples-40 id=examples-40>Examples<a class=heading-anchor href=#examples-40 aria-label=Anchor>#</a></h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog id=creating-a-principal-and-a-catalog>Creating a principal and a catalog<a class=heading-anchor href=#creating-a-principal- [...]
+</code></pre><h5 id=examples-39>Examples</h5><pre tabindex=0><code>polaris profiles update dev
+</code></pre><h2 id=examples-40>Examples</h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog>Creating a principal and a catalog</h3><pre tabindex=0><code>polaris principals create my_user
polaris catalogs create \
--type internal \
@@ -650,7 +650,7 @@ polaris catalogs create \
--allowed-location s3://iceberg-bucket/polaris-alt-location-1 \
--allowed-location s3://iceberg-bucket/polaris-alt-location-2 \
my_catalog
-</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog<a class=heading-anchor href=#granting-a-principal-the-ability-to-manage-the-content-of-a-catalog aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris principal-roles create power_user
+</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog</h3><pre tabindex=0><code>polaris principal-roles create power_user
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -665,7 +665,7 @@ polaris privileges \
--catalog-role my_catalog_role \
grant \
CATALOG_MANAGE_CONTENT
-</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read<a class=heading-anchor href=#identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read aria-label=Anchor>#</a></h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, [...]
+</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read</h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, subsume <code>TABLE_READ_DATA</code> and would not be discovered here.</em></p><pre tabindex=0><code>principal_roles=$(polaris principal-roles list --principal my_principal)
for principal_role in ${principal_roles}; do
catalog_roles=$(polaris catalog-roles --list --principal-role "${principal_role}")
for catalog_role in ${catalog_roles}; do
diff --git a/releases/1.0.0/configuration/index.html b/releases/1.0.0/configuration/index.html
index d8eade19a..2c81df596 100644
--- a/releases/1.0.0/configuration/index.html
+++ b/releases/1.0.0/configuration/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+<meta name=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1608"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker i [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1608"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker im [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,7 +137,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as
well as for Polaris binary distributions.</p><blockquote><p>Note: for Production tips and best practices, refer to <a href=https://polaris.apache.org/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</p></blockquote><p>First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus
<a href=https://quarkus.io/guides/config>configuration guide</a> to get familiar with the basics.</p><p>Quarkus aggregates configuration properties from multiple sources, applying them in a specific order
@@ -158,11 +158,11 @@ names. In these situations, it’s preferable to use system properties or a
(mounted) at <code>$PWD/config/application.properties</code> for Polaris server to recognize it. In Polaris
official Docker images, this location is <code>/deployment/config/application.properties</code>.</p><p>For Kubernetes deployments, the configuration file is typically defined as a <code>ConfigMap</code>, then
mounted in the container at <code>/deployment/config/application.properties</code>. It can be mounted in
-read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference id=polaris-configuration-options-reference>Polaris Configuration Options Reference<a class=heading-anchor href=#polaris-configuration-options-reference aria-label=Anchor>#</a></h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-j [...]
+read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference>Polaris Configuration Options Reference</h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-jdbc</code></td><td>Define the persistence backend used by Polaris (<code>in-memory</code>, <code>relational-jdbc</code>, <code>eclipse-l [...]
image; they come from the base image used by Polaris, <a href=https://catalog.redhat.com/software/containers/ubi9/openjdk-21-runtime/6501ce769a0d86945c422d5f>ubi9/openjdk-21-runtime</a>. They should be used
to fine-tune the Java runtime directly, e.g. to enable debugging or to set the heap size. These
variables are not specific to Polaris, but are inherited from the base image. If in doubt, leave
-everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
+everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
is using. To do this, set the log level for the <code>io.smallrye.config</code> category to <code>DEBUG</code>, and also
set the console appender level to <code>DEBUG</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.console.level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.category."io.smallrye.config".level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
diff --git a/releases/1.0.0/configuring-polaris-for-production/index.html b/releases/1.0.0/configuring-polaris-for-production/index.html
index 1d21613ad..9d9f1362c 100644
--- a/releases/1.0.0/configuring-polaris-for-production/index.html
+++ b/releases/1.0.0/configuring-polaris-for-production/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:title" content="Configuring Polaris for Production"><meta property="og:description" content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/configuring-polaris-for-production/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris for Production"><meta itemprop=description content="The default server configuration is intended for development and testing. When you deploy Pola [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta itemprop=wordCount content="913"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris for Production"><meta name=twitter:description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
-rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -134,7 +134,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2 id=configure-oauth2 [...]
+review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2>Configure OAuth2</h [...]
supported out of the box:</p><ul><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTRSAKeyPairFactory.java>rsa-key-pair</a> uses a pair of public and private keys;</li><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTSymmetricKeyFactory.java>symmetric-key</a> uses a shared secret [...]
The default <code>rsa-key-pair</code> configuration is not suitable when deploying many replicas of Polaris,
as each replica will have its own set of keys. This will cause token validation to fail when a
@@ -152,7 +152,7 @@ configuration file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;
</span></span></code></pre></div><p>Finally, you can also configure the token broker to use a maximum lifespan by setting the following
property:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
</span></span></code></pre></div><p>Typically, in Kubernetes, you would define the keys as a <code>Secret</code> and mount them as files in the
-container.</p><h3 id=realm-context-resolver id=realm-context-resolver>Realm Context Resolver<a class=heading-anchor href=#realm-context-resolver aria-label=Anchor>#</a></h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
+container.</p><h3 id=realm-context-resolver>Realm Context Resolver</h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
context resolver by setting the following properties in <code>application.properties</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.realms</span><span style=color:#f92672>=</span><span style=color:#e6db74>POLARIS,MY-REALM</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.header-name</span><span style=color:#f92672>=</span><span style=color:#e6db74>Polaris-Realm</span>
</span></span></code></pre></div><p>Where:</p><ul><li><code>realms</code> is a comma-separated list of allowed realms. This setting <em>must</em> be correctly configured.
@@ -163,7 +163,7 @@ realm in the list as the default realm. In the above example, <code>POLARIS</cod
would be used if the <code>Polaris-Realm</code> header is not present in the request.</p><p>This is not recommended for production use, as it may lead to security vulnerabilities. To avoid
this, set the following property to <code>true</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.require-header</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>This will cause Polaris to also return a <code>404 Not Found</code> response if the realm header is not present
-in the request.</p><h3 id=metastore-configuration id=metastore-configuration>Metastore Configuration<a class=heading-anchor href=#metastore-configuration aria-label=Anchor>#</a></h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
+in the request.</p><h3 id=metastore-configuration>Metastore Configuration</h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
default, Polaris uses an in-memory metastore.</p><blockquote><p>[!IMPORTANT]
The default in-memory metastore is not suitable for production use, as it will lose all data
when the server is restarted; it is also unusable when multiple Polaris replicas are used.</p></blockquote><p>To enable a durable metastore, configure your system to use the Relational JDBC-backed metastore.
@@ -178,7 +178,7 @@ QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
Please refer to the documentation here:
<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><blockquote><p>[!IMPORTANT]
Be sure to secure your metastore backend since it will be storing sensitive data and catalog
-metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping id=bootstrapping>Bootstrapping<a class=heading-anchor href=#bootstrapping aria-label=Anchor>#</a></h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
+metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping>Bootstrapping</h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
performed <strong>only once</strong> for each realm in order to prepare the metastore to integrate with Polaris.</p><p>By default, when bootstrapping a new realm, Polaris will create randomised <code>CLIENT_ID</code> and
<code>CLIENT_SECRET</code> for the <code>root</code> principal and store their hashes in the metastore backend.</p><p>Depending on your database, this may not be convenient as the generated credentials are not stored
in clear text in the database.</p><p>In order to provide your own credentials for <code>root</code> principal (so you can request tokens via
@@ -201,7 +201,7 @@ otherwise Polaris will resolve the realm to the first one in the configuration
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_id=my-client-id"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_secret=my-client-secret"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"scope=PRINCIPAL_ROLE:ALL"</span>
-</span></span></code></pre></div><h3 id=disable-file-storage-type id=disable-file-storage-type>Disable FILE Storage Type<a class=heading-anchor href=#disable-file-storage-type aria-label=Anchor>#</a></h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
+</span></span></code></pre></div><h3 id=disable-file-storage-type>Disable FILE Storage Type</h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
but <strong>not recommended for production</strong>. To disable it, set the supported storage types like this:</p><pre tabindex=0><code class=language-hocon data-lang=hocon>polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES" = [ "S3", "Azure" ]
-</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations id=upgrade-considerations>Upgrade Considerations<a class=heading-anchor href=#upgrade-considerations aria-label=Anchor>#</a></h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
+</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations>Upgrade Considerations</h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
upgrade concerns.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item data-bs-tog [...]
\ No newline at end of file
diff --git a/releases/1.0.0/entities/index.html b/releases/1.0.0/entities/index.html
index e549004a9..ddbed1ac7 100644
--- a/releases/1.0.0/entities/index.html
+++ b/releases/1.0.0/entities/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="787"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="787"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
+Storage Type All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,4 +137,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
diff --git a/releases/1.0.0/evolution/index.html b/releases/1.0.0/evolution/index.html
index 8d93e402f..4b8e7df43 100644
--- a/releases/1.0.0/evolution/index.html
+++ b/releases/1.0.0/evolution/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:title" content="Polaris Evolution"><meta property="og:description" content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/evolution/"><meta property="article:section" content="releases"><meta itemprop=name content="Polaris Evolution"><meta itemprop=descriptio [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta itemprop=wordCount content="712"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Evolution"><meta name=twitter:description content="This page discusses what can be expected from Apa [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
-Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,7 +133,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
it implements the Iceberg REST Catalog API and its own REST APIs.</p><p>Revisions of the Iceberg REST Catalog API are controlled by the <a href=https://iceberg.apache.org/>Apache Iceberg</a>
community. Polaris attempts to accurately implement this specification. Nonetheless,
optional REST Catalog features may or may not be supported immediately. In general,
@@ -147,7 +147,7 @@ backward-compatible way, new endpoints (URI paths) may be introduced. New URI &l
be introduced too (e.g. <code>api/catalog/v2</code>).</p><p>Note that those “v1”, “v2”, etc. URI path segments are not meant to be 1:1 with Polaris
releases or Polaris project version numbers (e.g. a “v2” path segment does not mean that
it is added in Polaris 2.0).</p><p>Polaris servers will support deprecated API endpoints / parameters / versions / etc.
-for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database id=managing-polaris-database>Managing Polaris Database<a class=heading-anchor href=#managing-polaris-database aria-label=Anchor>#</a></h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
+for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database>Managing Polaris Database</h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
“Persistence” in other docs.</p><p>Each Polaris release may support multiple Persistence <a href=../metastores>implementations</a>,
for example, “EclipseLink” (deprecated) and “JDBC” (current).</p><p>Each type of Persistence evolves individually. Within each Persistence type, Polaris
attempts to support rolling upgrades (both version X and X + 1 servers running at the
@@ -155,14 +155,14 @@ same time).</p><p>However, migrating between different Persistence types is not
upgrade manner (for example, migrating from “EclipseLink” to “JDBC”). Polaris provides
<a href=https://github.com/apache/polaris-tools/>tools</a> for migrating between different
catalogs and those tools may be used to migrate between different Persistence types
-as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency<a class=heading-anchor href=#using-polaris-as-a-build-time-dependency aria-label=Anchor>#</a></h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
+as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency</h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
downstream projects according to the terms of the license included into Polaris distributions.</p><p>The minimal version of the JRE required by Polaris code (compilation target) may be updated in
any release. Different Polaris jars may have different minimal JRE version requirements.</p><p>Changes in Java class should be expected at any time regardless of the module name or
whether the class / method is <code>public</code> or not.</p><p>This approach is not meant to discourage the use of Polaris code in downstream projects, but
to allow more flexibility in evolving the codebase to support new catalog-level features
and improve code efficiency. Maintainers of downstream projects are encouraged to join Polaris
mailing lists to monitor project changes, suggest improvements, and engage with the Polaris
-community in case of specific compatibility concerns.</p><h2 id=semantic-versioning id=semantic-versioning>Semantic Versioning<a class=heading-anchor href=#semantic-versioning aria-label=Anchor>#</a></h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
+community in case of specific compatibility concerns.</p><h2 id=semantic-versioning>Semantic Versioning</h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
respect to REST APIs (beta and experimental APIs excepted), <a href=../policy/>Polaris Policies</a>
and user-facing <a href=../configuration/>configuration</a>.</p><p>The following are some examples of Polaris approach to SemVer in REST APIs / configuration.
These examples are for illustration purposes and should not be considered to be
diff --git a/releases/1.0.0/generic-table/index.html b/releases/1.0.0/generic-table/index.html
index 28fe71bfa..3de7dff35 100644
--- a/releases/1.0.0/generic-table/index.html
+++ b/releases/1.0.0/generic-table/index.html
@@ -3,7 +3,7 @@
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:title" content="Generic Table (Beta)"><meta property="og:description" content="The Generic Table in Apache Polaris is designed to provide support for non-Iceberg tables across different table formats includes delta, csv etc. It curr [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/generic-table/"><meta property="article:section" content="releases"><meta itemprop=name content="Generic Table (Beta)"><meta itemprop [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta itemprop=wordCount content="816"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Generic Table (Beta)"><meta name=twitter:description content="The Generic Table in Apache Polaris is des [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,9 +129,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
the Iceberg table entities.</p><table><thead><tr><th>Operations</th><th><strong>Iceberg Table API</strong></th><th><strong>Generic Table API</strong></th></tr></thead><tbody><tr><td>Create Table</td><td>Create an Iceberg table</td><td>Create a generic table</td></tr><tr><td>Load Table</td><td>Load an Iceberg table. If the table to load is a generic table, you need to call the Generic Table loadTable API, otherwise a TableNotFoundException will be thrown</td><td>Load a generic table. Simi [...]
-there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table id=working-with-generic-table>Working with Generic Table<a class=heading-anchor href=#working-with-generic-table aria-label=Anchor>#</a></h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be descri [...]
+there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table>Working with Generic Table</h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be described in the later section.</li><li>Use the Spark client provided if you are working with Spark. Please refer to [...]
request body looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"<table_name>"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"format"</span>: <span style=color:#e6db74>"<table_format>"</span>,
@@ -153,7 +153,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "key1": "value1"
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }'</span>
-</span></span></code></pre></div><h3 id=load-a-generic-table id=load-a-generic-table>Load a Generic Table<a class=heading-anchor href=#load-a-generic-table aria-label=Anchor>#</a></h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;- [...]
+</span></span></code></pre></div><h3 id=load-a-generic-table>Load a Generic Table</h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=dis [...]
</span></span></code></pre></div><p>And the response looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"table"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"delta_table"</span>,
@@ -165,7 +165,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=list-generic-tables id=list-generic-tables>List Generic Tables<a class=heading-anchor href=#list-generic-tables aria-label=Anchor>#</a></h3><p>The REST endpoint for listing the generic tables under a given
+</span></span></code></pre></div><h3 id=list-generic-tables>List Generic Tables</h3><p>The REST endpoint for listing the generic tables under a given
namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/</code>.</p><p>Following curl command lists all tables under namespace delta_namespace:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
</span></span></code></pre></div><p>Example Response:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"identifiers"</span>: [
@@ -176,8 +176,8 @@ namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-table
</span></span><span style=display:flex><span> ],
</span></span><span style=display:flex><span> <span style=color:#f92672>"next-page-token"</span>: <span style=color:#66d9ef>null</span>
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=drop-a-generic-table id=drop-a-generic-table>Drop a Generic Table<a class=heading-anchor href=#drop-a-generic-table aria-label=Anchor>#</a></h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size [...]
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations id=limitations>Limitations<a class=heading-anchor href=#limitations [...]
+</span></span></code></pre></div><h3 id=drop-a-generic-table>Drop a Generic Table</h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations>Limitations</h2><p>Current limitations of Generic Table support:</p><ol><li>Limited spec information. Currently, there is no spec for information like [...]
It is the responsibility of the engine (and plugins used by the engine) to determine exactly how loading or commiting data
should look like based on the metadata. For example, with the delta support, th delta log serialization, deserialization
and update all happens at client side.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__l [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/deploying-polaris/index.html b/releases/1.0.0/getting-started/deploying-polaris/index.html
index d111041ed..6e456221c 100644
--- a/releases/1.0.0/getting-started/deploying-polaris/index.html
+++ b/releases/1.0.0/getting-started/deploying-polaris/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.0/getting-started/deploying-polaris/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png size [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
index c0b3b988c..73b4e198b 100644
--- a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
+++ b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
@@ -7,7 +7,7 @@ There must be at least two subnets created in the VPC and region in which your E
The requirements to run the script below are:
There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><meta itemprop=wordCount content="255"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Amazon Web Services (AWS)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Amazon RDS for PostgreSQL ins [...]
The requirements to run the script below are:
-There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
+There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-aws.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To sh [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-s [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
index ed5002cfb..b64d8eb26 100644
--- a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
+++ b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
@@ -3,7 +3,7 @@
The requirements to run the script below are:"><meta property="og:title" content="Deploying Polaris on Azure"><meta property="og:description" content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres instance holding all Polaris data. Additionally, Polaris will be bootstrapped to use this database and Docker con [...]
The requirements to run the script below are:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-azure/"><meta property="article:section" content="releases"><meta itemprop=name content="Deploying Polaris on Azure"><meta itemprop=description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will star [...]
The requirements to run the script below are:"><meta itemprop=wordCount content="204"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Azure"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres in [...]
-The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
+The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -135,6 +135,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-azure.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
index aebe92b6d..a71bfb61c 100644
--- a/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
+++ b/releases/1.0.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
@@ -7,7 +7,7 @@ Install the gcloud CLI, if it is not already installed on the GCP VM."><meta pro
The requirements to run the script below are:
Install the gcloud CLI, if it is not already installed on the GCP VM."><meta itemprop=wordCount content="206"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Google Cloud Platform (GCP)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start a Cloud SQL for PostgreSQL instance, which will be used as t [...]
The requirements to run the script below are:
-Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
+Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-gcp.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/index.html b/releases/1.0.0/getting-started/index.html
index b1c5903dd..1b3293b02 100644
--- a/releases/1.0.0/getting-started/index.html
+++ b/releases/1.0.0/getting-started/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.0/getting-started/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link re [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.0/getting-started/index.xml b/releases/1.0.0/getting-started/index.xml
index c77b50ace..e8ab5d5db 100644
--- a/releases/1.0.0/getting-started/index.xml
+++ b/releases/1.0.0/getting-started/index.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on Apache Polaris</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/</link><description>Recent content in Getting Started on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/1.0.0/getting-started/index.xml" rel="self" type="ap [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/getting- [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/using-p [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/getting-s [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.0/getting-started/using-p [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item></channel></rss>
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/install-dependencies/index.html b/releases/1.0.0/getting-started/install-dependencies/index.html
index 91833dab3..e18860e50 100644
--- a/releases/1.0.0/getting-started/install-dependencies/index.html
+++ b/releases/1.0.0/getting-started/install-dependencies/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Polaris locally, and finally includes examples of how to use Polaris with Apache Spark™.
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content=" [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="504"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an in [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><s [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content="I [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="504"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an int [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><sc [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,12 +129,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span></code></pre></div><p>Please follow instructions from the <a href=https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>Git Documentation</a> for instructions on installing Git on other platforms.</p><p>Then, use git to clone the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/polaris.git
-</span></span></code></pre></div><h2 id=docker id=docker>Docker<a class=heading-anchor href=#docker aria-label=Anchor>#</a></h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p [...]
+</span></span></code></pre></div><h2 id=docker>Docker</h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p><p>Instructions to install Docker can be found on the <a href=https:/ [...]
</span></span></code></pre></div><p>There could be a <a href=https://github.com/apache/polaris/pull/971>Docker permission issues</a> related to seccomp configuration. To resolve these issues, set the <code>seccomp</code> profile to “unconfined” when running a container. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
-</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux id=docker-on-amazon-linux>Docker on Amazon Linux<a class=heading-anchor href=#docker-on-amazon-linux aria-label=Anchor>#</a></h3><p>Docker can be installed using a modification to the CentOS instructions. For e [...]
+</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux>Docker on Amazon Linux</h3><p>Docker can be installed using a modification to the CentOS instructions. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
</span></span><span style=display:flex><span><span style=color:#75715e># Remove old version</span>
</span></span><span style=display:flex><span>sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
</span></span><span style=display:flex><span><span style=color:#75715e># Install dnf plugin</span>
@@ -145,11 +145,11 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
</span></span><span style=display:flex><span>sudo sed -i <span style=color:#e6db74>'s/$releasever/9/g'</span> /etc/yum.repos.d/docker-ce.repo
</span></span><span style=display:flex><span><span style=color:#75715e># Install as usual</span>
</span></span><span style=display:flex><span>sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-</span></span></code></pre></div><h3 id=confirm-docker-installation id=confirm-docker-installation>Confirm Docker Installation<a class=heading-anchor href=#confirm-docker-installation aria-label=Anchor>#</a></h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display: [...]
+</span></span></code></pre></div><h3 id=confirm-docker-installation>Confirm Docker Installation</h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker version
</span></span><span style=display:flex><span>docker compose version
</span></span></code></pre></div><p>Also make sure Docker is running and is able to run a sample Docker container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run hello-world
-</span></span></code></pre></div><h2 id=java id=java>Java<a class=heading-anchor href=#java aria-label=Anchor>#</a></h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For ex [...]
+</span></span></code></pre></div><h2 id=java>Java</h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For example, to install Java 21 via <a href=https://brew.sh/>homebrew</a [...]
</span></span><span style=display:flex><span>brew install openjdk@21 jenv
</span></span><span style=display:flex><span>jenv add <span style=color:#66d9ef>$(</span>brew --prefix openjdk@21<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>jenv local <span style=color:#ae81ff>21</span>
-</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq id=jq>jq<a class=heading-anchor href=#jq aria-label=Anchor>#</a></h2><p>Most Polaris Quickstart scripts require <code>jq</code>. Follow the instructions from the <a href=https://jqlang.org/download/>jq</a> website to download this tool.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="r [...]
\ No newline at end of file
+</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq>jq</h2><p>Most Polaris Quickstart scripts require <code>jq</code>. Follow the instructions from the <a href=https://jqlang.org/download/>jq</a> website to download this tool.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-s [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/quickstart/index.html b/releases/1.0.0/getting-started/quickstart/index.html
index 61470639e..864e4102a 100644
--- a/releases/1.0.0/getting-started/quickstart/index.html
+++ b/releases/1.0.0/getting-started/quickstart/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can be deployed via a docker image or as a standalone process. Before starting, be sure that you&rsquo;ve satisfied the relevant prerequisites detailed in the previous page.
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:title" content="Quickstart"><meta property="og:description" content="Polaris can be deployed via a docker [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/gettin [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta itemprop=wordCount content="580"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name= [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link hr [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link hr [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,14 +133,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:quarkusAppPartsBuild <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.tag<span style=color:#f92672>=</span>postgres-latest <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker id=running-polaris-with-docker>Running Polaris with Docker<a class=heading-anchor href=#running-polaris-with-docker aria-label=Anchor>#</a></h2><p>To start using Polaris in Docker and launch Polaris, which is packaged wit [...]
+</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker>Running Polaris with Docker</h2><p>To start using Polaris in Docker and launch Polaris, which is packaged with a Postgres instance, Apache Spark, and Trino.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;back [...]
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_JDBC_URL<span style=color:#f92672>=</span>jdbc:postgresql://postgres:5432/POLARIS
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_USERNAME<span style=color:#f92672>=</span>postgres
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_PASSWORD<span style=color:#f92672>=</span>postgres
@@ -153,11 +153,11 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
spark-sql-1 | Spark master: local[*], Application Id: local-1743745174604
spark-sql-1 | 25/04/04 05:39:38 WARN SparkSQLCLIDriver: WARNING: Directory for Hive history file: /home/spark does not exist. History will not be available during this session.
spark-sql-1 | 25/04/04 05:39:39 WARN RESTSessionCatalog: Iceberg REST client is missing the OAuth2 server URI configuration and defaults to http://polaris:8181/api/catalogv1/oauth/tokens. This automatic fallback will be removed in a future Iceberg release.It is recommended to configure the OAuth2 endpoint using the 'oauth2-server-uri' property to be prepared. This warning will disappear if the OAuth2 endpoint is explicitly configured. See https://github.com/apache/iceber [...]
-</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process<a class=heading-anchor href=#running-polaris-as-a-standalone-process aria-label=Anchor>#</a></h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</str [...]
+</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process</h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</strong></li></ol><p>Run the following command to start Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-colo [...]
</span></span></code></pre></div><p>You should see output for some time as Polaris builds and starts up. Eventually, you won’t see any more logs and should see messages that resemble the following:</p><pre tabindex=0><code>INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) polaris-runtime-service <version> on JVM (powered by Quarkus <version>) started in 2.656s. Listening on: http://localhost:8181. Management interface listening on http://0.0.0.0:8182.
INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) Profile prod activated. Live Coding activated.
INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) Installed features: [...]
</code></pre><p>At this point, Polaris is running.</p><p>When using a Gradle-launched Polaris instance in this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down.
-For more information on how to configure Polaris for production usage, see the <a href=/releases/1.0.0/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>secret</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing id=installing-apache-spark-and-trino-locally-for-test [...]
-</span></span></code></pre></div><h4 id=trino id=trino>Trino<a class=heading-anchor href=#trino aria-label=Anchor>#</a></h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><p [...]
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-m [...]
\ No newline at end of file
+For more information on how to configure Polaris for production usage, see the <a href=/releases/1.0.0/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>secret</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing>Installing Apache Spark and Trino Locally for Testing [...]
+</span></span></code></pre></div><h4 id=trino>Trino</h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.0.0/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-foote [...]
\ No newline at end of file
diff --git a/releases/1.0.0/getting-started/using-polaris/index.html b/releases/1.0.0/getting-started/using-polaris/index.html
index 7e53c7a4a..8cbee4580 100644
--- a/releases/1.0.0/getting-started/using-polaris/index.html
+++ b/releases/1.0.0/getting-started/using-polaris/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Setup# Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup# Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polar [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1282"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup# E [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
+<meta name=description content="Setup Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polari [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1282"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup En [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,9 +133,9 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>YOUR_CLIENT_SECRET
-</span></span></code></pre></div><h2 id=defining-a-catalog id=defining-a-catalog>Defining a Catalog<a class=heading-anchor href=#defining-a-catalog aria-label=Anchor>#</a></h2><p>In Polaris, the <a href=/releases/1.0.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.0.0/entities/#table>tables</a> and <a href=/releases/1.0.0/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div cl [...]
+</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a Catalog</h2><p>In Polaris, the <a href=/releases/1.0.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.0.0/entities/#table>tables</a> and <a href=/releases/1.0.0/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o- [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -146,7 +146,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --default-base-location <span style=color:#e6db74>${</span>DEFAULT_BASE_LOCATION<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --role-arn <span style=color:#e6db74>${</span>ROLE_ARN<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> quickstart_catalog
-</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
+</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-secret <span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> principals <span style=color:#ae81ff>\
@@ -196,7 +196,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog quickstart_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role quickstart_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>This grants the <a href=/releases/1.0.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
+</span></span></code></pre></div><p>This grants the <a href=/releases/1.0.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.0,org.apache.iceberg:iceberg-aws-bundle:1.9.0 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.warehouse<span style=color:#f92672>=</span>quickstart_catalog <span style=color:#ae81ff>\
@@ -208,11 +208,11 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.scope<span style=color:#f92672>=</span><span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span style=color:#f92672>=</span>true <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.client.region<span style=color:#f92672>=</span>us-west-2
-</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container id=using-spar [...]
+</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container>Using Spark S [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml rm -f spark-sql
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml up -d --no-deps spark-sql
</span></span></code></pre></div><p>Attach to the running spark-sql container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker attach <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>spark-sql<span style=color:#66d9ef>)</span>
-</span></span></code></pre></div><h4 id=sample-commands id=sample-commands>Sample Commands<a class=heading-anchor href=#sample-commands aria-label=Anchor>#</a></h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
+</span></span></code></pre></div><h4 id=sample-commands>Sample Commands</h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace.<span style=color:#66d9ef>schema</span>;
</span></span><span style=display:flex><span>USE NAMESPACE quickstart_namespace.<span style=color:#66d9ef>schema</span>;
@@ -237,7 +237,7 @@ SELECT * FROM quickstart_table;
</span></span></code></pre></div><p>Spark will lose access to the table:</p><pre tabindex=0><code>INSERT INTO quickstart_table VALUES (1, 'some data');
org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quickstart_user' with activated PrincipalRoles '[]' and activated grants via '[quickstart_catalog_role, quickstart_user_role]' is not authorized for op LOAD_TABLE_WITH_READ_DELEGATION
-</code></pre><h3 id=connecting-with-trino id=connecting-with-trino>Connecting with Trino<a class=heading-anchor href=#connecting-with-trino aria-label=Anchor>#</a></h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/ [...]
+</code></pre><h3 id=connecting-with-trino>Connecting with Trino</h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml stop trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml rm -f trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml up -d --no-deps trino
</span></span></code></pre></div><p>Attach to the running Trino container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker exec -it <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>trino<span style=color:#66d9ef>)</span> trino
@@ -258,12 +258,12 @@ org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quic
</span></span></code></pre></div><p>Trino will lose access to the table:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#66d9ef>SELECT</span> <span style=color:#f92672>*</span> <span style=color:#66d9ef>FROM</span> iceberg.quickstart_schema.quickstart_table;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal <span style=color:#e6db74>'quickstart_user'</span> <span style=color:#66d9ef>with</span> activated PrincipalRoles <span style=color:#e6db74>'[]'</span> <span style=color:#66d9ef>and</span> activated grants via <span style=color:#e6db74>'[quickstart_catalog_role, quickstart_user_role]'</span> <span style=color:#66d9ef>is</span> <span style=color:#66d9 [...]
-</span></span></code></pre></div><h3 id=connecting-using-rest-apis id=connecting-using-rest-apis>Connecting Using REST APIs<a class=heading-anchor href=#connecting-using-rest-apis aria-label=Anchor>#</a></h3><p>To access Polaris from the host machine, first request an access token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export PO [...]
+</span></span></code></pre></div><h3 id=connecting-using-rest-apis>Connecting Using REST APIs</h3><p>To access Polaris from the host machine, first request an access token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export POLARIS_TOKEN<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>curl -s http://polaris:8181/ap [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --resolve polaris:8181:127.0.0.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --user <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span>:<span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'scope=PRINCIPAL_ROLE:ALL'</span> | jq -r .access_token<span style=color:#66d9ef>)</span>
</span></span></code></pre></div><p>Then, use the access token in the Authorization header when accessing Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/principal-roles -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
</span></span><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/catalogs/quickstart_catalog -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><ul><li>Visit <a href=/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</li><li>A Getting Started experience for using Spark with Jupyter Notebooks is documented <a href=https://github.com/apache/polaris/blob/main/getting-started/spark/README.md>here</a>.</li><li>To shut down a locally-deployed Polaris se [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><ul><li>Visit <a href=/releases/1.0.0/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</li><li>A Getting Started experience for using Spark with Jupyter Notebooks is documented <a href=https://github.com/apache/polaris/blob/main/getting-started/spark/README.md>here</a>.</li><li>To shut down a locally-deployed Polaris server and clean up all related Docker containers, run the command listed below. [...]
</span></span></code></pre></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/releases/1.0.0/index.html b/releases/1.0.0/index.html
index 3dcba7760..6c36c049e 100644
--- a/releases/1.0.0/index.html
+++ b/releases/1.0.0/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.0/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=imag [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -125,30 +125,30 @@
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb clas [...]
-or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog id=catalog>Catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb clas [...]
+or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog>Catalog</h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage configuration for S3, Azure, or Google Cloud Storage. An Iceberg catalog [...]
query engine to manage and organize tables. The catalog forms the first architectural layer in the <a href=https://iceberg.apache.org/spec/#overview>Apache Iceberg™ table specification</a> and must support the following tasks:</p><ul><li><p>Storing the current metadata pointer for one or more Iceberg tables. A metadata pointer maps a table name to the location of that table’s
current metadata file.</p></li><li><p>Performing atomic operations so that you can update the current metadata pointer for a table to the metadata pointer of a new version of
-the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types id=catalog-types>Catalog types<a class=heading-anchor href=#catalog-types aria-label=Anchor>#</a></h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The cata [...]
-this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace id=namespace>Namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
-nested namespaces. Iceberg tables belong to namespaces.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespac [...]
+the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types>Catalog types</h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The catalog is externally managed by another Iceberg catalog provider (for example, Snowflak [...]
+this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace>Namespace</h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
+nested namespaces. Iceberg tables belong to namespaces.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespac [...]
when you create a catalog. The storage configuration is used to set the values to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a trust relationship between the cloud storage provider and Polaris
-Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
+Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
Namespace1 namespace in the Catalog1 catalog and insert values into
Table1.</p><p>Bob can create Table1 and insert data into it because he is using a
service connection with a service principal that has
the privileges to perform these actions.</p></li><li><p>Alice uses Snowflake to read data from Table1.</p><p>Alice can read data from Table1 because she is using a service
connection with a service principal with a catalog integration that
has the privileges to perform this action. Alice
-creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control id=security-and-access-control>Security and access control<a class=heading-anchor href=#security-and-access-control aria-label=Anchor>#</a></h2><h3 id=credential-vending id=credential-vending>Credential [...]
+creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control>Security and access control</h2><h3 id=credential-vending>Credential vending</h3><p>To secure interactions with service connections, Polaris vends temporary storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without requiring access to your cloud storage for
Iceberg tables. This process is called credential vending.</p><p>As of now, the following limitation is known regarding Apache Iceberg support:</p><ul><li><strong>remove_orphan_files:</strong> Apache Spark can’t use credential vending
-for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam id=identity-and-access-management-iam>Identity and access management (IAM)<a class=heading-anchor href=#identity-and-access-management-iam aria-label=Anchor>#</a></h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
+for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam>Identity and access management (IAM)</h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
metadata, and manifest files that store the table schema, partitions, and other metadata. Polaris retains the IAM entity for your
-storage location.</p><h3 id=access-control id=access-control>Access control<a class=heading-anchor href=#access-control aria-label=Anchor>#</a></h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
+storage location.</p><h3 id=access-control>Access control</h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
queries from query engines in a consistent manner.</p><p>Polaris uses a role-based access control (RBAC) model that lets you centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p><p>Polaris RBAC uses two different role types to delegate privileges:</p><ul><li><p><strong>Principal roles:</strong> Granted to Polaris service principals and
analogous to roles in other access control systems that you grant to
service principals.</p></li><li><p><strong>Catalog roles:</strong> Configured with certain privileges on Polaris
-catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/1.0.0/access-control/>Access control</a>.</p><h2 id=legal-notices id=legal-notices>Legal Notices<a class=heading-anchor href=#legal-notices aria-label=Anchor>#</a></h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other cou [...]
\ No newline at end of file
+catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/1.0.0/access-control/>Access control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.</p><div class=section-index></div></div></main></div></div><footer class="td [...]
\ No newline at end of file
diff --git a/releases/1.0.0/index.xml b/releases/1.0.0/index.xml
index ecc1645cb..b59ee161b 100644
--- a/releases/1.0.0/index.xml
+++ b/releases/1.0.0/index.xml
@@ -1,31 +1,31 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Overview on Apache Polaris</title><link>https://polaris.apache.org/releases/1.0.0/</link><description>Recent content in Overview on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/1.0.0/index.xml" rel="self" type="application/rss+xml"/><item><title>Admin Tool</t [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/releases/1.0.0/command-line-interface/</link><pubDat [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/releases/1.0.0/command-line-interface/</link><pubDate [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --profile COMMAND must be one of the following:
catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the [...]
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the catalog.
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/telemetry/</guid><description>Metrics# [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/telemetry/</guid><description>Metrics M [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.0/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/access-control/</guid><description>This section provides information about how access [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuration/</guid><description>Overview# This page provides information on how to configure Apache Polaris (Incubating). Unle [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuration/</guid><description>Overview This page provides information on how to configure Apache Polaris (Incubating). Unless [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.0.0/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/configuring-polaris-for-production/</guid><description>The default server configuration is intended for developme [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/polaris-spark-client/</guid><description>Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Catalog API Spec for [...]
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.0.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.0/metastores/</guid><description>This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the deprecated EclipseLink persistence backends.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases.</description></item><item><title>Apache Polaris Management Service OpenAPI</title><link>https://polaris.a [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item></channel></rss>
\ No newline at end of file
diff --git a/releases/1.0.0/metastores/index.html b/releases/1.0.0/metastores/index.html
index 1c29d374e..e330e6c37 100644
--- a/releases/1.0.0/metastores/index.html
+++ b/releases/1.0.0/metastores/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the deprecated EclipseLink persistence backends.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta property="og:title" content="Metastores"><meta property="og:description" content="This page explai [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/metastores/"><meta property= [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta itemprop=wordCount content="518"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content= [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
-POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74 [...]
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -134,7 +134,7 @@ POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql Q
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-deprecated EclipseLink persistence backends.</p><h2 id=relational-jdbc id=relational-jdbc>Relational JDBC<a class=heading-anchor href=#relational-jdbc aria-label=Anchor>#</a></h2><p>This implementation leverages Quarkus for datasource management and supports configuration through
+deprecated EclipseLink persistence backends.</p><h2 id=relational-jdbc>Relational JDBC</h2><p>This implementation leverages Quarkus for datasource management and supports configuration through
environment variables or JVM -D flags at startup. For more information, refer to the <a href=https://quarkus.io/guides/config-reference#env-file>Quarkus configuration reference</a>.</p><pre tabindex=0><code>POLARIS_PERSISTENCE_TYPE=relational-jdbc
QUARKUS_DATASOURCE_DB_KIND=postgresql
@@ -143,7 +143,7 @@ QUARKUS_DATASOURCE_PASSWORD=<your-password>
QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
</code></pre><p>The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases. This limitation is similar to that of EclipseLink, primarily due to underlying schema differences. At this time, official documentation is provided exclusively for usage with PostgreSQL.
Please refer to the documentation here:
-<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><p>Additionally the retries can be configured via <code>polaris.persistence.relational.jdbc.*</code> properties please ref <a href=./configuration.md>configuration</a></p><h2 id=eclipselink-deprecated id=eclipselink-deprecated>EclipseLink (Deprecated)<a class=heading-anchor href=#eclipselink-deprecated aria-label=Anchor>#</a></h2><blockquote><p>[!IMPORTANT] Eclipse link is deprecated, its recommend to u [...]
+<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><p>Additionally the retries can be configured via <code>polaris.persistence.relational.jdbc.*</code> properties please ref <a href=./configuration.md>configuration</a></p><h2 id=eclipselink-deprecated>EclipseLink (Deprecated)</h2><blockquote><p>[!IMPORTANT] Eclipse link is deprecated, its recommend to use Relational JDBC as persistence instead.</p></blockquote><p>Polaris includes EclipseLink plugin by d [...]
(<code>application.properties</code>) as follows:</p><pre tabindex=0><code>polaris.persistence.type=eclipse-link
polaris.persistence.eclipselink.configuration-file=/path/to/persistence.xml
polaris.persistence.eclipselink.persistence-unit=polaris
@@ -152,7 +152,7 @@ to the [Quarkus Configuration Reference] for more information.</p><p>The <code>c
<code>persistence.xml</code>, is used to set up the database connection properties, which can differ depending
on the type of database and its configuration.</p><blockquote><p>Note: You have to locate the <code>persistence.xml</code> at least two folders down to the root folder, e.g. <code>/deployments/config/persistence.xml</code> is OK, whereas <code>/deployments/persistence.xml</code> will cause an infinity loop.
[Quarkus Configuration Reference]: <a href=https://quarkus.io/guides/config-reference>https://quarkus.io/guides/config-reference</a>
-[EclipseLink configuration file]: <a href=https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002>https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002</a></p></blockquote><p>Polaris creates and connects to a separate database for each realm. Specifically, the <code>{realm}</code> placeholder in <code>jakarta.persistence.jdbc.url</code> is substituted with the actual realm name, allowing the Polaris server to connect to [...]
+[EclipseLink configuration file]: <a href=https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002>https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002</a></p></blockquote><p>Polaris creates and connects to a separate database for each realm. Specifically, the <code>{realm}</code> placeholder in <code>jakarta.persistence.jdbc.url</code> is substituted with the actual realm name, allowing the Polaris server to connect to [...]
your H2 configuration using the persistence unit template below:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span style=color:#a6e22e>name=</span><span style=color:#e6db74>"polaris"</span> <span style=color:#a6e22e>transaction-type=</span><span style=color:#e6db74>"RESOURC [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntity<span style=color:#f92672></class></span>
@@ -179,7 +179,7 @@ your H2 configuration using the persistence unit template below:</p><div class=h
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dpolaris.persistence.eclipselink.configuration-file<span style=color:#f92672>=</span>/path/to/persistence.xml <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dpolaris.persistence.eclipselink.persistence-unit<span style=color:#f92672>=</span>polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -jar runtime/server/build/quarkus-app/quarkus-run.jar
-</span></span></code></pre></div><h3 id=using-postgres id=using-postgres>Using Postgres<a class=heading-anchor href=#using-postgres aria-label=Anchor>#</a></h3><p>PostgreSQL is included by default in the Polaris server distribution.</p><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span [...]
+</span></span></code></pre></div><h3 id=using-postgres>Using Postgres</h3><p>PostgreSQL is included by default in the Polaris server distribution.</p><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span s [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntity<span style=color:#f92672></class></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntityActive<span style=color:#f92672></class></span>
diff --git a/releases/1.0.0/polaris-catalog-service/index.html b/releases/1.0.0/polaris-catalog-service/index.html
index 61db9bf26..890869362 100644
--- a/releases/1.0.0/polaris-catalog-service/index.html
+++ b/releases/1.0.0/polaris-catalog-service/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/polaris-catalog-service/"><meta property="article:section" content="releases"><meta itemprop=name content><meta itemprop=description content=" Top "><meta itemprop=wordCount content="1"><meta itemprop=keywords content><meta name=twitter:card content="su [...]
+<meta name=description content=" Top "><meta property="og:title" content><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/polaris-catalog-service/"><meta property="article:section" content="releases"><meta itemprop=name content><meta itemprop=description content=" Top "><meta itemprop=wordCount content="1"><meta itemprop=keywords content><meta name=twitter:card content="su [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.0/polaris-management-service/index.html b/releases/1.0.0/polaris-management-service/index.html
index c07dbb2ff..480bd646c 100644
--- a/releases/1.0.0/polaris-management-service/index.html
+++ b/releases/1.0.0/polaris-management-service/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" Top "><meta itempro [...]
+<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" Top "><meta itempro [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.0/polaris-spark-client/index.html b/releases/1.0.0/polaris-spark-client/index.html
index 00f407c70..73d47214b 100644
--- a/releases/1.0.0/polaris-spark-client/index.html
+++ b/releases/1.0.0/polaris-spark-client/index.html
@@ -7,7 +7,7 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><meta itemprop=wordCount content="648"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Spark Client"><meta name=twitter:description content="Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Catalog API Spec for Generic Table API specs.
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
-Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
+Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -135,17 +135,17 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
the <a href=https://polaris.apache.org/releases/1.0.0/polaris-catalog-service/>Catalog API Spec</a> for Generic Table API specs.</p><p>Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to
-provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.</p><p>Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</p><p>This page documents how to connect Spark with Polaris Service using the Polaris Spark client.</p><h2 id=quick-start-with-local-polaris-service id=quick-start-with-local-polaris-service>Quick Start with Local Polaris service<a class=heading-anchor href=#quick-start-with-local-polaris-service aria-la [...]
+provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.</p><p>Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</p><p>This page documents how to connect Spark with Polaris Service using the Polaris Spark client.</p><h2 id=quick-start-with-local-polaris-service>Quick Start with Local Polaris service</h2><p>If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo
and follow the instructions in the Spark plugin getting-started
<a href=https://github.com/apache/polaris/blob/main/plugins/spark/v3.5/getting-started/README.md>README</a>.</p><p>Check out the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/polaris.git
-</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service id=start-spark-against-a-deployed-polaris-service>Start Spark against a deployed Polaris service<a class=heading-anchor href=#start-spark-against-a-deployed-polaris-service aria-label=Anchor>#</a></h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
+</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service>Start Spark against a deployed Polaris service</h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
Spark 3.5.5 is recommended, and you can follow the instructions below to get a Spark 3.5.5 distribution.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>wget https://archive.apache.org/dist/spark/spark-3.5.5/spark-3.5.5-bin-hadoop3.tgz
</span></span><span style=display:flex><span>mkdir spark-3.5
</span></span><span style=display:flex><span>tar xzvf spark-3.5.5-bin-hadoop3.tgz -C spark-3.5 --strip-components<span style=color:#f92672>=</span><span style=color:#ae81ff>1</span>
</span></span><span style=display:flex><span>cd spark-3.5
-</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark client<a class=heading-anchor href=#connecting-with-spark-using-the-polaris-spark-client aria-label=Anchor>#</a></h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
+</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark client</h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
a released Polaris Spark client.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>bin/spark-shell <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages <polaris-spark-client-package>,org.apache.iceberg:iceberg-aws-bundle:1.9.0,io.delta:delta-spark_2.12:3.3.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,io.delta.sql.DeltaSparkSessionExtension <span style=color:#ae81ff>\
@@ -175,7 +175,7 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.scope"</span>, <span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation"</span>, <span style=color:#e6db74>'vended-credentials'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>getOrCreate()
-</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark id=create-tables-with-spark>Create tables with Spark<a class=heading-anchor href=#create-tables-with-spark aria-label=Anchor>#</a></h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables, for example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-siz [...]
+</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark>Create tables with Spark</h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables, for example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>s [...]
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS.PUBLIC"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"USE NAMESPACE DELTA_NS.PUBLIC"</span>)
@@ -183,9 +183,9 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span></span><span style=display:flex><span><span style=color:#e6db74> id int, name string)
</span></span></span><span style=display:flex><span><span style=color:#e6db74>USING delta LOCATION 'file:///tmp/var/delta_tables/people';
</span></span></span><span style=display:flex><span><span style=color:#e6db74>"""</span>)
-</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar<a class=heading-anchor href=#connecting-with-spark-using-local-polaris-spark-client-jar aria-label=Anchor>#</a></h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
+</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar</h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
build a Spark client jar locally from source. Please check out the Polaris repo and refer to the Spark plugin
-<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=limitations id=limitations>Limitations<a class=heading-anchor href=#limitations aria-label=Anchor>#</a></h2><p>The Polaris Spark client has the following functionality limitations:</p><ol><li>Create table as select (CTAS) is not supported for Delta tables. As a result, the <code>saveAsTable</code> method of <code>Dataframe</code>
-is also not supported, since it relies on the CTAS support.</li><li>Create a Delta table without explicit location is not supported.</li><li>Rename a Delta table is not supported.</li><li>ALTER TABLE … SET LOCATION is not supported for DELTA table.</li><li>For other non-Iceberg tables like csv, it is not supported.</li></ol><h2 id=iceberg-spark-client-compatibility-with-polaris-spark-client id=iceberg-spark-client-compatibility-with-polaris-spark-client>Iceberg Spark Client compatib [...]
+<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=limitations>Limitations</h2><p>The Polaris Spark client has the following functionality limitations:</p><ol><li>Create table as select (CTAS) is not supported for Delta tables. As a result, the <code>saveAsTable</code> method of <code>Dataframe</code>
+is also not supported, since it relies on the CTAS support.</li><li>Create a Delta table without explicit location is not supported.</li><li>Rename a Delta table is not supported.</li><li>ALTER TABLE … SET LOCATION is not supported for DELTA table.</li><li>For other non-Iceberg tables like csv, it is not supported.</li></ol><h2 id=iceberg-spark-client-compatibility-with-polaris-spark-client>Iceberg Spark Client compatibility with Polaris Spark Client</h2><p>The Polaris Spark client [...]
in the following table:</p><table><thead><tr><th>Spark Client Version</th><th>Iceberg Spark Client Version</th></tr></thead><tbody><tr><td>1.0.0</td><td>1.9.0</td></tr></tbody></table><p>The Iceberg dependency is automatically downloaded when the Polaris package is downloaded, so there is no need to
add the Iceberg Spark client in the <code>packages</code> configuration.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots">< [...]
\ No newline at end of file
diff --git a/releases/1.0.0/policy/index.html b/releases/1.0.0/policy/index.html
index 4e21b9a02..1f0c0fa36 100644
--- a/releases/1.0.0/policy/index.html
+++ b/releases/1.0.0/policy/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the catalog.
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce f [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fi [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/policy/"><meta property="article:section" content="releases" [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/policy/"><meta property="article:section" content="releases"> [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:desc [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:descr [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562 [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562c [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,9 +133,9 @@ Create and manage policies Attach policies to specific resources (catalogs, name
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
-For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance id=policy-inheritance>Policy Inheritance<a class=heading-anchor href=#policy-inheritance aria-label=Anchor>#</a></h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
+For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance>Policy Inheritance</h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
|
Namespace
|
@@ -144,7 +144,7 @@ For more details, please refer to the <a href=https://github.com/apache/polaris/
Iceberg Iceberg Generic
Table View Table
</code></pre><p>Policies can be attached at any level, and inheritance flows from catalog down to namespace, then to tables and views.</p><p>Policies can be inheritable or non-inheritable:</p><ul><li><strong>Inheritable policies</strong>: Apply to the target resource and all its applicable child resources</li><li><strong>Non-inheritable policies</strong>: Apply only to the specific target resource</li></ul><p>The inheritance follows an override mechanism:</p><ol><li>Table-level policies [...]
-<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</p></blockquote><h2 id=working-with-policies id=working-with-policies>Working with Policies<a class=heading-anchor href=#working-with-policies aria-label=Anchor>#</a></h2><h3 id=creating-a-policy id=creating-a-policy>Creating a Policy<a class=heading-anchor href=#creating-a-policy aria-label=Anchor>#</a></h3><p>To create a policy, you need to provide a name, type, and optionall [...]
+<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</p></blockquote><h2 id=working-with-policies>Working with Policies</h2><h3 id=creating-a-policy>Creating a Policy</h3><p>To create a policy, you need to provide a name, type, and optionally a description and content:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=j [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"compaction-policy"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"system.data-compaction"</span>,
@@ -169,7 +169,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> <span style=color:#f92672>"prefix_mismatch_mode"</span>: <span style=color:#e6db74>"ignore"</span>
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=attaching-policies-to-resources id=attaching-policies-to-resources>Attaching Policies to Resources<a class=heading-anchor href=#attaching-policies-to-resources aria-label=Anchor>#</a></h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to indiv [...]
+</span></span></code></pre></div><h3 id=attaching-policies-to-resources>Attaching Policies to Resources</h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to individual tables or views</li></ol><p>Example of attaching a policy to a table:</p><div class=highlight><pre tabindex=0 styl [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"target"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"table-like"</span>,
@@ -177,7 +177,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>For inheritable policies, only one policy of a given type can be attached to a resource. For non-inheritable policies,
-multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies id=retrieving-applicable-policies>Retrieving Applicable Policies<a class=heading-anchor href=#retrieving-applicable-policies aria-label=Anchor>#</a></h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
+multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies>Retrieving Applicable Policies</h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
read permission on that resource.</p><p>Here is an example to find all policies that apply to a specific resource (including inherited policies):</p><pre tabindex=0><code>GET /polaris/v1/catalog/applicable-policies?namespace=finance%1Fquarterly&target-name=transactions
</code></pre><p><strong>Sample response:</strong></p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"policies"</span>: [
@@ -209,4 +209,4 @@ read permission on that resource.</p><p>Here is an example to find all policies
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> ]
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 c [...]
\ No newline at end of file
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/releases/1.0.0/realm/index.html b/releases/1.0.0/realm/index.html
index 25068850c..0667b3d06 100644
--- a/releases/1.0.0/realm/index.html
+++ b/releases/1.0.0/realm/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/realm/"><meta property="article:section" content="releases"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="285"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/realm/"><meta property="article:section" content="releases"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="285"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,6 +133,6 @@ Key Characteristics# Isolation: Each realm encapsulates its own set of resources
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
authorization.</p><p><strong>Isolation:</strong> In methods like <code>createEntityManagerFactory(@Nonnull RealmContext realmContext)</code> from <code>PolarisEclipseLinkPersistenceUnit</code> interface, the realm context influence how resources are created or managed based on the security policies of that realm.
An example of this is the way a realm name can be used to create a database connection url so that you have one database instance per realm, when applicable. Or it can be more granular and applied at primary key level (within the same database instance).</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links- [...]
\ No newline at end of file
diff --git a/releases/1.0.0/telemetry/index.html b/releases/1.0.0/telemetry/index.html
index 4186a1449..835b45a01 100644
--- a/releases/1.0.0/telemetry/index.html
+++ b/releases/1.0.0/telemetry/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Metrics# Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8282/q/metrics.
+<meta name=description content="Metrics Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8282/q/metrics.
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metr [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metri [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/telemetry/"><meta property="article:section" content="releases"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics# Metrics are published using Micrometer; [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.0/telemetry/"><meta property="article:section" content="releases"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics Metrics are published using Micrometer; t [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="957"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="957"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,7 +133,7 @@ Additional tags can be added to the metrics by setting the polaris.metrics.tags.
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
(port 8282 by default) under the path <code>/q/metrics</code>. For example, if the server is running on
localhost, the metrics can be accessed via http://localhost:8282/q/metrics.</p><p>Metrics can be scraped by Prometheus or any compatible metrics scraping server. See:
<a href=https://prometheus.io>Prometheus</a> for more information.</p><p>Additional tags can be added to the metrics by setting the <code>polaris.metrics.tags.*</code> property. Each
@@ -143,7 +143,7 @@ tags can be added, such as below:</p><div class=highlight><pre tabindex=0 style=
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.environment</span><span style=color:#f92672>=</span><span style=color:#e6db74>prod</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.region</span><span style=color:#f92672>=</span><span style=color:#e6db74>us-west-2</span>
</span></span></code></pre></div><p>Note that by default Polaris adds one tag: <code>application=Polaris</code>. You can override this tag by
-setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag id=realm-id-tag>Realm ID Tag<a class=heading-anchor href=#realm-id-tag aria-label=Anchor>#</a></h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
+setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag>Realm ID Tag</h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
default to prevent high cardinality issues, but can be enabled by setting the following properties:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-api-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-http-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>You should be particularly careful when enabling the realm ID tag in HTTP request metrics, as these
@@ -151,7 +151,7 @@ metrics typically have a much higher cardinality than API request metrics.</p><p
crashing the server, the number of unique realm IDs in HTTP request metrics is limited to 100 by
default. If the number of unique realm IDs exceeds this value, a warning will be logged and no more
HTTP request metrics will be recorded. This threshold can be changed by setting the
-<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces id=traces>Traces<a class=heading-anchor href=#traces aria-label=Anchor>#</a></h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
+<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces>Traces</h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
for the collector endpoint for all cases.</p><p>To enable OpenTelemetry and publish traces for Polaris set <code>quarkus.otel.sdk.disabled=false</code>
and configure a valid collector endpoint URL with <code>http://</code> or <code>https://</code> as the server property
<code>quarkus.otel.exporter.otlp.traces.endpoint</code>.</p><p><em>If these properties are not set, the server will not publish traces.</em></p><p>The collector must talk the OpenTelemetry protocol (OTLP) and the port must be its gRPC port
@@ -164,10 +164,10 @@ an attribute <code>deployment.environment=dev</code>, set the following property
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.otel.resource.attributes[1]</span><span style=color:#f92672>=</span><span style=color:#e6db74>deployment.environment=dev</span>
</span></span></code></pre></div><p>Finally, two additional span attributes are added to all request parent spans:</p><ul><li><code>polaris.request.id</code>: The unique identifier of the request, if set by the caller through the
<code>Polaris-Request-Id</code> header.</li><li><code>polaris.realm</code>: The unique identifier of the realm. Always set (unless the request failed because
-of a realm resolution error).</li></ul><h3 id=troubleshooting-traces id=troubleshooting-traces>Troubleshooting Traces<a class=heading-anchor href=#troubleshooting-traces aria-label=Anchor>#</a></h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
+of a realm resolution error).</li></ul><h3 id=troubleshooting-traces>Troubleshooting Traces</h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
The request could not be executed. Full error message: Failed to connect to localhost/0:0:0:0:0:0:0:1:4317
</code></pre><p>This means that the server is unable to connect to the collector. Check that the collector is
-running and that the URL is correct.</p><h2 id=logging id=logging>Logging<a class=heading-anchor href=#logging aria-label=Anchor>#</a></h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
+running and that the URL is correct.</p><h2 id=logging>Logging</h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
file is rotated daily and compressed. The maximum size of the log file is 10MB, and the maximum
number of backup files is 14.</p><p>JSON logging can be enabled by setting the <code>quarkus.log.console.json</code> and <code>quarkus.log.file.json</code>
properties to <code>true</code>. By default, JSON logging is disabled.</p><p>The log level can be set for the entire application or for specific packages. The default log level
@@ -178,7 +178,7 @@ This can be done by setting the following property:</p><div class=highlight><pre
</span></span></code></pre></div><p>The log message format for both console and file output is highly configurable. The default format
is:</p><pre tabindex=0><code>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{requestId},%X{realmId}] [%X{traceId},%X{parentId},%X{spanId},%X{sampled}] (%t) %s%e%n
</code></pre><p>Refer to the <a href=https://quarkus.io/guides/logging#logging-format>Logging format</a> guide for more
-information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging id=mdc-logging>MDC Logging<a class=heading-anchor href=#mdc-logging aria-label=Anchor>#</a></h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
+information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging>MDC Logging</h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
following MDC keys are available:</p><ul><li><code>requestId</code>: The unique identifier of the request, if set by the caller through the
<code>Polaris-Request-Id</code> header.</li><li><code>realmId</code>: The unique identifier of the realm. Always set.</li><li><code>traceId</code>: The unique identifier of the trace. Present if tracing is enabled and the message is
originating from a traced context.</li><li><code>parentId</code>: The unique identifier of the parent span. Present if tracing is enabled and the
diff --git a/releases/1.0.1/access-control/index.html b/releases/1.0.1/access-control/index.html
index 7b1858947..f79bf9d21 100644
--- a/releases/1.0.1/access-control/index.html
+++ b/releases/1.0.1/access-control/index.html
@@ -2,16 +2,16 @@
<meta name=description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (I [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (In [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1277"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1277"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -138,24 +138,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object id=securable-object>Securable object<a class=heading-anchor href=#securable-object aria-label=Anchor>#</a></h2><p>A sec [...]
-has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role id=principal-role>Principal role<a class=heading-anchor href=#principal-role aria-label=Anchor>#</a></h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
+and then grants access to resources to service principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object>Securable object</h2><p>A securable object is an object to which access can be granted. Polaris
+has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li></ul><h2 id=principal-role>Principal role</h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris service principals together and grant privileges on
securable objects.</p><p>Polaris supports a many-to-one relationship between service principals and principal roles. For example, to grant the same privileges to
multiple service principals, you can grant a single principal role to those service principals. A service principal can be granted one
principal role. When registering a service connection, the Polaris administrator specifies the principal role that is granted to the
service principal.</p><p>You don’t grant privileges directly to a principal role. Instead, you configure object permissions at the catalog role level, and then grant
-catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
+catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple service principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple service principals for running data science or AI jobs.</td></tr></tbody></ta [...]
in the catalog, such as catalog namespaces or tables. You can create one or more catalog roles for a catalog.</p><p>You grant privileges to a catalog role and then grant the catalog role to a principal role to bestow the privileges to one or more service
principals.</p><blockquote><p><strong>Note</strong></p><p>If you update the privileges bestowed to a service principal, the updates won’t take effect for up to one hour. This means that if you
revoke or grant some privileges for a catalog, the updated privileges won’t take effect on any service principal with access to that catalog
for up to one hour.</p></blockquote><p>Polaris also supports a many-to-many relationship between catalog roles and principal roles. You can grant the same catalog role to one or more
principal roles. Likewise, a principal role can be granted to one or more catalog roles.</p><p>The following table displays examples of catalog roles that you might
-configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
+configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
privileges to catalog roles and then grants service principals access to resources by assigning catalog roles to principal roles. Polaris
-supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges id=access-control-privileges>Access control privileges<a class=heading-anchor href=#access-control-privileges aria-label=Anchor>#</a></h2><p>This section describes the privileges that are available in the Polaris access control model. Privile [...]
+supports a many-to-one relationship between service principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges>Access control privileges</h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are granted to catalog roles, catalog
roles are granted to principal roles, and principal roles are granted to service principals to specify the operations that service principals can
perform on objects in Polaris.</p><blockquote><p><strong>Important</strong></p><p>You can only grant privileges at the catalog level. Fine-grained access controls are not available. For example, you can grant read
-privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges id=table-privileges>Table privileges<a class=heading-anchor href=#table-privileges aria-label=Anchor>#</a></h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registe [...]
+privileges to all tables in a catalog but not to an individual table in the catalog.</p></blockquote><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges>Table privileges</h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td>Enables dropping a tabl [...]
includes the following users:</p><ul><li><p><strong>Alice:</strong> A service admin who signs up for Polaris. Alice can
create service principals. She can also create catalogs and
namespaces and configure access control for Polaris resources.</p></li><li><p><strong>Bob:</strong> A data engineer who uses Apache Spark™ to
diff --git a/releases/1.0.1/admin-tool/index.html b/releases/1.0.1/admin-tool/index.html
index c6359ba94..c550d7a6c 100644
--- a/releases/1.0.1/admin-tool/index.html
+++ b/releases/1.0.1/admin-tool/index.html
@@ -2,16 +2,16 @@
<meta name=description content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the me [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/admin-tool/"><meta property="article:sectio [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/admin-tool/"><meta property="article:section [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="522"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><m [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="522"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><me [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -142,7 +142,7 @@ example, to build the tool with support for Postgres, run the following:</p><div
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One standalone JAR in <code>runtime/admin/build/polaris-admin-*-runner.jar</code></li><li>Two distribution archives in <code>runtime/admin/build/distributions</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>#</a></h2><p>Please ma [...]
+</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One standalone JAR in <code>runtime/admin/build/polaris-admin-*-runner.jar</code></li><li>Two distribution archives in <code>runtime/admin/build/distributions</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage>Usage</h2><p>Please make sure the admin tool and Polaris server are with the same version [...]
To run the standalone JAR, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar --help
</span></span></code></pre></div><p>To run the Docker image, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run apache/polaris-admin-tool:latest --help
</span></span></code></pre></div><p>The basic usage of the Polaris Admin Tool is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-runner.jar [-hV] [COMMAND]
@@ -153,10 +153,10 @@ Commands:
help Display help information about the specified command.
bootstrap Bootstraps realms and principal credentials.
purge Purge principal credentials.
-</code></pre><h2 id=configuration id=configuration>Configuration<a class=heading-anchor href=#configuration aria-label=Anchor>#</a></h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
+</code></pre><h2 id=configuration>Configuration</h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
configuration can be done via environment variables or system properties.</p><p>At a minimum, it is necessary to configure the Polaris Admin Tool to connect to the same database
used by the Polaris server.</p><p>See the <a href=https://polaris.apache.org/releases/1.0.1/metastores/>metastore documentation</a> for more information on configuring the
-database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials<a class=heading-anchor href=#bootstrapping-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary [...]
+database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials</h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary principal credentials
for the Polaris server. This command is idempotent and can be run multiple times without causing any
issues. If a realm is already bootstrapped, running the <code>bootstrap</code> command again will not have any
effect on that realm.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar bootstrap --help
@@ -171,7 +171,7 @@ Bootstraps realms and root principal credentials.
-V, --version Print version information and exit.
</code></pre><p>For example, to bootstrap the <code>realm1</code> realm and create its root principal credential with the
client ID <code>admin</code> and client secret <code>admin</code>, you can run the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar bootstrap -r realm1 -c realm1,admin,admin
-</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials<a class=heading-anchor href=#purging-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>Warning: Running the <code>purge</code> command will remove all data associated with the specified realms!
+</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials</h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>Warning: Running the <code>purge</code> command will remove all data associated with the specified realms!
This includes all entities (catalogs, namespaces, tables, views, roles), all principal
credentials, grants, and any other data associated with the realms.</p></blockquote><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/polaris-admin-*-runner.jar purge --help
</span></span></code></pre></div><p>The basic usage of the <code>purge</code> command is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-runner.jar purge [-hV] -r=<realm> [-r=<realm>]...
diff --git a/releases/1.0.1/command-line-interface/index.html b/releases/1.0.1/command-line-interface/index.html
index 37424e36d..97caf8172 100644
--- a/releases/1.0.1/command-line-interface/index.html
+++ b/releases/1.0.1/command-line-interface/index.html
@@ -11,7 +11,7 @@ polaris [options] COMMAND ... options: --host --port --base-url --client-id --cl
catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><meta itemprop=wordCount content="3409"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Command Line Interface"><meta name=twitter:description content="In order to help administrators quickly set up and manage their Polaris server, P [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --profile COMMAND must be one of the following:
-catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js inte [...]
+catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js inte [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -153,13 +153,13 @@ polaris catalogs update --property foo=bar some_other_catalog
polaris catalogs update another_catalog --property k=v
polaris privileges namespace grant --namespace some.schema --catalog fourth_catalog --catalog-role some_catalog_role TABLE_READ_DATA
polaris profiles list
-</code></pre><h3 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
-</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
+</code></pre><h3 id=authentication>Authentication</h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
+</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
</code></pre><p>Alternatively, you can run the CLI by providing a path to it, such as with the following invocation:</p><pre tabindex=0><code>~/polaris principals list
-</code></pre><h2 id=commands id=commands>Commands<a class=heading-anchor href=#commands aria-label=Anchor>#</a></h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be conf [...]
+</code></pre><h2 id=commands>Commands</h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be configured for reuse. This provides an alternative to passing authentication d [...]
polaris principals create --help
polaris profiles --help
-</code></pre><h3 id=catalogs id=catalogs>catalogs<a class=heading-anchor href=#catalogs aria-label=Anchor>#</a></h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create id=create>create<a class=heading-anchor href=#create aria-label=Anchor>#</a></h4><p>The <code>create</co [...]
+</code></pre><h3 id=catalogs>catalogs</h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create>create</h4><p>The <code>create</code> subcommand is used to create a catalog.</p><pre tabindex=0><code>input: polaris catalogs create --help
options:
create
Named arguments:
@@ -176,7 +176,7 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs create \
+</code></pre><h5 id=examples>Examples</h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -194,29 +194,29 @@ polaris catalogs create \
--storage-type file \
--default-base-location file:///example/tmp \
quickstart_catalog
-</code></pre><h4 id=delete id=delete>delete<a class=heading-anchor href=#delete aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
+</code></pre><h4 id=delete>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
options:
delete
Positional arguments:
catalog
-</code></pre><h5 id=examples-1 id=examples-1>Examples<a class=heading-anchor href=#examples-1 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs delete some_catalog
-</code></pre><h4 id=get id=get>get<a class=heading-anchor href=#get aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
+</code></pre><h5 id=examples-1>Examples</h5><pre tabindex=0><code>polaris catalogs delete some_catalog
+</code></pre><h4 id=get>get</h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
options:
get
Positional arguments:
catalog
-</code></pre><h5 id=examples-2 id=examples-2>Examples<a class=heading-anchor href=#examples-2 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs get some_catalog
+</code></pre><h5 id=examples-2>Examples</h5><pre tabindex=0><code>polaris catalogs get some_catalog
polaris catalogs get another_catalog
-</code></pre><h4 id=list id=list>list<a class=heading-anchor href=#list aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
+</code></pre><h4 id=list>list</h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
options:
list
Named arguments:
--principal-role The name of a principal role
-</code></pre><h5 id=examples-3 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs list
+</code></pre><h5 id=examples-3>Examples</h5><pre tabindex=0><code>polaris catalogs list
polaris catalogs list --principal-role some_user
-</code></pre><h4 id=update id=update>update<a class=heading-anchor href=#update aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
+</code></pre><h4 id=update>update</h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
options:
update
Named arguments:
@@ -225,10 +225,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples-4 id=examples-4>Examples<a class=heading-anchor href=#examples-4 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
+</code></pre><h5 id=examples-4>Examples</h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
polaris catalogs update --default-base-location s3://new-bucket/my_data my_catalog
-</code></pre><h3 id=principals id=principals>Principals<a class=heading-anchor href=#principals aria-label=Anchor>#</a></h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1 id=create-1>create<a class=heading-anchor href=#create-1 aria-label=Anchor>#</ [...]
+</code></pre><h3 id=principals>Principals</h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1>create</h4><p>The <code>create</code> subcommand is used to create a new principal.</p><pre tabindex=0><code>input: polaris principals create --help
options:
create
Named arguments:
@@ -236,118 +236,118 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-5 id=examples-5>Examples<a class=heading-anchor href=#examples-5 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-5>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals create --client-id ${CLIENT_ID} --property admin=true some_admin_user
-</code></pre><h4 id=delete-1 id=delete-1>delete<a class=heading-anchor href=#delete-1 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
+</code></pre><h4 id=delete-1>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
options:
delete
Positional arguments:
principal
-</code></pre><h5 id=examples-6 id=examples-6>Examples<a class=heading-anchor href=#examples-6 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals delete some_user
+</code></pre><h5 id=examples-6>Examples</h5><pre tabindex=0><code>polaris principals delete some_user
polaris principals delete some_admin_user
-</code></pre><h4 id=get-1 id=get-1>get<a class=heading-anchor href=#get-1 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
+</code></pre><h4 id=get-1>get</h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
options:
get
Positional arguments:
principal
-</code></pre><h5 id=examples-7 id=examples-7>Examples<a class=heading-anchor href=#examples-7 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals get some_user
+</code></pre><h5 id=examples-7>Examples</h5><pre tabindex=0><code>polaris principals get some_user
polaris principals get some_admin_user
-</code></pre><h4 id=list-1 id=list-1>list<a class=heading-anchor href=#list-1 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8 id=examples-8>Examples<a class=heading-anchor href=#examples-8 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals list
-</code></pre><h4 id=rotate-credentials id=rotate-credentials>rotate-credentials<a class=heading-anchor href=#rotate-credentials aria-label=Anchor>#</a></h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
+</code></pre><h4 id=list-1>list</h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8>Examples</h5><pre tabindex=0><code>polaris principals list
+</code></pre><h4 id=rotate-credentials>rotate-credentials</h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
options:
rotate-credentials
Positional arguments:
principal
-</code></pre><h5 id=examples-9 id=examples-9>Examples<a class=heading-anchor href=#examples-9 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
+</code></pre><h5 id=examples-9>Examples</h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
polaris principals rotate-credentials some_admin_user
-</code></pre><h4 id=update-1 id=update-1>update<a class=heading-anchor href=#update-1 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
+</code></pre><h4 id=update-1>update</h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-10 id=examples-10>Examples<a class=heading-anchor href=#examples-10 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
+</code></pre><h5 id=examples-10>Examples</h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
polaris principals update --property are_other_keys_removed=yes some_user
-</code></pre><h4 id=access id=access>access<a class=heading-anchor href=#access aria-label=Anchor>#</a></h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
+</code></pre><h4 id=access>access</h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
options:
access
Positional arguments:
principal
-</code></pre><h5 id=examples-11 id=examples-11>Examples<a class=heading-anchor href=#examples-11 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals access quickstart_user
-</code></pre><h3 id=principal-roles id=principal-roles>Principal Roles<a class=heading-anchor href=#principal-roles aria-label=Anchor>#</a></h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</ [...]
+</code></pre><h5 id=examples-11>Examples</h5><pre tabindex=0><code>polaris principals access quickstart_user
+</code></pre><h3 id=principal-roles>Principal Roles</h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</l [...]
options:
create
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-12 id=examples-12>Examples<a class=heading-anchor href=#examples-12 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles create data_engineer
+</code></pre><h5 id=examples-12>Examples</h5><pre tabindex=0><code>polaris principal-roles create data_engineer
polaris principal-roles create --property key=value data_analyst
-</code></pre><h4 id=delete-2 id=delete-2>delete<a class=heading-anchor href=#delete-2 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
+</code></pre><h4 id=delete-2>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
options:
delete
Positional arguments:
principal_role
-</code></pre><h5 id=examples-13 id=examples-13>Examples<a class=heading-anchor href=#examples-13 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
+</code></pre><h5 id=examples-13>Examples</h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
polaris principal-roles delete data_analyst
-</code></pre><h4 id=get-2 id=get-2>get<a class=heading-anchor href=#get-2 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
+</code></pre><h4 id=get-2>get</h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
options:
get
Positional arguments:
principal_role
-</code></pre><h5 id=examples-14 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles get data_engineer
+</code></pre><h5 id=examples-14>Examples</h5><pre tabindex=0><code>polaris principal-roles get data_engineer
polaris principal-roles get data_analyst
-</code></pre><h4 id=list-2 id=list-2>list<a class=heading-anchor href=#list-2 aria-label=Anchor>#</a></h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
+</code></pre><h4 id=list-2>list</h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
options:
list
Named arguments:
--catalog-role The name of a catalog role. If provided, show only principal roles assigned to this catalog role.
--principal The name of a principal. If provided, show only principal roles assigned to this principal.
-</code></pre><h5 id=examples-15 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles list
+</code></pre><h5 id=examples-15>Examples</h5><pre tabindex=0><code>polaris principal-roles list
polaris principal-roles --principal d.knuth
polaris principal-roles --catalog-role super_secret_data
-</code></pre><h4 id=update-2 id=update-2>update<a class=heading-anchor href=#update-2 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
+</code></pre><h4 id=update-2>update</h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
options:
update
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-16 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
+</code></pre><h5 id=examples-16>Examples</h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
polaris principal-roles update data_analyst --property key=value3
-</code></pre><h4 id=grant id=grant>grant<a class=heading-anchor href=#grant aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
+</code></pre><h4 id=grant>grant</h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
options:
grant
Named arguments:
--principal A principal to grant this principal role to
Positional arguments:
principal_role
-</code></pre><h5 id=examples-17 id=examples-17>Examples<a class=heading-anchor href=#examples-17 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
+</code></pre><h5 id=examples-17>Examples</h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
polaris principal-roles grant data_scientist --principal a.ng
-</code></pre><h4 id=revoke id=revoke>revoke<a class=heading-anchor href=#revoke aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
+</code></pre><h4 id=revoke>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
options:
revoke
Named arguments:
--principal A principal to revoke this principal role from
Positional arguments:
principal_role
-</code></pre><h5 id=examples-18 id=examples-18>Examples<a class=heading-anchor href=#examples-18 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
+</code></pre><h5 id=examples-18>Examples</h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
polaris principal-roles revoke data_scientist --principal changed.role
-</code></pre><h3 id=catalog-roles id=catalog-roles>Catalog Roles<a class=heading-anchor href=#catalog-roles aria-label=Anchor>#</a></h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</l [...]
+</code></pre><h3 id=catalog-roles>Catalog Roles</h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</li></ol><h4 id=create-3>create</h4><p>The <code>create</code> subcommand is used to c [...]
options:
create
Named arguments:
@@ -355,40 +355,40 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-19 id=examples-19>Examples<a class=heading-anchor href=#examples-19 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
+</code></pre><h5 id=examples-19>Examples</h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
polaris catalog-roles create --catalog other_catalog sales_data
-</code></pre><h4 id=delete-3 id=delete-3>delete<a class=heading-anchor href=#delete-3 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
+</code></pre><h4 id=delete-3>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-20 id=examples-20>Examples<a class=heading-anchor href=#examples-20 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
+</code></pre><h5 id=examples-20>Examples</h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
polaris catalog-roles delete --catalog other_catalog sales_data
-</code></pre><h4 id=get-3 id=get-3>get<a class=heading-anchor href=#get-3 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
+</code></pre><h4 id=get-3>get</h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-21 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
+</code></pre><h5 id=examples-21>Examples</h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
polaris catalog-roles get --catalog other_catalog inventory_data
-</code></pre><h4 id=list-3 id=list-3>list<a class=heading-anchor href=#list-3 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
+</code></pre><h4 id=list-3>list</h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
options:
list
Named arguments:
--principal-role The name of a principal role
Positional arguments:
catalog
-</code></pre><h5 id=examples-22 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles list
+</code></pre><h5 id=examples-22>Examples</h5><pre tabindex=0><code>polaris catalog-roles list
polaris catalog-roles list --principal-role data_engineer
-</code></pre><h4 id=update-3 id=update-3>update<a class=heading-anchor href=#update-3 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
+</code></pre><h4 id=update-3>update</h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
options:
update
Named arguments:
@@ -396,10 +396,10 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-23 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
+</code></pre><h5 id=examples-23>Examples</h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
polaris catalog-roles update sales_data --catalog some_catalog --property key=value
-</code></pre><h4 id=grant-1 id=grant-1>grant<a class=heading-anchor href=#grant-1 aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
+</code></pre><h4 id=grant-1>grant</h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
options:
grant
Named arguments:
@@ -407,10 +407,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-24 id=examples-24>Examples<a class=heading-anchor href=#examples-24 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-24>Examples</h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles grant --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h4 id=revoke-1 id=revoke-1>revoke<a class=heading-anchor href=#revoke-1 aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
+</code></pre><h4 id=revoke-1>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
options:
revoke
Named arguments:
@@ -418,10 +418,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-25 id=examples-25>Examples<a class=heading-anchor href=#examples-25 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-25>Examples</h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles revoke --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h3 id=namespaces id=namespaces>Namespaces<a class=heading-anchor href=#namespaces aria-label=Anchor>#</a></h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4 id=create-4>create<a class=heading-anchor href=#create-4 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to c [...]
+</code></pre><h3 id=namespaces>Namespaces</h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4>create</h4><p>The <code>create</code> subcommand is used to create a new namespace.</p><p>When creating a namespace with an explicit location, that location must reside within the parent catalog or namespace.</p>< [...]
options:
create
Named arguments:
@@ -430,50 +430,50 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
namespace
-</code></pre><h5 id=examples-26 id=examples-26>Examples<a class=heading-anchor href=#examples-26 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
+</code></pre><h5 id=examples-26>Examples</h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
polaris namespaces create --catalog my_catalog --location 's3://bucket/outer/inner_SUFFIX' outer.inner
-</code></pre><h4 id=delete-4 id=delete-4>delete<a class=heading-anchor href=#delete-4 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
+</code></pre><h4 id=delete-4>delete</h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-27 id=examples-27>Examples<a class=heading-anchor href=#examples-27 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
+</code></pre><h5 id=examples-27>Examples</h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
polaris namespaces delete --catalog my_catalog outer_namespace
-</code></pre><h4 id=get-4 id=get-4>get<a class=heading-anchor href=#get-4 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
+</code></pre><h4 id=get-4>get</h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-28 id=examples-28>Examples<a class=heading-anchor href=#examples-28 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
+</code></pre><h5 id=examples-28>Examples</h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
polaris namespaces get a.b.c --catalog some_catalog
-</code></pre><h4 id=list-4 id=list-4>list<a class=heading-anchor href=#list-4 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
+</code></pre><h4 id=list-4>list</h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
options:
list
Named arguments:
--catalog The name of an existing catalog
--parent If specified, list namespaces inside this parent namespace
-</code></pre><h5 id=examples-29 id=examples-29>Examples<a class=heading-anchor href=#examples-29 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
+</code></pre><h5 id=examples-29>Examples</h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges id=privileges>Privileges<a class=heading-anchor href=#privileges aria-label=Anchor>#</a></h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.0.1/entities/#privilege>docs</a>.</p><p>Note that when using th [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.0.1/entities/#privilege>docs</a>.</p><p>Note that when using the <code>privileges</code> command, the user specifies the relevant catalog and [...]
options:
list
Named arguments:
--catalog The name of an existing catalog
--catalog-role The name of a catalog role
-</code></pre><h5 id=examples-30 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
+</code></pre><h5 id=examples-30>Examples</h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
polaris privileges my_role list --catalog-role my_other_role --catalog my_catalog
-</code></pre><h4 id=catalog id=catalog>catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
+</code></pre><h4 id=catalog>catalog</h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
options:
catalog
grant
@@ -489,7 +489,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-31 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-31>Examples</h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -503,7 +503,7 @@ polaris privileges \
--catalog-role catalog_role \
--cascade \
TABLE_CREATE
-</code></pre><h4 id=namespace id=namespace>namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
+</code></pre><h4 id=namespace>namespace</h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
options:
namespace
grant
@@ -521,7 +521,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-32 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-32>Examples</h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -536,7 +536,7 @@ polaris privileges \
--catalog-role catalog_role \
--namespace a.b \
TABLE_LIST
-</code></pre><h4 id=table id=table>table<a class=heading-anchor href=#table aria-label=Anchor>#</a></h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
+</code></pre><h4 id=table>table</h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
options:
table
grant
@@ -556,7 +556,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-33 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-33>Examples</h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -574,7 +574,7 @@ polaris privileges \
--table t \
--cascade \
TABLE_DROP
-</code></pre><h4 id=view id=view>view<a class=heading-anchor href=#view aria-label=Anchor>#</a></h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
+</code></pre><h4 id=view>view</h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
options:
view
grant
@@ -594,7 +594,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-34 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-34>Examples</h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -612,35 +612,35 @@ polaris privileges \
--view v \
--cascade \
VIEW_FULL_METADATA
-</code></pre><h3 id=profiles id=profiles>profiles<a class=heading-anchor href=#profiles aria-label=Anchor>#</a></h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 i [...]
+</code></pre><h3 id=profiles>profiles</h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create-5>create</h4><p>The <code>create</code> subcommand is used to cre [...]
options:
create
Positional arguments:
profile
-</code></pre><h5 id=examples-35 id=examples-35>Examples<a class=heading-anchor href=#examples-35 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles create dev
-</code></pre><h4 id=delete-5 id=delete-5>delete<a class=heading-anchor href=#delete-5 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
+</code></pre><h5 id=examples-35>Examples</h5><pre tabindex=0><code>polaris profiles create dev
+</code></pre><h4 id=delete-5>delete</h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
options:
delete
Positional arguments:
profile
-</code></pre><h5 id=examples-36 id=examples-36>Examples<a class=heading-anchor href=#examples-36 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles delete dev
-</code></pre><h4 id=get-5 id=get-5>get<a class=heading-anchor href=#get-5 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
+</code></pre><h5 id=examples-36>Examples</h5><pre tabindex=0><code>polaris profiles delete dev
+</code></pre><h4 id=get-5>get</h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
options:
get
Positional arguments:
profile
-</code></pre><h5 id=examples-37 id=examples-37>Examples<a class=heading-anchor href=#examples-37 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles get dev
-</code></pre><h4 id=list-6 id=list-6>list<a class=heading-anchor href=#list-6 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
+</code></pre><h5 id=examples-37>Examples</h5><pre tabindex=0><code>polaris profiles get dev
+</code></pre><h4 id=list-6>list</h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
options:
list
-</code></pre><h5 id=examples-38 id=examples-38>Examples<a class=heading-anchor href=#examples-38 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles list
-</code></pre><h4 id=update-4 id=update-4>update<a class=heading-anchor href=#update-4 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
+</code></pre><h5 id=examples-38>Examples</h5><pre tabindex=0><code>polaris profiles list
+</code></pre><h4 id=update-4>update</h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
options:
update
Positional arguments:
profile
-</code></pre><h5 id=examples-39 id=examples-39>Examples<a class=heading-anchor href=#examples-39 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles update dev
-</code></pre><h2 id=examples-40 id=examples-40>Examples<a class=heading-anchor href=#examples-40 aria-label=Anchor>#</a></h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog id=creating-a-principal-and-a-catalog>Creating a principal and a catalog<a class=heading-anchor href=#creating-a-principal- [...]
+</code></pre><h5 id=examples-39>Examples</h5><pre tabindex=0><code>polaris profiles update dev
+</code></pre><h2 id=examples-40>Examples</h2><p>This section outlines example code for a few common operations as well as for some more complex ones.</p><p>For especially complex operations, you may wish to instead directly use the Python API.</p><h3 id=creating-a-principal-and-a-catalog>Creating a principal and a catalog</h3><pre tabindex=0><code>polaris principals create my_user
polaris catalogs create \
--type internal \
@@ -650,7 +650,7 @@ polaris catalogs create \
--allowed-location s3://iceberg-bucket/polaris-alt-location-1 \
--allowed-location s3://iceberg-bucket/polaris-alt-location-2 \
my_catalog
-</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog<a class=heading-anchor href=#granting-a-principal-the-ability-to-manage-the-content-of-a-catalog aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris principal-roles create power_user
+</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog</h3><pre tabindex=0><code>polaris principal-roles create power_user
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -665,7 +665,7 @@ polaris privileges \
--catalog-role my_catalog_role \
grant \
CATALOG_MANAGE_CONTENT
-</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read<a class=heading-anchor href=#identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read aria-label=Anchor>#</a></h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, [...]
+</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read</h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, subsume <code>TABLE_READ_DATA</code> and would not be discovered here.</em></p><pre tabindex=0><code>principal_roles=$(polaris principal-roles list --principal my_principal)
for principal_role in ${principal_roles}; do
catalog_roles=$(polaris catalog-roles --list --principal-role "${principal_role}")
for catalog_role in ${catalog_roles}; do
diff --git a/releases/1.0.1/configuration/index.html b/releases/1.0.1/configuration/index.html
index 5a94bff17..e8e90f854 100644
--- a/releases/1.0.1/configuration/index.html
+++ b/releases/1.0.1/configuration/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+<meta name=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1645"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker i [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1645"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker im [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,7 +137,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as
well as for Polaris binary distributions.</p><blockquote><p>Note: for Production tips and best practices, refer to <a href=https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</p></blockquote><p>First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus
<a href=https://quarkus.io/guides/config>configuration guide</a> to get familiar with the basics.</p><p>Quarkus aggregates configuration properties from multiple sources, applying them in a specific order
@@ -158,11 +158,11 @@ names. In these situations, it’s preferable to use system properties or a
(mounted) at <code>$PWD/config/application.properties</code> for Polaris server to recognize it. In Polaris
official Docker images, this location is <code>/deployment/config/application.properties</code>.</p><p>For Kubernetes deployments, the configuration file is typically defined as a <code>ConfigMap</code>, then
mounted in the container at <code>/deployment/config/application.properties</code>. It can be mounted in
-read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference id=polaris-configuration-options-reference>Polaris Configuration Options Reference<a class=heading-anchor href=#polaris-configuration-options-reference aria-label=Anchor>#</a></h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-j [...]
+read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference>Polaris Configuration Options Reference</h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-jdbc</code></td><td>Define the persistence backend used by Polaris (<code>in-memory</code>, <code>relational-jdbc</code>, <code>eclipse-l [...]
image; they come from the base image used by Polaris, <a href=https://catalog.redhat.com/software/containers/ubi9/openjdk-21-runtime/6501ce769a0d86945c422d5f>ubi9/openjdk-21-runtime</a>. They should be used
to fine-tune the Java runtime directly, e.g. to enable debugging or to set the heap size. These
variables are not specific to Polaris, but are inherited from the base image. If in doubt, leave
-everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
+everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
is using. To do this, set the log level for the <code>io.smallrye.config</code> category to <code>DEBUG</code>, and also
set the console appender level to <code>DEBUG</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.console.level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.category."io.smallrye.config".level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
diff --git a/releases/1.0.1/configuring-polaris-for-production/index.html b/releases/1.0.1/configuring-polaris-for-production/index.html
index 5796e0e75..e45d35402 100644
--- a/releases/1.0.1/configuring-polaris-for-production/index.html
+++ b/releases/1.0.1/configuring-polaris-for-production/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:title" content="Configuring Polaris for Production"><meta property="og:description" content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris for Production"><meta itemprop=description content="The default server configuration is intended for development and testing. When you deploy Pola [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta itemprop=wordCount content="913"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris for Production"><meta name=twitter:description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
-rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -134,7 +134,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2 id=configure-oauth2 [...]
+review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2>Configure OAuth2</h [...]
supported out of the box:</p><ul><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTRSAKeyPairFactory.java>rsa-key-pair</a> uses a pair of public and private keys;</li><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTSymmetricKeyFactory.java>symmetric-key</a> uses a shared secret [...]
The default <code>rsa-key-pair</code> configuration is not suitable when deploying many replicas of Polaris,
as each replica will have its own set of keys. This will cause token validation to fail when a
@@ -152,7 +152,7 @@ configuration file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;
</span></span></code></pre></div><p>Finally, you can also configure the token broker to use a maximum lifespan by setting the following
property:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
</span></span></code></pre></div><p>Typically, in Kubernetes, you would define the keys as a <code>Secret</code> and mount them as files in the
-container.</p><h3 id=realm-context-resolver id=realm-context-resolver>Realm Context Resolver<a class=heading-anchor href=#realm-context-resolver aria-label=Anchor>#</a></h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
+container.</p><h3 id=realm-context-resolver>Realm Context Resolver</h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
context resolver by setting the following properties in <code>application.properties</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.realms</span><span style=color:#f92672>=</span><span style=color:#e6db74>POLARIS,MY-REALM</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.header-name</span><span style=color:#f92672>=</span><span style=color:#e6db74>Polaris-Realm</span>
</span></span></code></pre></div><p>Where:</p><ul><li><code>realms</code> is a comma-separated list of allowed realms. This setting <em>must</em> be correctly configured.
@@ -163,7 +163,7 @@ realm in the list as the default realm. In the above example, <code>POLARIS</cod
would be used if the <code>Polaris-Realm</code> header is not present in the request.</p><p>This is not recommended for production use, as it may lead to security vulnerabilities. To avoid
this, set the following property to <code>true</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.require-header</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>This will cause Polaris to also return a <code>404 Not Found</code> response if the realm header is not present
-in the request.</p><h3 id=metastore-configuration id=metastore-configuration>Metastore Configuration<a class=heading-anchor href=#metastore-configuration aria-label=Anchor>#</a></h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
+in the request.</p><h3 id=metastore-configuration>Metastore Configuration</h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
default, Polaris uses an in-memory metastore.</p><blockquote><p>[!IMPORTANT]
The default in-memory metastore is not suitable for production use, as it will lose all data
when the server is restarted; it is also unusable when multiple Polaris replicas are used.</p></blockquote><p>To enable a durable metastore, configure your system to use the Relational JDBC-backed metastore.
@@ -178,7 +178,7 @@ QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
Please refer to the documentation here:
<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><blockquote><p>[!IMPORTANT]
Be sure to secure your metastore backend since it will be storing sensitive data and catalog
-metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping id=bootstrapping>Bootstrapping<a class=heading-anchor href=#bootstrapping aria-label=Anchor>#</a></h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
+metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping>Bootstrapping</h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
performed <strong>only once</strong> for each realm in order to prepare the metastore to integrate with Polaris.</p><p>By default, when bootstrapping a new realm, Polaris will create randomised <code>CLIENT_ID</code> and
<code>CLIENT_SECRET</code> for the <code>root</code> principal and store their hashes in the metastore backend.</p><p>Depending on your database, this may not be convenient as the generated credentials are not stored
in clear text in the database.</p><p>In order to provide your own credentials for <code>root</code> principal (so you can request tokens via
@@ -201,7 +201,7 @@ otherwise Polaris will resolve the realm to the first one in the configuration
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_id=my-client-id"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_secret=my-client-secret"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"scope=PRINCIPAL_ROLE:ALL"</span>
-</span></span></code></pre></div><h3 id=disable-file-storage-type id=disable-file-storage-type>Disable FILE Storage Type<a class=heading-anchor href=#disable-file-storage-type aria-label=Anchor>#</a></h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
+</span></span></code></pre></div><h3 id=disable-file-storage-type>Disable FILE Storage Type</h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
but <strong>not recommended for production</strong>. To disable it, set the supported storage types like this:</p><pre tabindex=0><code class=language-hocon data-lang=hocon>polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES" = [ "S3", "Azure" ]
-</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations id=upgrade-considerations>Upgrade Considerations<a class=heading-anchor href=#upgrade-considerations aria-label=Anchor>#</a></h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
+</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations>Upgrade Considerations</h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
upgrade concerns.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item data-bs-tog [...]
\ No newline at end of file
diff --git a/releases/1.0.1/entities/index.html b/releases/1.0.1/entities/index.html
index 9cdced9f5..7ae7541ba 100644
--- a/releases/1.0.1/entities/index.html
+++ b/releases/1.0.1/entities/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="787"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="787"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
+Storage Type All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,4 +137,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
diff --git a/releases/1.0.1/evolution/index.html b/releases/1.0.1/evolution/index.html
index 41f168f29..b7251f222 100644
--- a/releases/1.0.1/evolution/index.html
+++ b/releases/1.0.1/evolution/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:title" content="Polaris Evolution"><meta property="og:description" content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/evolution/"><meta property="article:section" content="releases"><meta itemprop=name content="Polaris Evolution"><meta itemprop=descriptio [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta itemprop=wordCount content="712"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Evolution"><meta name=twitter:description content="This page discusses what can be expected from Apa [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
-Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,7 +133,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
it implements the Iceberg REST Catalog API and its own REST APIs.</p><p>Revisions of the Iceberg REST Catalog API are controlled by the <a href=https://iceberg.apache.org/>Apache Iceberg</a>
community. Polaris attempts to accurately implement this specification. Nonetheless,
optional REST Catalog features may or may not be supported immediately. In general,
@@ -147,7 +147,7 @@ backward-compatible way, new endpoints (URI paths) may be introduced. New URI &l
be introduced too (e.g. <code>api/catalog/v2</code>).</p><p>Note that those “v1”, “v2”, etc. URI path segments are not meant to be 1:1 with Polaris
releases or Polaris project version numbers (e.g. a “v2” path segment does not mean that
it is added in Polaris 2.0).</p><p>Polaris servers will support deprecated API endpoints / parameters / versions / etc.
-for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database id=managing-polaris-database>Managing Polaris Database<a class=heading-anchor href=#managing-polaris-database aria-label=Anchor>#</a></h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
+for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database>Managing Polaris Database</h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
“Persistence” in other docs.</p><p>Each Polaris release may support multiple Persistence <a href=../metastores>implementations</a>,
for example, “EclipseLink” (deprecated) and “JDBC” (current).</p><p>Each type of Persistence evolves individually. Within each Persistence type, Polaris
attempts to support rolling upgrades (both version X and X + 1 servers running at the
@@ -155,14 +155,14 @@ same time).</p><p>However, migrating between different Persistence types is not
upgrade manner (for example, migrating from “EclipseLink” to “JDBC”). Polaris provides
<a href=https://github.com/apache/polaris-tools/>tools</a> for migrating between different
catalogs and those tools may be used to migrate between different Persistence types
-as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency<a class=heading-anchor href=#using-polaris-as-a-build-time-dependency aria-label=Anchor>#</a></h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
+as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency</h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
downstream projects according to the terms of the license included into Polaris distributions.</p><p>The minimal version of the JRE required by Polaris code (compilation target) may be updated in
any release. Different Polaris jars may have different minimal JRE version requirements.</p><p>Changes in Java class should be expected at any time regardless of the module name or
whether the class / method is <code>public</code> or not.</p><p>This approach is not meant to discourage the use of Polaris code in downstream projects, but
to allow more flexibility in evolving the codebase to support new catalog-level features
and improve code efficiency. Maintainers of downstream projects are encouraged to join Polaris
mailing lists to monitor project changes, suggest improvements, and engage with the Polaris
-community in case of specific compatibility concerns.</p><h2 id=semantic-versioning id=semantic-versioning>Semantic Versioning<a class=heading-anchor href=#semantic-versioning aria-label=Anchor>#</a></h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
+community in case of specific compatibility concerns.</p><h2 id=semantic-versioning>Semantic Versioning</h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
respect to REST APIs (beta and experimental APIs excepted), <a href=../policy/>Polaris Policies</a>
and user-facing <a href=../configuration/>configuration</a>.</p><p>The following are some examples of Polaris approach to SemVer in REST APIs / configuration.
These examples are for illustration purposes and should not be considered to be
diff --git a/releases/1.0.1/generic-table/index.html b/releases/1.0.1/generic-table/index.html
index 907a74ed3..f70c7b858 100644
--- a/releases/1.0.1/generic-table/index.html
+++ b/releases/1.0.1/generic-table/index.html
@@ -3,7 +3,7 @@
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:title" content="Generic Table (Beta)"><meta property="og:description" content="The Generic Table in Apache Polaris is designed to provide support for non-Iceberg tables across different table formats includes delta, csv etc. It curr [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/generic-table/"><meta property="article:section" content="releases"><meta itemprop=name content="Generic Table (Beta)"><meta itemprop [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta itemprop=wordCount content="816"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Generic Table (Beta)"><meta name=twitter:description content="The Generic Table in Apache Polaris is des [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,9 +129,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
the Iceberg table entities.</p><table><thead><tr><th>Operations</th><th><strong>Iceberg Table API</strong></th><th><strong>Generic Table API</strong></th></tr></thead><tbody><tr><td>Create Table</td><td>Create an Iceberg table</td><td>Create a generic table</td></tr><tr><td>Load Table</td><td>Load an Iceberg table. If the table to load is a generic table, you need to call the Generic Table loadTable API, otherwise a TableNotFoundException will be thrown</td><td>Load a generic table. Simi [...]
-there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table id=working-with-generic-table>Working with Generic Table<a class=heading-anchor href=#working-with-generic-table aria-label=Anchor>#</a></h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be descri [...]
+there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table>Working with Generic Table</h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be described in the later section.</li><li>Use the Spark client provided if you are working with Spark. Please refer to [...]
request body looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"<table_name>"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"format"</span>: <span style=color:#e6db74>"<table_format>"</span>,
@@ -153,7 +153,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "key1": "value1"
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }'</span>
-</span></span></code></pre></div><h3 id=load-a-generic-table id=load-a-generic-table>Load a Generic Table<a class=heading-anchor href=#load-a-generic-table aria-label=Anchor>#</a></h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;- [...]
+</span></span></code></pre></div><h3 id=load-a-generic-table>Load a Generic Table</h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=dis [...]
</span></span></code></pre></div><p>And the response looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"table"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"delta_table"</span>,
@@ -165,7 +165,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=list-generic-tables id=list-generic-tables>List Generic Tables<a class=heading-anchor href=#list-generic-tables aria-label=Anchor>#</a></h3><p>The REST endpoint for listing the generic tables under a given
+</span></span></code></pre></div><h3 id=list-generic-tables>List Generic Tables</h3><p>The REST endpoint for listing the generic tables under a given
namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/</code>.</p><p>Following curl command lists all tables under namespace delta_namespace:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
</span></span></code></pre></div><p>Example Response:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"identifiers"</span>: [
@@ -176,8 +176,8 @@ namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-table
</span></span><span style=display:flex><span> ],
</span></span><span style=display:flex><span> <span style=color:#f92672>"next-page-token"</span>: <span style=color:#66d9ef>null</span>
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=drop-a-generic-table id=drop-a-generic-table>Drop a Generic Table<a class=heading-anchor href=#drop-a-generic-table aria-label=Anchor>#</a></h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size [...]
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations id=limitations>Limitations<a class=heading-anchor href=#limitations [...]
+</span></span></code></pre></div><h3 id=drop-a-generic-table>Drop a Generic Table</h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations>Limitations</h2><p>Current limitations of Generic Table support:</p><ol><li>Limited spec information. Currently, there is no spec for information like [...]
It is the responsibility of the engine (and plugins used by the engine) to determine exactly how loading or commiting data
should look like based on the metadata. For example, with the delta support, th delta log serialization, deserialization
and update all happens at client side.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__l [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/deploying-polaris/index.html b/releases/1.0.1/getting-started/deploying-polaris/index.html
index f652ff672..bd9045f2e 100644
--- a/releases/1.0.1/getting-started/deploying-polaris/index.html
+++ b/releases/1.0.1/getting-started/deploying-polaris/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.1/getting-started/deploying-polaris/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png size [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-aws/index.html b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
index 58daec71a..9127d5561 100644
--- a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
+++ b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
@@ -7,7 +7,7 @@ There must be at least two subnets created in the VPC and region in which your E
The requirements to run the script below are:
There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><meta itemprop=wordCount content="255"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Amazon Web Services (AWS)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Amazon RDS for PostgreSQL ins [...]
The requirements to run the script below are:
-There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
+There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-aws.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To sh [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-s [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-azure/index.html b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
index 6c4ac7d26..75234f9f4 100644
--- a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
+++ b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
@@ -3,7 +3,7 @@
The requirements to run the script below are:"><meta property="og:title" content="Deploying Polaris on Azure"><meta property="og:description" content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres instance holding all Polaris data. Additionally, Polaris will be bootstrapped to use this database and Docker con [...]
The requirements to run the script below are:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-azure/"><meta property="article:section" content="releases"><meta itemprop=name content="Deploying Polaris on Azure"><meta itemprop=description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will star [...]
The requirements to run the script below are:"><meta itemprop=wordCount content="204"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Azure"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres in [...]
-The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
+The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -135,6 +135,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-azure.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
index 5f02ca385..3188acd00 100644
--- a/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
+++ b/releases/1.0.1/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
@@ -7,7 +7,7 @@ Install the gcloud CLI, if it is not already installed on the GCP VM."><meta pro
The requirements to run the script below are:
Install the gcloud CLI, if it is not already installed on the GCP VM."><meta itemprop=wordCount content="206"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Google Cloud Platform (GCP)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start a Cloud SQL for PostgreSQL instance, which will be used as t [...]
The requirements to run the script below are:
-Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
+Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-gcp.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/index.html b/releases/1.0.1/getting-started/index.html
index 5a7528b36..dea9cc102 100644
--- a/releases/1.0.1/getting-started/index.html
+++ b/releases/1.0.1/getting-started/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.1/getting-started/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link re [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.1/getting-started/index.xml b/releases/1.0.1/getting-started/index.xml
index b120816f4..ece3a198b 100644
--- a/releases/1.0.1/getting-started/index.xml
+++ b/releases/1.0.1/getting-started/index.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on Apache Polaris</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/</link><description>Recent content in Getting Started on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/1.0.1/getting-started/index.xml" rel="self" type="ap [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/getting- [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/using-p [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/getting-s [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.0.1/getting-started/using-p [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item></channel></rss>
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/install-dependencies/index.html b/releases/1.0.1/getting-started/install-dependencies/index.html
index f3513cbaa..b278a398a 100644
--- a/releases/1.0.1/getting-started/install-dependencies/index.html
+++ b/releases/1.0.1/getting-started/install-dependencies/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Polaris locally, and finally includes examples of how to use Polaris with Apache Spark™.
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content=" [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="504"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an in [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><s [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content="I [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="504"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an int [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><sc [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,12 +129,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span></code></pre></div><p>Please follow instructions from the <a href=https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>Git Documentation</a> for instructions on installing Git on other platforms.</p><p>Then, use git to clone the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/polaris.git
-</span></span></code></pre></div><h2 id=docker id=docker>Docker<a class=heading-anchor href=#docker aria-label=Anchor>#</a></h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p [...]
+</span></span></code></pre></div><h2 id=docker>Docker</h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p><p>Instructions to install Docker can be found on the <a href=https:/ [...]
</span></span></code></pre></div><p>There could be a <a href=https://github.com/apache/polaris/pull/971>Docker permission issues</a> related to seccomp configuration. To resolve these issues, set the <code>seccomp</code> profile to “unconfined” when running a container. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
-</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux id=docker-on-amazon-linux>Docker on Amazon Linux<a class=heading-anchor href=#docker-on-amazon-linux aria-label=Anchor>#</a></h3><p>Docker can be installed using a modification to the CentOS instructions. For e [...]
+</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux>Docker on Amazon Linux</h3><p>Docker can be installed using a modification to the CentOS instructions. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
</span></span><span style=display:flex><span><span style=color:#75715e># Remove old version</span>
</span></span><span style=display:flex><span>sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
</span></span><span style=display:flex><span><span style=color:#75715e># Install dnf plugin</span>
@@ -145,11 +145,11 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
</span></span><span style=display:flex><span>sudo sed -i <span style=color:#e6db74>'s/$releasever/9/g'</span> /etc/yum.repos.d/docker-ce.repo
</span></span><span style=display:flex><span><span style=color:#75715e># Install as usual</span>
</span></span><span style=display:flex><span>sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-</span></span></code></pre></div><h3 id=confirm-docker-installation id=confirm-docker-installation>Confirm Docker Installation<a class=heading-anchor href=#confirm-docker-installation aria-label=Anchor>#</a></h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display: [...]
+</span></span></code></pre></div><h3 id=confirm-docker-installation>Confirm Docker Installation</h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker version
</span></span><span style=display:flex><span>docker compose version
</span></span></code></pre></div><p>Also make sure Docker is running and is able to run a sample Docker container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run hello-world
-</span></span></code></pre></div><h2 id=java id=java>Java<a class=heading-anchor href=#java aria-label=Anchor>#</a></h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For ex [...]
+</span></span></code></pre></div><h2 id=java>Java</h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For example, to install Java 21 via <a href=https://brew.sh/>homebrew</a [...]
</span></span><span style=display:flex><span>brew install openjdk@21 jenv
</span></span><span style=display:flex><span>jenv add <span style=color:#66d9ef>$(</span>brew --prefix openjdk@21<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>jenv local <span style=color:#ae81ff>21</span>
-</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq id=jq>jq<a class=heading-anchor href=#jq aria-label=Anchor>#</a></h2><p>Most Polaris Quickstart scripts require <code>jq</code>. Follow the instructions from the <a href=https://jqlang.org/download/>jq</a> website to download this tool.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="r [...]
\ No newline at end of file
+</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq>jq</h2><p>Most Polaris Quickstart scripts require <code>jq</code>. Follow the instructions from the <a href=https://jqlang.org/download/>jq</a> website to download this tool.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-s [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/quickstart/index.html b/releases/1.0.1/getting-started/quickstart/index.html
index c1c742622..98755d1f6 100644
--- a/releases/1.0.1/getting-started/quickstart/index.html
+++ b/releases/1.0.1/getting-started/quickstart/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can be deployed via a docker image or as a standalone process. Before starting, be sure that you&rsquo;ve satisfied the relevant prerequisites detailed in the previous page.
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:title" content="Quickstart"><meta property="og:description" content="Polaris can be deployed via a docker [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/gettin [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta itemprop=wordCount content="580"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name= [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link hr [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild \ :polaris-admin:assemble --rerun \ -Dquarkus.container-image.tag=postgres-latest \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link hr [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,14 +133,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:quarkusAppPartsBuild <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.tag<span style=color:#f92672>=</span>postgres-latest <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker id=running-polaris-with-docker>Running Polaris with Docker<a class=heading-anchor href=#running-polaris-with-docker aria-label=Anchor>#</a></h2><p>To start using Polaris in Docker and launch Polaris, which is packaged wit [...]
+</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker>Running Polaris with Docker</h2><p>To start using Polaris in Docker and launch Polaris, which is packaged with a Postgres instance, Apache Spark, and Trino.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;back [...]
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_JDBC_URL<span style=color:#f92672>=</span>jdbc:postgresql://postgres:5432/POLARIS
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_USERNAME<span style=color:#f92672>=</span>postgres
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_PASSWORD<span style=color:#f92672>=</span>postgres
@@ -153,11 +153,11 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
spark-sql-1 | Spark master: local[*], Application Id: local-1743745174604
spark-sql-1 | 25/04/04 05:39:38 WARN SparkSQLCLIDriver: WARNING: Directory for Hive history file: /home/spark does not exist. History will not be available during this session.
spark-sql-1 | 25/04/04 05:39:39 WARN RESTSessionCatalog: Iceberg REST client is missing the OAuth2 server URI configuration and defaults to http://polaris:8181/api/catalogv1/oauth/tokens. This automatic fallback will be removed in a future Iceberg release.It is recommended to configure the OAuth2 endpoint using the 'oauth2-server-uri' property to be prepared. This warning will disappear if the OAuth2 endpoint is explicitly configured. See https://github.com/apache/iceber [...]
-</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process<a class=heading-anchor href=#running-polaris-as-a-standalone-process aria-label=Anchor>#</a></h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</str [...]
+</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process</h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</strong></li></ol><p>Run the following command to start Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-colo [...]
</span></span></code></pre></div><p>You should see output for some time as Polaris builds and starts up. Eventually, you won’t see any more logs and should see messages that resemble the following:</p><pre tabindex=0><code>INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) polaris-runtime-service <version> on JVM (powered by Quarkus <version>) started in 2.656s. Listening on: http://localhost:8181. Management interface listening on http://0.0.0.0:8182.
INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) Profile prod activated. Live Coding activated.
INFO [io.quarkus] [,] [,,,] (Quarkus Main Thread) Installed features: [...]
</code></pre><p>At this point, Polaris is running.</p><p>When using a Gradle-launched Polaris instance in this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down.
-For more information on how to configure Polaris for production usage, see the <a href=/releases/1.0.1/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>secret</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing id=installing-apache-spark-and-trino-locally-for-test [...]
-</span></span></code></pre></div><h4 id=trino id=trino>Trino<a class=heading-anchor href=#trino aria-label=Anchor>#</a></h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><p [...]
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-m [...]
\ No newline at end of file
+For more information on how to configure Polaris for production usage, see the <a href=/releases/1.0.1/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>secret</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing>Installing Apache Spark and Trino Locally for Testing [...]
+</span></span></code></pre></div><h4 id=trino>Trino</h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.0.1/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-foote [...]
\ No newline at end of file
diff --git a/releases/1.0.1/getting-started/using-polaris/index.html b/releases/1.0.1/getting-started/using-polaris/index.html
index 3f1c88109..bafbe8af8 100644
--- a/releases/1.0.1/getting-started/using-polaris/index.html
+++ b/releases/1.0.1/getting-started/using-polaris/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Setup# Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup# Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polar [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1282"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup# E [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
+<meta name=description content="Setup Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polari [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1282"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup En [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,9 +133,9 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>YOUR_CLIENT_SECRET
-</span></span></code></pre></div><h2 id=defining-a-catalog id=defining-a-catalog>Defining a Catalog<a class=heading-anchor href=#defining-a-catalog aria-label=Anchor>#</a></h2><p>In Polaris, the <a href=/releases/1.0.1/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.0.1/entities/#table>tables</a> and <a href=/releases/1.0.1/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div cl [...]
+</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a Catalog</h2><p>In Polaris, the <a href=/releases/1.0.1/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.0.1/entities/#table>tables</a> and <a href=/releases/1.0.1/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o- [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -146,7 +146,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --default-base-location <span style=color:#e6db74>${</span>DEFAULT_BASE_LOCATION<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --role-arn <span style=color:#e6db74>${</span>ROLE_ARN<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> quickstart_catalog
-</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
+</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-secret <span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> principals <span style=color:#ae81ff>\
@@ -196,7 +196,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog quickstart_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role quickstart_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>This grants the <a href=/releases/1.0.1/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
+</span></span></code></pre></div><p>This grants the <a href=/releases/1.0.1/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.0,org.apache.iceberg:iceberg-aws-bundle:1.9.0 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.warehouse<span style=color:#f92672>=</span>quickstart_catalog <span style=color:#ae81ff>\
@@ -208,11 +208,11 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.scope<span style=color:#f92672>=</span><span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span style=color:#f92672>=</span>true <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.client.region<span style=color:#f92672>=</span>us-west-2
-</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container id=using-spar [...]
+</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container>Using Spark S [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml rm -f spark-sql
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml up -d --no-deps spark-sql
</span></span></code></pre></div><p>Attach to the running spark-sql container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker attach <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>spark-sql<span style=color:#66d9ef>)</span>
-</span></span></code></pre></div><h4 id=sample-commands id=sample-commands>Sample Commands<a class=heading-anchor href=#sample-commands aria-label=Anchor>#</a></h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
+</span></span></code></pre></div><h4 id=sample-commands>Sample Commands</h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace.<span style=color:#66d9ef>schema</span>;
</span></span><span style=display:flex><span>USE NAMESPACE quickstart_namespace.<span style=color:#66d9ef>schema</span>;
@@ -237,7 +237,7 @@ SELECT * FROM quickstart_table;
</span></span></code></pre></div><p>Spark will lose access to the table:</p><pre tabindex=0><code>INSERT INTO quickstart_table VALUES (1, 'some data');
org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quickstart_user' with activated PrincipalRoles '[]' and activated grants via '[quickstart_catalog_role, quickstart_user_role]' is not authorized for op LOAD_TABLE_WITH_READ_DELEGATION
-</code></pre><h3 id=connecting-with-trino id=connecting-with-trino>Connecting with Trino<a class=heading-anchor href=#connecting-with-trino aria-label=Anchor>#</a></h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/ [...]
+</code></pre><h3 id=connecting-with-trino>Connecting with Trino</h3><p>Refresh the Docker container with the user’s credentials:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml stop trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml rm -f trino
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml up -d --no-deps trino
</span></span></code></pre></div><p>Attach to the running Trino container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker exec -it <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>trino<span style=color:#66d9ef>)</span> trino
@@ -258,12 +258,12 @@ org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal 'quic
</span></span></code></pre></div><p>Trino will lose access to the table:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span><span style=color:#66d9ef>SELECT</span> <span style=color:#f92672>*</span> <span style=color:#66d9ef>FROM</span> iceberg.quickstart_schema.quickstart_table;
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>org.apache.iceberg.exceptions.ForbiddenException: Forbidden: Principal <span style=color:#e6db74>'quickstart_user'</span> <span style=color:#66d9ef>with</span> activated PrincipalRoles <span style=color:#e6db74>'[]'</span> <span style=color:#66d9ef>and</span> activated grants via <span style=color:#e6db74>'[quickstart_catalog_role, quickstart_user_role]'</span> <span style=color:#66d9ef>is</span> <span style=color:#66d9 [...]
-</span></span></code></pre></div><h3 id=connecting-using-rest-apis id=connecting-using-rest-apis>Connecting Using REST APIs<a class=heading-anchor href=#connecting-using-rest-apis aria-label=Anchor>#</a></h3><p>To access Polaris from the host machine, first request an access token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export PO [...]
+</span></span></code></pre></div><h3 id=connecting-using-rest-apis>Connecting Using REST APIs</h3><p>To access Polaris from the host machine, first request an access token:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export POLARIS_TOKEN<span style=color:#f92672>=</span><span style=color:#66d9ef>$(</span>curl -s http://polaris:8181/ap [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --resolve polaris:8181:127.0.0.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --user <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span>:<span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'grant_type=client_credentials'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>'scope=PRINCIPAL_ROLE:ALL'</span> | jq -r .access_token<span style=color:#66d9ef>)</span>
</span></span></code></pre></div><p>Then, use the access token in the Authorization header when accessing Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/principal-roles -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
</span></span><span style=display:flex><span>curl -v http://127.0.0.1:8181/api/management/v1/catalogs/quickstart_catalog -H <span style=color:#e6db74>"Authorization: Bearer </span>$POLARIS_TOKEN<span style=color:#e6db74>"</span>
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><ul><li>Visit <a href=/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</li><li>A Getting Started experience for using Spark with Jupyter Notebooks is documented <a href=https://github.com/apache/polaris/blob/main/getting-started/spark/README.md>here</a>.</li><li>To shut down a locally-deployed Polaris se [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><ul><li>Visit <a href=/releases/1.0.1/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</li><li>A Getting Started experience for using Spark with Jupyter Notebooks is documented <a href=https://github.com/apache/polaris/blob/main/getting-started/spark/README.md>here</a>.</li><li>To shut down a locally-deployed Polaris server and clean up all related Docker containers, run the command listed below. [...]
</span></span></code></pre></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/releases/1.0.1/index.html b/releases/1.0.1/index.html
index 2a8ec9cca..2756de9cb 100644
--- a/releases/1.0.1/index.html
+++ b/releases/1.0.1/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.0.1/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=imag [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Overview"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful J [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -125,30 +125,30 @@
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb clas [...]
-or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog id=catalog>Catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 ps-md-5" role=main><nav aria-label=breadcrumb clas [...]
+or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating) structure"></p><h3 id=catalog>Catalog</h3><p>In Polaris, you can create one or more catalog resources to organize Iceberg tables.</p><p>Configure your catalog by setting values in the storage configuration for S3, Azure, or Google Cloud Storage. An Iceberg catalog [...]
query engine to manage and organize tables. The catalog forms the first architectural layer in the <a href=https://iceberg.apache.org/spec/#overview>Apache Iceberg™ table specification</a> and must support the following tasks:</p><ul><li><p>Storing the current metadata pointer for one or more Iceberg tables. A metadata pointer maps a table name to the location of that table’s
current metadata file.</p></li><li><p>Performing atomic operations so that you can update the current metadata pointer for a table to the metadata pointer of a new version of
-the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types id=catalog-types>Catalog types<a class=heading-anchor href=#catalog-types aria-label=Anchor>#</a></h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The cata [...]
-this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace id=namespace>Namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
-nested namespaces. Iceberg tables belong to namespaces.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespac [...]
+the table.</p></li></ul><p>To learn more about Iceberg catalogs, see the <a href=https://iceberg.apache.org/concepts/catalog/>Apache Iceberg™ documentation</a>.</p><h4 id=catalog-types>Catalog types</h4><p>A catalog can be one of the following two types:</p><ul><li><p>Internal: The catalog is managed by Polaris. Tables from this catalog can be read and written in Polaris.</p></li><li><p>External: The catalog is externally managed by another Iceberg catalog provider (for example, Snowflak [...]
+this catalog are synced to Polaris. These tables are read-only in Polaris.</p></li></ul><p>A catalog is configured with a storage configuration that can point to S3, Azure storage, or GCS.</p><h3 id=namespace>Namespace</h3><p>You create <em>namespaces</em> to logically group Iceberg tables within a catalog. A catalog can have multiple namespaces. You can also create
+nested namespaces. Iceberg tables belong to namespaces.</p><blockquote><p><strong>Important</strong></p><p>For the access privileges defined for a catalog to be enforced correctly, the following conditions must be met:</p><ul><li>The directory only contains the data files that belong to a single table.</li><li>The directory hierarchy matches the namespace hierarchy for the catalog.</li></ul><p>For example, if a catalog includes the following items:</p><ul><li>Top-level namespace namespac [...]
when you create a catalog. The storage configuration is used to set the values to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a trust relationship between the cloud storage provider and Polaris
-Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
+Catalog.</p><p>When you create a catalog, you supply the following information about your cloud storage:</p><table><thead><tr><th>Cloud storage provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon S3</td><td><ul><li>Default base location for your Amazon S3 bucket</li><li>Locations for your Amazon S3 bucket</li><li>S3 role ARN</li><li>External ID (optional)</li></ul></td></tr><tr><td>Google Cloud Storage (GCS)</td><td><ul><li>Default base location for your GCS bucket</li><l [...]
Namespace1 namespace in the Catalog1 catalog and insert values into
Table1.</p><p>Bob can create Table1 and insert data into it because he is using a
service connection with a service principal that has
the privileges to perform these actions.</p></li><li><p>Alice uses Snowflake to read data from Table1.</p><p>Alice can read data from Table1 because she is using a service
connection with a service principal with a catalog integration that
has the privileges to perform this action. Alice
-creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control id=security-and-access-control>Security and access control<a class=heading-anchor href=#security-and-access-control aria-label=Anchor>#</a></h2><h3 id=credential-vending id=credential-vending>Credential [...]
+creates an unmanaged table in Snowflake to read data from Table1.</p></li></ol><p><img src=/img/example-workflow.svg alt="Diagram that shows an example workflow for Apache Polaris (Incubating)" title="Example workflow for Apache Polaris (Incubating)"></p><h2 id=security-and-access-control>Security and access control</h2><h3 id=credential-vending>Credential vending</h3><p>To secure interactions with service connections, Polaris vends temporary storage credentials to the query engine during query
execution. These credentials allow the query engine to run the query without requiring access to your cloud storage for
Iceberg tables. This process is called credential vending.</p><p>As of now, the following limitation is known regarding Apache Iceberg support:</p><ul><li><strong>remove_orphan_files:</strong> Apache Spark can’t use credential vending
-for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam id=identity-and-access-management-iam>Identity and access management (IAM)<a class=heading-anchor href=#identity-and-access-management-iam aria-label=Anchor>#</a></h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
+for this due to a known issue. See <a href=https://github.com/apache/iceberg/pull/7914>apache/iceberg#7914</a> for details.</li></ul><h3 id=identity-and-access-management-iam>Identity and access management (IAM)</h3><p>Polaris uses the identity and access management (IAM) entity to securely connect to your storage for accessing table data, Iceberg
metadata, and manifest files that store the table schema, partitions, and other metadata. Polaris retains the IAM entity for your
-storage location.</p><h3 id=access-control id=access-control>Access control<a class=heading-anchor href=#access-control aria-label=Anchor>#</a></h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
+storage location.</p><h3 id=access-control>Access control</h3><p>Polaris enforces the access control that you configure across all tables registered with the service and governs security for all
queries from query engines in a consistent manner.</p><p>Polaris uses a role-based access control (RBAC) model that lets you centrally configure access for Polaris service principals to catalogs,
namespaces, and tables.</p><p>Polaris RBAC uses two different role types to delegate privileges:</p><ul><li><p><strong>Principal roles:</strong> Granted to Polaris service principals and
analogous to roles in other access control systems that you grant to
service principals.</p></li><li><p><strong>Catalog roles:</strong> Configured with certain privileges on Polaris
-catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/1.0.1/access-control/>Access control</a>.</p><h2 id=legal-notices id=legal-notices>Legal Notices<a class=heading-anchor href=#legal-notices aria-label=Anchor>#</a></h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other cou [...]
\ No newline at end of file
+catalog resources and granted to principal roles.</p></li></ul><p>For more information, see <a href=https://polaris.apache.org/releases/1.0.1/access-control/>Access control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.</p><div class=section-index></div></div></main></div></div><footer class="td [...]
\ No newline at end of file
diff --git a/releases/1.0.1/index.xml b/releases/1.0.1/index.xml
index 1a653f7e8..5e0ece8af 100644
--- a/releases/1.0.1/index.xml
+++ b/releases/1.0.1/index.xml
@@ -1,31 +1,31 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Overview on Apache Polaris</title><link>https://polaris.apache.org/releases/1.0.1/</link><description>Recent content in Overview on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/1.0.1/index.xml" rel="self" type="application/rss+xml"/><item><title>Admin Tool</t [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/releases/1.0.1/command-line-interface/</link><pubDat [...]
+One standalone JAR in runtime/admin/build/polaris-admin-*-runner.jar Two distribution archives in runtime/admin/build/distributions Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/releases/1.0.1/command-line-interface/</link><pubDate [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --profile COMMAND must be one of the following:
catalogs principals principal-roles catalog-roles namespaces privileges profiles Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn.</description></item><item><title>Realm</title><link>https://polaris.apache.org/releases/1.0.1/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/realm/</guid><description>This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.1/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others.</description></item><item><title>Entities</title><link>https://polaris.apache.org/releases/1.0.1/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/entities/</guid><description>This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the API docs.
-Storage Type# All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.1/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the [...]
+Storage Type All catalogs in Polaris are associated with a storage type.</description></item><item><title>Policy</title><link>https://polaris.apache.org/releases/1.0.1/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/policy/</guid><description>The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the catalog.
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.1/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.1/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/telemetry/</guid><description>Metrics# [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions.</description></item><item><title>Generic Table (Beta)</title><link>https://polaris.apache.org/releases/1.0.1/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate> [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered.</description></item><item><title>Telemetry</title><link>https://polaris.apache.org/releases/1.0.1/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/telemetry/</guid><description>Metrics M [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value.</description></item><item><title>Access Control</title><link>https://polaris.apache.org/releases/1.0.1/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/access-control/</guid><description>This section provides information about how access [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to service principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.1/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuration/</guid><description>Overview# This page provides information on how to configure Apache Polaris (Incubating). Unle [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted.</description></item><item><title>Configuring Polaris</title><link>https://polaris.apache.org/releases/1.0.1/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuration/</guid><description>Overview This page provides information on how to configure Apache Polaris (Incubating). Unless [...]
Note: for Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence.</description></item><item><title>Configuring Polaris for Production</title><link>https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/configuring-polaris-for-production/</guid><description>The default server configuration is intended for developme [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret.</description></item><item><title>Polaris Spark Client</title><link>https://polaris.apache.org/releases/1.0.1/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/polaris-spark-client/</guid><description>Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Catalog API Spec for [...]
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.0.1/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.0.1/metastores/</guid><description>This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the deprecated EclipseLink persistence backends.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases.</description></item><item><title>Apache Polaris Management Service OpenAPI</title><link>https://polaris.a [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately.</description></item></channel></rss>
\ No newline at end of file
diff --git a/releases/1.0.1/metastores/index.html b/releases/1.0.1/metastores/index.html
index ebe402238..c0ed0c41e 100644
--- a/releases/1.0.1/metastores/index.html
+++ b/releases/1.0.1/metastores/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains how to configure and use Polaris metastores with either the recommended Relational JDBC or the deprecated EclipseLink persistence backends.
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=&lt;your-username&gt; QUARKUS_DATASOURCE_PASSWORD=&lt;your-password&gt; QUARKUS_DATASOURCE_JDBC_URL=&lt;jdbc-url-of-postgres&gt; The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta property="og:title" content="Metastores"><meta property="og:description" content="This page explai [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/metastores/"><meta property= [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><meta itemprop=wordCount content="518"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content= [...]
-Relational JDBC# This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
-POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74 [...]
+Relational JDBC This implementation leverages Quarkus for datasource management and supports configuration through environment variables or JVM -D flags at startup. For more information, refer to the Quarkus configuration reference.
+POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql QUARKUS_DATASOURCE_USERNAME=<your-username> QUARKUS_DATASOURCE_PASSWORD=<your-password> QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres> The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74 [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -134,7 +134,7 @@ POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql Q
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-deprecated EclipseLink persistence backends.</p><h2 id=relational-jdbc id=relational-jdbc>Relational JDBC<a class=heading-anchor href=#relational-jdbc aria-label=Anchor>#</a></h2><p>This implementation leverages Quarkus for datasource management and supports configuration through
+deprecated EclipseLink persistence backends.</p><h2 id=relational-jdbc>Relational JDBC</h2><p>This implementation leverages Quarkus for datasource management and supports configuration through
environment variables or JVM -D flags at startup. For more information, refer to the <a href=https://quarkus.io/guides/config-reference#env-file>Quarkus configuration reference</a>.</p><pre tabindex=0><code>POLARIS_PERSISTENCE_TYPE=relational-jdbc
QUARKUS_DATASOURCE_DB_KIND=postgresql
@@ -143,7 +143,7 @@ QUARKUS_DATASOURCE_PASSWORD=<your-password>
QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
</code></pre><p>The Relational JDBC metastore currently relies on a Quarkus-managed datasource and supports only PostgresSQL and H2 databases. This limitation is similar to that of EclipseLink, primarily due to underlying schema differences. At this time, official documentation is provided exclusively for usage with PostgreSQL.
Please refer to the documentation here:
-<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><p>Additionally the retries can be configured via <code>polaris.persistence.relational.jdbc.*</code> properties please ref <a href=./configuration.md>configuration</a></p><h2 id=eclipselink-deprecated id=eclipselink-deprecated>EclipseLink (Deprecated)<a class=heading-anchor href=#eclipselink-deprecated aria-label=Anchor>#</a></h2><blockquote><p>[!IMPORTANT] Eclipse link is deprecated, its recommend to u [...]
+<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><p>Additionally the retries can be configured via <code>polaris.persistence.relational.jdbc.*</code> properties please ref <a href=./configuration.md>configuration</a></p><h2 id=eclipselink-deprecated>EclipseLink (Deprecated)</h2><blockquote><p>[!IMPORTANT] Eclipse link is deprecated, its recommend to use Relational JDBC as persistence instead.</p></blockquote><p>Polaris includes EclipseLink plugin by d [...]
(<code>application.properties</code>) as follows:</p><pre tabindex=0><code>polaris.persistence.type=eclipse-link
polaris.persistence.eclipselink.configuration-file=/path/to/persistence.xml
polaris.persistence.eclipselink.persistence-unit=polaris
@@ -152,7 +152,7 @@ to the [Quarkus Configuration Reference] for more information.</p><p>The <code>c
<code>persistence.xml</code>, is used to set up the database connection properties, which can differ depending
on the type of database and its configuration.</p><blockquote><p>Note: You have to locate the <code>persistence.xml</code> at least two folders down to the root folder, e.g. <code>/deployments/config/persistence.xml</code> is OK, whereas <code>/deployments/persistence.xml</code> will cause an infinity loop.
[Quarkus Configuration Reference]: <a href=https://quarkus.io/guides/config-reference>https://quarkus.io/guides/config-reference</a>
-[EclipseLink configuration file]: <a href=https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002>https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002</a></p></blockquote><p>Polaris creates and connects to a separate database for each realm. Specifically, the <code>{realm}</code> placeholder in <code>jakarta.persistence.jdbc.url</code> is substituted with the actual realm name, allowing the Polaris server to connect to [...]
+[EclipseLink configuration file]: <a href=https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002>https://eclipse.dev/eclipselink/documentation/4.0/solutions/solutions.html#TESTINGJPA002</a></p></blockquote><p>Polaris creates and connects to a separate database for each realm. Specifically, the <code>{realm}</code> placeholder in <code>jakarta.persistence.jdbc.url</code> is substituted with the actual realm name, allowing the Polaris server to connect to [...]
your H2 configuration using the persistence unit template below:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span style=color:#a6e22e>name=</span><span style=color:#e6db74>"polaris"</span> <span style=color:#a6e22e>transaction-type=</span><span style=color:#e6db74>"RESOURC [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntity<span style=color:#f92672></class></span>
@@ -179,7 +179,7 @@ your H2 configuration using the persistence unit template below:</p><div class=h
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dpolaris.persistence.eclipselink.configuration-file<span style=color:#f92672>=</span>/path/to/persistence.xml <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dpolaris.persistence.eclipselink.persistence-unit<span style=color:#f92672>=</span>polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -jar runtime/server/build/quarkus-app/quarkus-run.jar
-</span></span></code></pre></div><h3 id=using-postgres id=using-postgres>Using Postgres<a class=heading-anchor href=#using-postgres aria-label=Anchor>#</a></h3><p>PostgreSQL is included by default in the Polaris server distribution.</p><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span [...]
+</span></span></code></pre></div><h3 id=using-postgres>Using Postgres</h3><p>PostgreSQL is included by default in the Polaris server distribution.</p><p>The following shows a sample configuration for integrating Polaris with Postgres.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-xml data-lang=xml><span style=display:flex><span><span style=color:#f92672><persistence-unit</span> <span s [...]
</span></span><span style=display:flex><span> <span style=color:#f92672><provider></span>org.eclipse.persistence.jpa.PersistenceProvider<span style=color:#f92672></provider></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntity<span style=color:#f92672></class></span>
</span></span><span style=display:flex><span> <span style=color:#f92672><class></span>org.apache.polaris.extension.persistence.impl.eclipselink.models.ModelEntityActive<span style=color:#f92672></class></span>
diff --git a/releases/1.0.1/polaris-catalog-service/index.html b/releases/1.0.1/polaris-catalog-service/index.html
index b93c81ba2..74d6748e0 100644
--- a/releases/1.0.1/polaris-catalog-service/index.html
+++ b/releases/1.0.1/polaris-catalog-service/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/polaris-catalog-service/"><meta property="article:section" content="releases"><meta itemprop=name content><meta itemprop=description content=" Top "><meta itemprop=wordCount content="1"><meta itemprop=keywords content><meta name=twitter:card content="su [...]
+<meta name=description content=" Top "><meta property="og:title" content><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/polaris-catalog-service/"><meta property="article:section" content="releases"><meta itemprop=name content><meta itemprop=description content=" Top "><meta itemprop=wordCount content="1"><meta itemprop=keywords content><meta name=twitter:card content="su [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.1/polaris-management-service/index.html b/releases/1.0.1/polaris-management-service/index.html
index ed0cbdd95..8c5e512b4 100644
--- a/releases/1.0.1/polaris-management-service/index.html
+++ b/releases/1.0.1/polaris-management-service/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" Top "><meta itempro [...]
+<meta name=description content=" Top "><meta property="og:title" content="Apache Polaris Management Service OpenAPI"><meta property="og:description" content=" Top "><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/polaris-management-service/"><meta property="article:section" content="releases"><meta itemprop=name content="Apache Polaris Management Service OpenAPI"><meta itemprop=description content=" Top "><meta itempro [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.0.1/polaris-spark-client/index.html b/releases/1.0.1/polaris-spark-client/index.html
index ea957c31f..7cdb7b2fb 100644
--- a/releases/1.0.1/polaris-spark-client/index.html
+++ b/releases/1.0.1/polaris-spark-client/index.html
@@ -7,7 +7,7 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><meta itemprop=wordCount content="582"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Spark Client"><meta name=twitter:description content="Apache Polaris now provides Catalog support for Generic Tables (non-Iceberg tables), please check out the Catalog API Spec for Generic Table API specs.
Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.
-Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
+Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -135,17 +135,17 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
the <a href=https://polaris.apache.org/releases/1.0.1/polaris-catalog-service/>Catalog API Spec</a> for Generic Table API specs.</p><p>Along with the Generic Table Catalog support, Polaris is also releasing a Spark client, which helps to
-provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.</p><p>Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</p><p>This page documents how to connect Spark with Polaris Service using the Polaris Spark client.</p><h2 id=quick-start-with-local-polaris-service id=quick-start-with-local-polaris-service>Quick Start with Local Polaris service<a class=heading-anchor href=#quick-start-with-local-polaris-service aria-la [...]
+provide an end-to-end solution for Apache Spark to manage Delta tables using Polaris.</p><p>Note the Polaris Spark client is able to handle both Iceberg and Delta tables, not just Delta.</p><p>This page documents how to connect Spark with Polaris Service using the Polaris Spark client.</p><h2 id=quick-start-with-local-polaris-service>Quick Start with Local Polaris service</h2><p>If you want to quickly try out the functionality with a local Polaris service, simply check out the Polaris repo
and follow the instructions in the Spark plugin getting-started
<a href=https://github.com/apache/polaris/blob/main/plugins/spark/v3.5/getting-started/README.md>README</a>.</p><p>Check out the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>git clone https://github.com/apache/polaris.git
-</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service id=start-spark-against-a-deployed-polaris-service>Start Spark against a deployed Polaris service<a class=heading-anchor href=#start-spark-against-a-deployed-polaris-service aria-label=Anchor>#</a></h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
+</span></span></code></pre></div><h2 id=start-spark-against-a-deployed-polaris-service>Start Spark against a deployed Polaris service</h2><p>Before starting, ensure that the deployed Polaris service supports Generic Tables, and that Spark 3.5(version 3.5.3 or later is installed).
Spark 3.5.5 is recommended, and you can follow the instructions below to get a Spark 3.5.5 distribution.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>cd ~
</span></span><span style=display:flex><span>wget https://archive.apache.org/dist/spark/spark-3.5.5/spark-3.5.5-bin-hadoop3.tgz
</span></span><span style=display:flex><span>mkdir spark-3.5
</span></span><span style=display:flex><span>tar xzvf spark-3.5.5-bin-hadoop3.tgz -C spark-3.5 --strip-components<span style=color:#f92672>=</span><span style=color:#ae81ff>1</span>
</span></span><span style=display:flex><span>cd spark-3.5
-</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark client<a class=heading-anchor href=#connecting-with-spark-using-the-polaris-spark-client aria-label=Anchor>#</a></h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
+</span></span></code></pre></div><h3 id=connecting-with-spark-using-the-polaris-spark-client>Connecting with Spark using the Polaris Spark client</h3><p>The following CLI command can be used to start the Spark with connection to the deployed Polaris service using
a released Polaris Spark client.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>bin/spark-shell <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages <polaris-spark-client-package>,org.apache.iceberg:iceberg-aws-bundle:1.9.0,io.delta:delta-spark_2.12:3.3.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions,io.delta.sql.DeltaSparkSessionExtension <span style=color:#ae81ff>\
@@ -175,7 +175,7 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.scope"</span>, <span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>config(<span style=color:#e6db74>"spark.sql.catalog.polaris.header.X-Iceberg-Access-Delegation"</span>, <span style=color:#e6db74>'vended-credentials'</span>)
</span></span><span style=display:flex><span> <span style=color:#f92672>.</span>getOrCreate()
-</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark id=create-tables-with-spark>Create tables with Spark<a class=heading-anchor href=#create-tables-with-spark aria-label=Anchor>#</a></h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables, for example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-siz [...]
+</span></span></code></pre></div><p>Similar as the CLI command, make sure the corresponding fields are replaced correctly.</p><h3 id=create-tables-with-spark>Create tables with Spark</h3><p>After Spark is started, you can use it to create and access Iceberg and Delta tables, for example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-python data-lang=python><span style=display:flex><span>s [...]
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"CREATE NAMESPACE IF NOT EXISTS DELTA_NS.PUBLIC"</span>)
</span></span><span style=display:flex><span>spark<span style=color:#f92672>.</span>sql(<span style=color:#e6db74>"USE NAMESPACE DELTA_NS.PUBLIC"</span>)
@@ -183,7 +183,7 @@ for more details.</p><p>You can also start the connection by programmatically in
</span></span></span><span style=display:flex><span><span style=color:#e6db74> id int, name string)
</span></span></span><span style=display:flex><span><span style=color:#e6db74>USING delta LOCATION 'file:///tmp/var/delta_tables/people';
</span></span></span><span style=display:flex><span><span style=color:#e6db74>"""</span>)
-</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar<a class=heading-anchor href=#connecting-with-spark-using-local-polaris-spark-client-jar aria-label=Anchor>#</a></h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
+</span></span></code></pre></div><h2 id=connecting-with-spark-using-local-polaris-spark-client-jar>Connecting with Spark using local Polaris Spark client jar</h2><p>If you would like to use a version of the Spark client that is currently not yet released, you can
build a Spark client jar locally from source. Please check out the Polaris repo and refer to the Spark plugin
-<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=limitations id=limitations>Limitations<a class=heading-anchor href=#limitations aria-label=Anchor>#</a></h2><p>The Polaris Spark client has the following functionality limitations:</p><ol><li>Create table as select (CTAS) is not supported for Delta tables. As a result, the <code>saveAsTable</code> method of <code>Dataframe</code>
+<a href=https://github.com/apache/polaris/blob/main/plugins/spark/README.md>README</a> for detailed instructions.</p><h2 id=limitations>Limitations</h2><p>The Polaris Spark client has the following functionality limitations:</p><ol><li>Create table as select (CTAS) is not supported for Delta tables. As a result, the <code>saveAsTable</code> method of <code>Dataframe</code>
is also not supported, since it relies on the CTAS support.</li><li>Create a Delta table without explicit location is not supported.</li><li>Rename a Delta table is not supported.</li><li>ALTER TABLE … SET LOCATION is not supported for DELTA table.</li><li>For other non-Iceberg tables like csv, it is not supported.</li></ol></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm- [...]
\ No newline at end of file
diff --git a/releases/1.0.1/policy/index.html b/releases/1.0.1/policy/index.html
index 347f7651a..f0e4ee7a7 100644
--- a/releases/1.0.1/policy/index.html
+++ b/releases/1.0.1/policy/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fine-grained governance, lifecycle, and operational rules across all data resources in the catalog.
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce f [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:title" content="Policy"><meta property="og:description" content="The Polaris Policy framework empowers organizations to centrally define, manage, and enforce fi [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/policy/"><meta property="article:section" content="releases" [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/policy/"><meta property="article:section" content="releases"> [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:desc [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><meta itemprop=wordCount content="640"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Policy"><meta name=twitter:descr [...]
With the policy API, you can:
-Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy?# A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562 [...]
+Create and manage policies Attach policies to specific resources (catalogs, namespaces, tables, or views) Check applicable policies for any given resource What is a Policy? A policy in Apache Polaris is a structured entity that defines rules governing actions on specified resources under predefined conditions."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562c [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,9 +133,9 @@ Create and manage policies Attach policies to specific resources (catalogs, name
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
-For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance id=policy-inheritance>Policy Inheritance<a class=heading-anchor href=#policy-inheritance aria-label=Anchor>#</a></h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+predefined conditions. Each policy contains:</p><ul><li><strong>Name</strong>: A unique identifier within a namespace</li><li><strong>Type</strong>: Determines the semantics and expected format of the policy content</li><li><strong>Description</strong>: Explains the purpose of the policy</li><li><strong>Content</strong>: Contains the actual rules defining the policy behavior</li><li><strong>Version</strong>: An automatically tracked revision number</li><li><strong>Inheritable</strong>: W [...]
+For more details, please refer to the <a href=https://github.com/apache/polaris/discussions/1028>roadmap</a>.</p><h3 id=policy-inheritance>Policy Inheritance</h3><p>The entity hierarchy in Polaris is structured as follows:</p><pre tabindex=0><code> Catalog
|
Namespace
|
@@ -144,7 +144,7 @@ For more details, please refer to the <a href=https://github.com/apache/polaris/
Iceberg Iceberg Generic
Table View Table
</code></pre><p>Policies can be attached at any level, and inheritance flows from catalog down to namespace, then to tables and views.</p><p>Policies can be inheritable or non-inheritable:</p><ul><li><strong>Inheritable policies</strong>: Apply to the target resource and all its applicable child resources</li><li><strong>Non-inheritable policies</strong>: Apply only to the specific target resource</li></ul><p>The inheritance follows an override mechanism:</p><ol><li>Table-level policies [...]
-<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</p></blockquote><h2 id=working-with-policies id=working-with-policies>Working with Policies<a class=heading-anchor href=#working-with-policies aria-label=Anchor>#</a></h2><h3 id=creating-a-policy id=creating-a-policy>Creating a Policy<a class=heading-anchor href=#creating-a-policy aria-label=Anchor>#</a></h3><p>To create a policy, you need to provide a name, type, and optionall [...]
+<strong>only one instance of a given policy type can be attached to (and therefore affect) a resource</strong>.</p></blockquote><h2 id=working-with-policies>Working with Policies</h2><h3 id=creating-a-policy>Creating a Policy</h3><p>To create a policy, you need to provide a name, type, and optionally a description and content:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=j [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"compaction-policy"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"system.data-compaction"</span>,
@@ -169,7 +169,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> <span style=color:#f92672>"prefix_mismatch_mode"</span>: <span style=color:#e6db74>"ignore"</span>
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=attaching-policies-to-resources id=attaching-policies-to-resources>Attaching Policies to Resources<a class=heading-anchor href=#attaching-policies-to-resources aria-label=Anchor>#</a></h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to indiv [...]
+</span></span></code></pre></div><h3 id=attaching-policies-to-resources>Attaching Policies to Resources</h3><p>Policies can be attached to different resource levels:</p><ol><li><strong>Catalog level</strong>: Applies to the entire catalog</li><li><strong>Namespace level</strong>: Applies to a specific namespace</li><li><strong>Table-like level</strong>: Applies to individual tables or views</li></ol><p>Example of attaching a policy to a table:</p><div class=highlight><pre tabindex=0 styl [...]
</span></span><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"target"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"type"</span>: <span style=color:#e6db74>"table-like"</span>,
@@ -177,7 +177,7 @@ Iceberg Iceberg Generic
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
</span></span></code></pre></div><p>For inheritable policies, only one policy of a given type can be attached to a resource. For non-inheritable policies,
-multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies id=retrieving-applicable-policies>Retrieving Applicable Policies<a class=heading-anchor href=#retrieving-applicable-policies aria-label=Anchor>#</a></h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
+multiple policies of the same type can be attached.</p><h3 id=retrieving-applicable-policies>Retrieving Applicable Policies</h3><p>A user can view applicable policies on a resource (e.g., table, namespace, or catalog) as long as they have
read permission on that resource.</p><p>Here is an example to find all policies that apply to a specific resource (including inherited policies):</p><pre tabindex=0><code>GET /polaris/v1/catalog/applicable-policies?namespace=finance%1Fquarterly&target-name=transactions
</code></pre><p><strong>Sample response:</strong></p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"policies"</span>: [
@@ -209,4 +209,4 @@ read permission on that resource.</p><p>Here is an example to find all policies
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> ]
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 c [...]
\ No newline at end of file
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href=https://github.com/apache/polaris/blob/main/spec/polaris-catalog-apis/policy-apis.yaml>policy-api.yaml</a>.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/releases/1.0.1/realm/index.html b/releases/1.0.1/realm/index.html
index c8f5794ca..d54586280 100644
--- a/releases/1.0.1/realm/index.html
+++ b/releases/1.0.1/realm/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/realm/"><meta property="article:section" content="releases"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="285"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
-What is it?# A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
-Key Characteristics# Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:title" content="Realm"><meta property="og:description" content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/realm/"><meta property="article:section" content="releases"><meta itemprop=name content="Realm"><meta itemprop=description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><meta itemprop=wordCount content="285"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Realm"><meta name=twitter:description content="This page explains what a realm is and what it is used for in Polaris.
+What is it? A realm in Polaris serves as logical partitioning mechanism within the catalog system. This isolation allows for multitenancy, enabling different teams, environments or organizations to operate independently within the same Polaris deployment.
+Key Characteristics Isolation: Each realm encapsulates its own set of resources, ensuring that operations, policies in one realm do not affect others."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,6 +133,6 @@ Key Characteristics# Isolation: Each realm encapsulates its own set of resources
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
authorization.</p><p><strong>Isolation:</strong> In methods like <code>createEntityManagerFactory(@Nonnull RealmContext realmContext)</code> from <code>PolarisEclipseLinkPersistenceUnit</code> interface, the realm context influence how resources are created or managed based on the security policies of that realm.
An example of this is the way a realm name can be used to create a database connection url so that you have one database instance per realm, when applicable. Or it can be more granular and applied at primary key level (within the same database instance).</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links- [...]
\ No newline at end of file
diff --git a/releases/1.0.1/telemetry/index.html b/releases/1.0.1/telemetry/index.html
index 67088744c..992ce922c 100644
--- a/releases/1.0.1/telemetry/index.html
+++ b/releases/1.0.1/telemetry/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Metrics# Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8282/q/metrics.
+<meta name=description content="Metrics Metrics are published using Micrometer; they are available from Polaris&rsquo;s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metrics can be accessed via http://localhost:8282/q/metrics.
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metr [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:title" content="Telemetry"><meta property="og:description" content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface (port 8282 by default) under the path /q/metrics. For example, if the server is running on localhost, the metri [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/telemetry/"><meta property="article:section" content="releases"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics# Metrics are published using Micrometer; [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.0.1/telemetry/"><meta property="article:section" content="releases"><meta itemprop=name content="Telemetry"><meta itemprop=description content="Metrics Metrics are published using Micrometer; t [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="957"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics# Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><meta itemprop=wordCount content="957"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Telemetry"><meta name=twitter:description content="Metrics Metrics are published using Micrometer; they are available from Polaris’s management interface [...]
Metrics can be scraped by Prometheus or any compatible metrics scraping server. See: Prometheus for more information.
-Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
+Additional tags can be added to the metrics by setting the polaris.metrics.tags.* property. Each tag is a key-value pair, where the key is the tag name and the value is the tag value."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512- [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,7 +133,7 @@ Additional tags can be added to the metrics by setting the polaris.metrics.tags.
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
(port 8282 by default) under the path <code>/q/metrics</code>. For example, if the server is running on
localhost, the metrics can be accessed via http://localhost:8282/q/metrics.</p><p>Metrics can be scraped by Prometheus or any compatible metrics scraping server. See:
<a href=https://prometheus.io>Prometheus</a> for more information.</p><p>Additional tags can be added to the metrics by setting the <code>polaris.metrics.tags.*</code> property. Each
@@ -143,7 +143,7 @@ tags can be added, such as below:</p><div class=highlight><pre tabindex=0 style=
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.environment</span><span style=color:#f92672>=</span><span style=color:#e6db74>prod</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.tags.region</span><span style=color:#f92672>=</span><span style=color:#e6db74>us-west-2</span>
</span></span></code></pre></div><p>Note that by default Polaris adds one tag: <code>application=Polaris</code>. You can override this tag by
-setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag id=realm-id-tag>Realm ID Tag<a class=heading-anchor href=#realm-id-tag aria-label=Anchor>#</a></h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
+setting the <code>polaris.metrics.tags.application=<new-value></code> property.</p><h3 id=realm-id-tag>Realm ID Tag</h3><p>Polaris can add the realm ID as a tag to all API and HTTP request metrics. This is disabled by
default to prevent high cardinality issues, but can be enabled by setting the following properties:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-api-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.metrics.realm-id-tag.enable-in-http-metrics</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>You should be particularly careful when enabling the realm ID tag in HTTP request metrics, as these
@@ -151,7 +151,7 @@ metrics typically have a much higher cardinality than API request metrics.</p><p
crashing the server, the number of unique realm IDs in HTTP request metrics is limited to 100 by
default. If the number of unique realm IDs exceeds this value, a warning will be logged and no more
HTTP request metrics will be recorded. This threshold can be changed by setting the
-<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces id=traces>Traces<a class=heading-anchor href=#traces aria-label=Anchor>#</a></h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
+<code>polaris.metrics.realm-id-tag.http-metrics-max-cardinality</code> property.</p><h2 id=traces>Traces</h2><p>Traces are published using <a href=https://quarkus.io/guides/opentelemetry-tracing>OpenTelemetry</a>.</p><p>By default OpenTelemetry is disabled in Polaris, because there is no reasonable default
for the collector endpoint for all cases.</p><p>To enable OpenTelemetry and publish traces for Polaris set <code>quarkus.otel.sdk.disabled=false</code>
and configure a valid collector endpoint URL with <code>http://</code> or <code>https://</code> as the server property
<code>quarkus.otel.exporter.otlp.traces.endpoint</code>.</p><p><em>If these properties are not set, the server will not publish traces.</em></p><p>The collector must talk the OpenTelemetry protocol (OTLP) and the port must be its gRPC port
@@ -164,10 +164,10 @@ an attribute <code>deployment.environment=dev</code>, set the following property
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.otel.resource.attributes[1]</span><span style=color:#f92672>=</span><span style=color:#e6db74>deployment.environment=dev</span>
</span></span></code></pre></div><p>Finally, two additional span attributes are added to all request parent spans:</p><ul><li><code>polaris.request.id</code>: The unique identifier of the request, if set by the caller through the
<code>Polaris-Request-Id</code> header.</li><li><code>polaris.realm</code>: The unique identifier of the realm. Always set (unless the request failed because
-of a realm resolution error).</li></ul><h3 id=troubleshooting-traces id=troubleshooting-traces>Troubleshooting Traces<a class=heading-anchor href=#troubleshooting-traces aria-label=Anchor>#</a></h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
+of a realm resolution error).</li></ul><h3 id=troubleshooting-traces>Troubleshooting Traces</h3><p>If the server is unable to publish traces, check first for a log warning message like the following:</p><pre tabindex=0><code>SEVERE [io.ope.exp.int.grp.OkHttpGrpcExporter] (OkHttp http://localhost:4317/...) Failed to export spans.
The request could not be executed. Full error message: Failed to connect to localhost/0:0:0:0:0:0:0:1:4317
</code></pre><p>This means that the server is unable to connect to the collector. Check that the collector is
-running and that the URL is correct.</p><h2 id=logging id=logging>Logging<a class=heading-anchor href=#logging aria-label=Anchor>#</a></h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
+running and that the URL is correct.</p><h2 id=logging>Logging</h2><p>Polaris relies on <a href=https://quarkus.io/guides/logging>Quarkus</a> for logging.</p><p>By default, logs are written to the console and to a file located in the <code>./logs</code> directory. The log
file is rotated daily and compressed. The maximum size of the log file is 10MB, and the maximum
number of backup files is 14.</p><p>JSON logging can be enabled by setting the <code>quarkus.log.console.json</code> and <code>quarkus.log.file.json</code>
properties to <code>true</code>. By default, JSON logging is disabled.</p><p>The log level can be set for the entire application or for specific packages. The default log level
@@ -178,7 +178,7 @@ This can be done by setting the following property:</p><div class=highlight><pre
</span></span></code></pre></div><p>The log message format for both console and file output is highly configurable. The default format
is:</p><pre tabindex=0><code>%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{requestId},%X{realmId}] [%X{traceId},%X{parentId},%X{spanId},%X{sampled}] (%t) %s%e%n
</code></pre><p>Refer to the <a href=https://quarkus.io/guides/logging#logging-format>Logging format</a> guide for more
-information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging id=mdc-logging>MDC Logging<a class=heading-anchor href=#mdc-logging aria-label=Anchor>#</a></h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
+information on placeholders and how to customize the log message format.</p><h3 id=mdc-logging>MDC Logging</h3><p>Polaris uses Mapped Diagnostic Context (MDC) to enrich log messages with additional context. The
following MDC keys are available:</p><ul><li><code>requestId</code>: The unique identifier of the request, if set by the caller through the
<code>Polaris-Request-Id</code> header.</li><li><code>realmId</code>: The unique identifier of the realm. Always set.</li><li><code>traceId</code>: The unique identifier of the trace. Present if tracing is enabled and the message is
originating from a traced context.</li><li><code>parentId</code>: The unique identifier of the parent span. Present if tracing is enabled and the
diff --git a/releases/1.1.0/access-control/index.html b/releases/1.1.0/access-control/index.html
index 3c7effa39..b0debc4c6 100644
--- a/releases/1.1.0/access-control/index.html
+++ b/releases/1.1.0/access-control/index.html
@@ -2,16 +2,16 @@
<meta name=description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:title" content="Access Control"><meta property="og:description" content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (I [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/access-control/"><meta property="article:section" content="releases"><meta itemprop=name content="Access Control"><meta itemprop=description content="This section provides information about how access control works for Apache Polaris (In [...]
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1152"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><meta itemprop=wordCount content="1152"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Access Control"><meta name=twitter:description content="This section provides information about how access control works for Apache Polaris (Incubating).
Polaris uses a role-based access control (RBAC) model in which the Polaris administrator assigns access privileges to catalog roles and then grants access to resources to principals by assigning catalog roles to principal roles.
These are the key concepts to understanding access control in Polaris:
-Securable object Principal role Catalog role Privilege Securable object# A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
+Securable object Principal role Catalog role Privilege Securable object A securable object is an object to which access can be granted."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -138,19 +138,19 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-and then grants access to resources to principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object id=securable-object>Securable object<a class=heading-anchor href=#securable-object aria-label=Anchor>#</a></h2><p>A securable o [...]
-has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li><li>Policy</li></ul><h2 id=principal-role id=principal-role>Principal role<a class=heading-anchor href=#principal-role aria-label=Anchor>#</a></h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris principals together and grant privileges on
+and then grants access to resources to principals by assigning catalog roles to principal roles.</p><p>These are the key concepts to understanding access control in Polaris:</p><ul><li><strong>Securable object</strong></li><li><strong>Principal role</strong></li><li><strong>Catalog role</strong></li><li><strong>Privilege</strong></li></ul><h2 id=securable-object>Securable object</h2><p>A securable object is an object to which access can be granted. Polaris
+has the following securable objects:</p><ul><li>Catalog</li><li>Namespace</li><li>Iceberg table</li><li>View</li><li>Policy</li></ul><h2 id=principal-role>Principal role</h2><p>A principal role is a resource in Polaris that you can use to logically group Polaris principals together and grant privileges on
securable objects.</p><p>Polaris supports a many-to-many relationship between principals and principal roles. For example, to grant the same privileges to
multiple principals, you can assign a single principal role to those principals. Likewise, a principal can be granted
multiple principal roles.</p><p>You don’t grant privileges directly to a principal role. Instead, you configure object permissions at the catalog role level, and then grant
-catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple principals for running data science or AI jobs.</td></tr></tbody></table><h2 id=catal [...]
+catalog roles to a principal role.</p><p>The following table shows examples of principal roles that you might configure in Polaris:</p><table><thead><tr><th>Principal role name</th><th>Description</th></tr></thead><tbody><tr><td>Data_engineer</td><td>A role that is granted to multiple principals for running data engineering jobs.</td></tr><tr><td>Data_scientist</td><td>A role that is granted to multiple principals for running data science or AI jobs.</td></tr></tbody></table><h2 id=catal [...]
in the catalog, such as catalog namespaces or tables. You can create one or more catalog roles for a catalog.</p><p>You grant privileges to a catalog role and then grant the catalog role to a principal role to bestow the privileges to one or more principals.</p><p>Polaris also supports a many-to-many relationship between catalog roles and principal roles. You can grant the same catalog role to one or more
principal roles. Likewise, a principal role can be granted to one or more catalog roles.</p><p>The following table displays examples of catalog roles that you might
-configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
+configure in Polaris:</p><table><thead><tr><th>Example Catalog role</th><th>Description</th></tr></thead><tbody><tr><td>Catalog administrators</td><td>A role that has been granted multiple privileges to emulate full access to the catalog.<br>Principal roles that have been granted this role are permitted to create, alter, read, write, and drop tables in the catalog.</td></tr><tr><td>Catalog readers</td><td>A role that has been granted read-only privileges to tables in the catalog.<br>Prin [...]
privileges to catalog roles and then grants principals access to resources by assigning catalog roles to principal roles. Polaris
-supports a many-to-many relationship between principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges id=access-control-privileges>Access control privileges<a class=heading-anchor href=#access-control-privileges aria-label=Anchor>#</a></h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are [...]
+supports a many-to-many relationship between principals and principal roles.</p><p><img src=/img/rbac-model.svg alt="Diagram that shows the RBAC model for Apache Polaris." title="Apache Polaris RBAC model"></p><h2 id=access-control-privileges>Access control privileges</h2><p>This section describes the privileges that are available in the Polaris access control model. Privileges are granted to catalog roles, catalog
roles are granted to principal roles, and principal roles are granted to principals to specify the operations that principals can
-perform on objects in Polaris.</p><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges id=table-privileges>Table privileges<a class=heading-anchor href=#table-privileges aria-label=Anchor>#</a></h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td> [...]
+perform on objects in Polaris.</p><p>To grant the full set of privileges (drop, list, read, write, etc.) on an object, you can use the <em>full privilege</em> option.</p><h3 id=table-privileges>Table privileges</h3><table><thead><tr><th>Privilege</th><th>Description</th></tr></thead><tbody><tr><td>TABLE_CREATE</td><td>Enables registering a table with the catalog.</td></tr><tr><td>TABLE_DROP</td><td>Enables dropping a table from the catalog.</td></tr><tr><td>TABLE_LIST</td><td>Enables lis [...]
includes the following users:</p><ul><li><p><strong>Alice:</strong> A service admin who signs up for Polaris. Alice can
create principals. She can also create catalogs and
namespaces and configure access control for Polaris resources.</p></li><li><p><strong>Bob:</strong> A data engineer who uses Apache Spark™ to
diff --git a/releases/1.1.0/admin-tool/index.html b/releases/1.1.0/admin-tool/index.html
index 1d00d8dd0..d0bfdc2fe 100644
--- a/releases/1.1.0/admin-tool/index.html
+++ b/releases/1.1.0/admin-tool/index.html
@@ -2,16 +2,16 @@
<meta name=description content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:&lt;version&gt; Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:title" content="Admin Tool"><meta property="og:description" content="Polaris includes a tool for administrators to manage the metastore.
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/admin-tool/"><meta property="article:section" content="releases"><meta itemprop=name content="Admin Tool"><meta [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/admin-tool/"><meta property="article:section" content="releases"><meta itemprop=name content="Admin Tool"><meta [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="516"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><meta name=twitter:description content="Polaris includes a tool for ad [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><meta itemprop=wordCount content="516"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Admin Tool"><meta name=twitter:description content="Polaris includes a tool for adm [...]
The tool must be built with the necessary JDBC drivers to access the metastore database. For example, to build the tool with support for Postgres, run the following:
./gradlew \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true The above command will generate:
-One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage# Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet int [...]
+One Fast-JAR in runtime/admin/build/quarkus-app/quarkus-run.jar Two Docker images named apache/polaris-admin-tool:latest and apache/polaris-admin-tool:<version> Usage Please make sure the admin tool and Polaris server are with the same version before using it."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet inte [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -142,7 +142,7 @@ example, to build the tool with support for Postgres, run the following:</p><div
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One Fast-JAR in <code>runtime/admin/build/quarkus-app/quarkus-run.jar</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>#</a></h2><p>Please make sure the admin tool and Polaris server are with the same version before using it.
+</span></span></code></pre></div><p>The above command will generate:</p><ul><li>One Fast-JAR in <code>runtime/admin/build/quarkus-app/quarkus-run.jar</code></li><li>Two Docker images named <code>apache/polaris-admin-tool:latest</code> and <code>apache/polaris-admin-tool:<version></code></li></ul><h2 id=usage>Usage</h2><p>Please make sure the admin tool and Polaris server are with the same version before using it.
To run the standalone JAR, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar --help
</span></span></code></pre></div><p>To run the Docker image, use the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run apache/polaris-admin-tool:latest --help
</span></span></code></pre></div><p>The basic usage of the Polaris Admin Tool is outlined below:</p><pre tabindex=0><code>Usage: polaris-admin-runner.jar [-hV] [COMMAND]
@@ -153,10 +153,10 @@ Commands:
help Display help information about the specified command.
bootstrap Bootstraps realms and principal credentials.
purge Purge principal credentials.
-</code></pre><h2 id=configuration id=configuration>Configuration<a class=heading-anchor href=#configuration aria-label=Anchor>#</a></h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
+</code></pre><h2 id=configuration>Configuration</h2><p>The Polaris Admin Tool must be executed with the same configuration as the Polaris server. The
configuration can be done via environment variables or system properties.</p><p>At a minimum, it is necessary to configure the Polaris Admin Tool to connect to the same database
used by the Polaris server.</p><p>See the <a href=https://polaris.apache.org/releases/1.1.0/metastores/>metastore documentation</a> for more information on configuring the
-database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials<a class=heading-anchor href=#bootstrapping-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary [...]
+database connection.</p><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h2 id=bootstrapping-realms-and-principal-credentials>Bootstrapping Realms and Principal Credentials</h2><p>The <code>bootstrap</code> command is used to bootstrap realms and create the necessary principal credentials
for the Polaris server. This command is idempotent and can be run multiple times without causing any
issues. If a realm is already bootstrapped, running the <code>bootstrap</code> command again will not have any
effect on that realm.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar bootstrap --help
@@ -171,7 +171,7 @@ Bootstraps realms and root principal credentials.
-V, --version Print version information and exit.
</code></pre><p>For example, to bootstrap the <code>realm1</code> realm and create its root principal credential with the
client ID <code>admin</code> and client secret <code>admin</code>, you can run the following command:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar bootstrap -r realm1 -c realm1,admin,admin
-</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials<a class=heading-anchor href=#purging-realms-and-principal-credentials aria-label=Anchor>#</a></h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>[!WARNING]
+</span></span></code></pre></div><h2 id=purging-realms-and-principal-credentials>Purging Realms and Principal Credentials</h2><p>The <code>purge</code> command is used to remove realms and principal credentials from the Polaris server.</p><blockquote><p>[!WARNING]
Running the <code>purge</code> command will remove all data associated with the specified realms!
This includes all entities (catalogs, namespaces, tables, views, roles), all principal
credentials, grants, and any other data associated with the realms.</p></blockquote><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>java -jar runtime/admin/build/quarkus-app/quarkus-run.jar purge --help
diff --git a/releases/1.1.0/command-line-interface/index.html b/releases/1.1.0/command-line-interface/index.html
index 560d52b5a..7c81d6524 100644
--- a/releases/1.1.0/command-line-interface/index.html
+++ b/releases/1.1.0/command-line-interface/index.html
@@ -11,7 +11,7 @@ polaris [options] COMMAND ... options: --host --port --base-url --client-id --cl
catalogs principals principal-roles catalog-roles namespaces privileges profiles repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><meta itemprop=wordCount content="4050"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Command Line Interface"><meta name=twitter:description content="In order to help administrators quickly set up and manage their Polaris se [...]
The basic syntax of the Polaris CLI is outlined below:
polaris [options] COMMAND ... options: --host --port --base-url --client-id --client-secret --access-token --profile COMMAND must be one of the following:
-catalogs principals principal-roles catalog-roles namespaces privileges profiles repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954. [...]
+catalogs principals principal-roles catalog-roles namespaces privileges profiles repair Each command supports several subcommands, and some subcommands have actions that come after the subcommand in turn."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954. [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -154,13 +154,13 @@ polaris catalogs update another_catalog --property k=v
polaris privileges namespace grant --namespace some.schema --catalog fourth_catalog --catalog-role some_catalog_role TABLE_READ_DATA
polaris profiles list
polaris repair
-</code></pre><h3 id=authentication id=authentication>Authentication<a class=heading-anchor href=#authentication aria-label=Anchor>#</a></h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
-</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
+</code></pre><h3 id=authentication>Authentication</h3><p>As outlined above, the Polaris CLI may take credentials using the <code>--client-id</code> and <code>--client-secret</code> options. For example:</p><pre tabindex=0><code>polaris --client-id 4b5ed1ca908c3cc2 --client-secret 07ea8e4edefb9a9e57c247e8d1a4f51c principals ...
+</code></pre><p>If <code>--client-id</code> and <code>--client-secret</code> are not provided, the Polaris CLI will try to read the client ID and client secret from environment variables called <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code> respectively. If these flags are not provided and the environment variables are not set, the CLI will fail.</p><p>Alternatively, the <code>--access-token</code> option can be used instead of <code>--client-id</code> and <code>--client-secret</c [...]
</code></pre><p>Alternatively, you can run the CLI by providing a path to it, such as with the following invocation:</p><pre tabindex=0><code>~/polaris principals list
-</code></pre><h2 id=commands id=commands>Commands<a class=heading-anchor href=#commands aria-label=Anchor>#</a></h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be conf [...]
+</code></pre><h2 id=commands>Commands</h2><p>Each of the commands <code>catalogs</code>, <code>principals</code>, <code>principal-roles</code>, <code>catalog-roles</code>, and <code>privileges</code> is used to manage a different type of entity within Polaris.</p><p>In addition to these, the <code>profiles</code> command is available for managing stored authentication profiles, allowing login credentials to be configured for reuse. This provides an alternative to passing authentication d [...]
polaris principals create --help
polaris profiles --help
-</code></pre><h3 id=catalogs id=catalogs>catalogs<a class=heading-anchor href=#catalogs aria-label=Anchor>#</a></h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create id=create>create<a class=heading-anchor href=#create aria-label=Anchor>#</a></h4><p>The <code>create</co [...]
+</code></pre><h3 id=catalogs>catalogs</h3><p>The <code>catalogs</code> command is used to create, discover, and otherwise manage catalogs within Polaris.</p><p><code>catalogs</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create>create</h4><p>The <code>create</code> subcommand is used to create a catalog.</p><pre tabindex=0><code>input: polaris catalogs create --help
options:
create
Named arguments:
@@ -195,7 +195,7 @@ options:
--catalog-signing-name (For authentication type SIGV4) The service name to be used by the SigV4 protocol for signing requests, the default signing name is "execute-api" is if not provided
Positional arguments:
catalog
-</code></pre><h5 id=examples id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs create \
+</code></pre><h5 id=examples>Examples</h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -213,29 +213,29 @@ polaris catalogs create \
--storage-type file \
--default-base-location file:///example/tmp \
quickstart_catalog
-</code></pre><h4 id=delete id=delete>delete<a class=heading-anchor href=#delete aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
+</code></pre><h4 id=delete>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog.</p><pre tabindex=0><code>input: polaris catalogs delete --help
options:
delete
Positional arguments:
catalog
-</code></pre><h5 id=examples-1 id=examples-1>Examples<a class=heading-anchor href=#examples-1 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs delete some_catalog
-</code></pre><h4 id=get id=get>get<a class=heading-anchor href=#get aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
+</code></pre><h5 id=examples-1>Examples</h5><pre tabindex=0><code>polaris catalogs delete some_catalog
+</code></pre><h4 id=get>get</h4><p>The <code>get</code> subcommand is used to retrieve details about a catalog.</p><pre tabindex=0><code>input: polaris catalogs get --help
options:
get
Positional arguments:
catalog
-</code></pre><h5 id=examples-2 id=examples-2>Examples<a class=heading-anchor href=#examples-2 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs get some_catalog
+</code></pre><h5 id=examples-2>Examples</h5><pre tabindex=0><code>polaris catalogs get some_catalog
polaris catalogs get another_catalog
-</code></pre><h4 id=list id=list>list<a class=heading-anchor href=#list aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
+</code></pre><h4 id=list>list</h4><p>The <code>list</code> subcommand is used to show details about all catalogs, or those that a certain principal role has access to. The principal used to perform this operation must have the <code>CATALOG_LIST</code> privilege.</p><pre tabindex=0><code>input: polaris catalogs list --help
options:
list
Named arguments:
--principal-role The name of a principal role
-</code></pre><h5 id=examples-3 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs list
+</code></pre><h5 id=examples-3>Examples</h5><pre tabindex=0><code>polaris catalogs list
polaris catalogs list --principal-role some_user
-</code></pre><h4 id=update id=update>update<a class=heading-anchor href=#update aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
+</code></pre><h4 id=update>update</h4><p>The <code>update</code> subcommand is used to update a catalog. Currently, this command supports changing the properties of a catalog or updating its storage configuration.</p><pre tabindex=0><code>input: polaris catalogs update --help
options:
update
Named arguments:
@@ -246,10 +246,10 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog
-</code></pre><h5 id=examples-4 id=examples-4>Examples<a class=heading-anchor href=#examples-4 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
+</code></pre><h5 id=examples-4>Examples</h5><pre tabindex=0><code>polaris catalogs update --property tag=new_value my_catalog
polaris catalogs update --default-base-location s3://new-bucket/my_data my_catalog
-</code></pre><h3 id=principals id=principals>Principals<a class=heading-anchor href=#principals aria-label=Anchor>#</a></h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1 id=create-1>create<a class=heading-anchor href=#create-1 aria-label=Anchor>#</ [...]
+</code></pre><h3 id=principals>Principals</h3><p>The <code>principals</code> command is used to manage principals within Polaris.</p><p><code>principals</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>rotate-credentials</li><li>update</li><li>access</li></ol><h4 id=create-1>create</h4><p>The <code>create</code> subcommand is used to create a new principal.</p><pre tabindex=0><code>input: polaris principals create --help
options:
create
Named arguments:
@@ -257,35 +257,35 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-5 id=examples-5>Examples<a class=heading-anchor href=#examples-5 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals create some_user
+</code></pre><h5 id=examples-5>Examples</h5><pre tabindex=0><code>polaris principals create some_user
polaris principals create --client-id ${CLIENT_ID} --property admin=true some_admin_user
-</code></pre><h4 id=delete-1 id=delete-1>delete<a class=heading-anchor href=#delete-1 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
+</code></pre><h4 id=delete-1>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal.</p><pre tabindex=0><code>input: polaris principals delete --help
options:
delete
Positional arguments:
principal
-</code></pre><h5 id=examples-6 id=examples-6>Examples<a class=heading-anchor href=#examples-6 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals delete some_user
+</code></pre><h5 id=examples-6>Examples</h5><pre tabindex=0><code>polaris principals delete some_user
polaris principals delete some_admin_user
-</code></pre><h4 id=get-1 id=get-1>get<a class=heading-anchor href=#get-1 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
+</code></pre><h4 id=get-1>get</h4><p>The <code>get</code> subcommand retrieves details about a principal.</p><pre tabindex=0><code>input: polaris principals get --help
options:
get
Positional arguments:
principal
-</code></pre><h5 id=examples-7 id=examples-7>Examples<a class=heading-anchor href=#examples-7 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals get some_user
+</code></pre><h5 id=examples-7>Examples</h5><pre tabindex=0><code>polaris principals get some_user
polaris principals get some_admin_user
-</code></pre><h4 id=list-1 id=list-1>list<a class=heading-anchor href=#list-1 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8 id=examples-8>Examples<a class=heading-anchor href=#examples-8 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals list
-</code></pre><h4 id=rotate-credentials id=rotate-credentials>rotate-credentials<a class=heading-anchor href=#rotate-credentials aria-label=Anchor>#</a></h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
+</code></pre><h4 id=list-1>list</h4><p>The <code>list</code> subcommand shows details about all principals.</p><h5 id=examples-8>Examples</h5><pre tabindex=0><code>polaris principals list
+</code></pre><h4 id=rotate-credentials>rotate-credentials</h4><p>The <code>rotate-credentials</code> subcommand is used to update the credentials used by a principal. After this command runs successfully, the new credentials will be printed to stdout.</p><pre tabindex=0><code>input: polaris principals rotate-credentials --help
options:
rotate-credentials
Positional arguments:
principal
-</code></pre><h5 id=examples-9 id=examples-9>Examples<a class=heading-anchor href=#examples-9 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
+</code></pre><h5 id=examples-9>Examples</h5><pre tabindex=0><code>polaris principals rotate-credentials some_user
polaris principals rotate-credentials some_admin_user
-</code></pre><h4 id=update-1 id=update-1>update<a class=heading-anchor href=#update-1 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
+</code></pre><h4 id=update-1>update</h4><p>The <code>update</code> subcommand is used to update a principal. Currently, this supports rewriting the properties associated with a principal.</p><pre tabindex=0><code>input: polaris principals update --help
options:
update
Named arguments:
@@ -293,53 +293,53 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
principal
-</code></pre><h5 id=examples-10 id=examples-10>Examples<a class=heading-anchor href=#examples-10 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
+</code></pre><h5 id=examples-10>Examples</h5><pre tabindex=0><code>polaris principals update --property key=value --property other_key=other_value some_user
polaris principals update --property are_other_keys_removed=yes some_user
-</code></pre><h4 id=access id=access>access<a class=heading-anchor href=#access aria-label=Anchor>#</a></h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
+</code></pre><h4 id=access>access</h4><p>The <code>access</code> subcommand retrieves entities relation about a principal.</p><pre tabindex=0><code>input: polaris principals access --help
options:
access
Positional arguments:
principal
-</code></pre><h5 id=examples-11 id=examples-11>Examples<a class=heading-anchor href=#examples-11 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principals access quickstart_user
-</code></pre><h3 id=principal-roles id=principal-roles>Principal Roles<a class=heading-anchor href=#principal-roles aria-label=Anchor>#</a></h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</ [...]
+</code></pre><h5 id=examples-11>Examples</h5><pre tabindex=0><code>polaris principals access quickstart_user
+</code></pre><h3 id=principal-roles>Principal Roles</h3><p>The <code>principal-roles</code> command is used to create, discover, and manage principal roles within Polaris. Additionally, this command can identify principals or catalog roles associated with a principal role, and can be used to grant a principal role to a principal.</p><p><code>principal-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</l [...]
options:
create
Named arguments:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-12 id=examples-12>Examples<a class=heading-anchor href=#examples-12 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles create data_engineer
+</code></pre><h5 id=examples-12>Examples</h5><pre tabindex=0><code>polaris principal-roles create data_engineer
polaris principal-roles create --property key=value data_analyst
-</code></pre><h4 id=delete-2 id=delete-2>delete<a class=heading-anchor href=#delete-2 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
+</code></pre><h4 id=delete-2>delete</h4><p>The <code>delete</code> subcommand is used to delete a principal role.</p><pre tabindex=0><code>input: polaris principal-roles delete --help
options:
delete
Positional arguments:
principal_role
-</code></pre><h5 id=examples-13 id=examples-13>Examples<a class=heading-anchor href=#examples-13 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
+</code></pre><h5 id=examples-13>Examples</h5><pre tabindex=0><code>polaris principal-roles delete data_engineer
polaris principal-roles delete data_analyst
-</code></pre><h4 id=get-2 id=get-2>get<a class=heading-anchor href=#get-2 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
+</code></pre><h4 id=get-2>get</h4><p>The <code>get</code> subcommand retrieves details about a principal role.</p><pre tabindex=0><code>input: polaris principal-roles get --help
options:
get
Positional arguments:
principal_role
-</code></pre><h5 id=examples-14 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles get data_engineer
+</code></pre><h5 id=examples-14>Examples</h5><pre tabindex=0><code>polaris principal-roles get data_engineer
polaris principal-roles get data_analyst
-</code></pre><h4 id=list-2 id=list-2>list<a class=heading-anchor href=#list-2 aria-label=Anchor>#</a></h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
+</code></pre><h4 id=list-2>list</h4><p>The list subcommand is used to print out all principal roles or, alternatively, to list all principal roles associated with a given principal or with a given catalog role.</p><pre tabindex=0><code>input: polaris principal-roles list --help
options:
list
Named arguments:
--catalog-role The name of a catalog role. If provided, show only principal roles assigned to this catalog role.
--principal The name of a principal. If provided, show only principal roles assigned to this principal.
-</code></pre><h5 id=examples-15 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles list
+</code></pre><h5 id=examples-15>Examples</h5><pre tabindex=0><code>polaris principal-roles list
polaris principal-roles --principal d.knuth
polaris principal-roles --catalog-role super_secret_data
-</code></pre><h4 id=update-2 id=update-2>update<a class=heading-anchor href=#update-2 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
+</code></pre><h4 id=update-2>update</h4><p>The <code>update</code> subcommand is used to update a principal role. Currently, this supports updating the properties tied to a principal role.</p><pre tabindex=0><code>input: polaris principal-roles update --help
options:
update
Named arguments:
@@ -347,30 +347,30 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
principal_role
-</code></pre><h5 id=examples-16 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
+</code></pre><h5 id=examples-16>Examples</h5><pre tabindex=0><code>polaris principal-roles update --property key=value2 data_engineer
polaris principal-roles update data_analyst --property key=value3
-</code></pre><h4 id=grant id=grant>grant<a class=heading-anchor href=#grant aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
+</code></pre><h4 id=grant>grant</h4><p>The <code>grant</code> subcommand is used to grant a principal role to a principal.</p><pre tabindex=0><code>input: polaris principal-roles grant --help
options:
grant
Named arguments:
--principal A principal to grant this principal role to
Positional arguments:
principal_role
-</code></pre><h5 id=examples-17 id=examples-17>Examples<a class=heading-anchor href=#examples-17 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
+</code></pre><h5 id=examples-17>Examples</h5><pre tabindex=0><code>polaris principal-roles grant --principal d.knuth data_engineer
polaris principal-roles grant data_scientist --principal a.ng
-</code></pre><h4 id=revoke id=revoke>revoke<a class=heading-anchor href=#revoke aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
+</code></pre><h4 id=revoke>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a principal role from a principal.</p><pre tabindex=0><code>input: polaris principal-roles revoke --help
options:
revoke
Named arguments:
--principal A principal to revoke this principal role from
Positional arguments:
principal_role
-</code></pre><h5 id=examples-18 id=examples-18>Examples<a class=heading-anchor href=#examples-18 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
+</code></pre><h5 id=examples-18>Examples</h5><pre tabindex=0><code>polaris principal-roles revoke --principal former.employee data_engineer
polaris principal-roles revoke data_scientist --principal changed.role
-</code></pre><h3 id=catalog-roles id=catalog-roles>Catalog Roles<a class=heading-anchor href=#catalog-roles aria-label=Anchor>#</a></h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</l [...]
+</code></pre><h3 id=catalog-roles>Catalog Roles</h3><p>The catalog-roles command is used to create, discover, and manage catalog roles within Polaris. Additionally, this command can be used to grant a catalog role to a principal role.</p><p><code>catalog-roles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li><li>grant</li><li>revoke</li></ol><h4 id=create-3>create</h4><p>The <code>create</code> subcommand is used to c [...]
options:
create
Named arguments:
@@ -378,40 +378,40 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-19 id=examples-19>Examples<a class=heading-anchor href=#examples-19 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
+</code></pre><h5 id=examples-19>Examples</h5><pre tabindex=0><code>polaris catalog-roles create --property key=value --catalog some_catalog sales_data
polaris catalog-roles create --catalog other_catalog sales_data
-</code></pre><h4 id=delete-3 id=delete-3>delete<a class=heading-anchor href=#delete-3 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
+</code></pre><h4 id=delete-3>delete</h4><p>The <code>delete</code> subcommand is used to delete a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-20 id=examples-20>Examples<a class=heading-anchor href=#examples-20 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
+</code></pre><h5 id=examples-20>Examples</h5><pre tabindex=0><code>polaris catalog-roles delete --catalog some_catalog sales_data
polaris catalog-roles delete --catalog other_catalog sales_data
-</code></pre><h4 id=get-3 id=get-3>get<a class=heading-anchor href=#get-3 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
+</code></pre><h4 id=get-3>get</h4><p>The <code>get</code> subcommand retrieves details about a catalog role.</p><pre tabindex=0><code>input: polaris catalog-roles get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-21 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
+</code></pre><h5 id=examples-21>Examples</h5><pre tabindex=0><code>polaris catalog-roles get --catalog some_catalog inventory_data
polaris catalog-roles get --catalog other_catalog inventory_data
-</code></pre><h4 id=list-3 id=list-3>list<a class=heading-anchor href=#list-3 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
+</code></pre><h4 id=list-3>list</h4><p>The <code>list</code> subcommand is used to print all catalog roles. Alternatively, if a principal role is provided, only catalog roles associated with that principal are shown.</p><pre tabindex=0><code>input: polaris catalog-roles list --help
options:
list
Named arguments:
--principal-role The name of a principal role
Positional arguments:
catalog
-</code></pre><h5 id=examples-22 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles list
+</code></pre><h5 id=examples-22>Examples</h5><pre tabindex=0><code>polaris catalog-roles list
polaris catalog-roles list --principal-role data_engineer
-</code></pre><h4 id=update-3 id=update-3>update<a class=heading-anchor href=#update-3 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
+</code></pre><h4 id=update-3>update</h4><p>The <code>update</code> subcommand is used to update a catalog role. Currently, only updating properties associated with the catalog role is supported.</p><pre tabindex=0><code>input: polaris catalog-roles update --help
options:
update
Named arguments:
@@ -420,10 +420,10 @@ options:
--remove-property A key to remove from a properties map. If the key already does not exist then no action is takn for the specified key. If properties are also being set in the same update command then the list of removals is applied last. Multiple can be provided by specifying this option more than once
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-23 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
+</code></pre><h5 id=examples-23>Examples</h5><pre tabindex=0><code>polaris catalog-roles update --property contains_pii=true --catalog some_catalog sales_data
polaris catalog-roles update sales_data --catalog some_catalog --property key=value
-</code></pre><h4 id=grant-1 id=grant-1>grant<a class=heading-anchor href=#grant-1 aria-label=Anchor>#</a></h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
+</code></pre><h4 id=grant-1>grant</h4><p>The <code>grant</code> subcommand is used to grant a catalog role to a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles grant --help
options:
grant
Named arguments:
@@ -431,10 +431,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-24 id=examples-24>Examples<a class=heading-anchor href=#examples-24 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-24>Examples</h5><pre tabindex=0><code>polaris catalog-roles grant sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles grant --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h4 id=revoke-1 id=revoke-1>revoke<a class=heading-anchor href=#revoke-1 aria-label=Anchor>#</a></h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
+</code></pre><h4 id=revoke-1>revoke</h4><p>The <code>revoke</code> subcommand is used to revoke a catalog role from a principal role.</p><pre tabindex=0><code>input: polaris catalog-roles revoke --help
options:
revoke
Named arguments:
@@ -442,10 +442,10 @@ options:
--principal-role The name of a catalog role
Positional arguments:
catalog_role
-</code></pre><h5 id=examples-25 id=examples-25>Examples<a class=heading-anchor href=#examples-25 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
+</code></pre><h5 id=examples-25>Examples</h5><pre tabindex=0><code>polaris catalog-roles revoke sensitive_data --catalog some_catalog --principal-role power_user
polaris catalog-roles revoke --catalog sales_data contains_cc_info_catalog_role --principal-role financial_analyst_role
-</code></pre><h3 id=namespaces id=namespaces>Namespaces<a class=heading-anchor href=#namespaces aria-label=Anchor>#</a></h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4 id=create-4>create<a class=heading-anchor href=#create-4 aria-label=Anchor>#</a></h4><p>The <code>create</code> subcommand is used to c [...]
+</code></pre><h3 id=namespaces>Namespaces</h3><p>The <code>namespaces</code> command is used to manage namespaces within Polaris.</p><p><code>namespaces</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li></ol><h4 id=create-4>create</h4><p>The <code>create</code> subcommand is used to create a new namespace.</p><p>When creating a namespace with an explicit location, that location must reside within the parent catalog or namespace.</p>< [...]
options:
create
Named arguments:
@@ -454,50 +454,50 @@ options:
--property A key/value pair such as: tag=value. Multiple can be provided by specifying this option more than once
Positional arguments:
namespace
-</code></pre><h5 id=examples-26 id=examples-26>Examples<a class=heading-anchor href=#examples-26 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
+</code></pre><h5 id=examples-26>Examples</h5><pre tabindex=0><code>polaris namespaces create --catalog my_catalog outer
polaris namespaces create --catalog my_catalog --location 's3://bucket/outer/inner_SUFFIX' outer.inner
-</code></pre><h4 id=delete-4 id=delete-4>delete<a class=heading-anchor href=#delete-4 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
+</code></pre><h4 id=delete-4>delete</h4><p>The <code>delete</code> subcommand is used to delete a namespace.</p><pre tabindex=0><code>input: polaris namespaces delete --help
options:
delete
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-27 id=examples-27>Examples<a class=heading-anchor href=#examples-27 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
+</code></pre><h5 id=examples-27>Examples</h5><pre tabindex=0><code>polaris namespaces delete outer_namespace.inner_namespace --catalog my_catalog
polaris namespaces delete --catalog my_catalog outer_namespace
-</code></pre><h4 id=get-4 id=get-4>get<a class=heading-anchor href=#get-4 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
+</code></pre><h4 id=get-4>get</h4><p>The <code>get</code> subcommand retrieves details about a namespace.</p><pre tabindex=0><code>input: polaris namespaces get --help
options:
get
Named arguments:
--catalog The name of an existing catalog
Positional arguments:
namespace
-</code></pre><h5 id=examples-28 id=examples-28>Examples<a class=heading-anchor href=#examples-28 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
+</code></pre><h5 id=examples-28>Examples</h5><pre tabindex=0><code>polaris namespaces get --catalog some_catalog a.b
polaris namespaces get a.b.c --catalog some_catalog
-</code></pre><h4 id=list-4 id=list-4>list<a class=heading-anchor href=#list-4 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
+</code></pre><h4 id=list-4>list</h4><p>The <code>list</code> subcommand shows details about all namespaces directly within a catalog or, optionally, within some parent prefix in that catalog.</p><pre tabindex=0><code>input: polaris namespaces list --help
options:
list
Named arguments:
--catalog The name of an existing catalog
--parent If specified, list namespaces inside this parent namespace
-</code></pre><h5 id=examples-29 id=examples-29>Examples<a class=heading-anchor href=#examples-29 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
+</code></pre><h5 id=examples-29>Examples</h5><pre tabindex=0><code>polaris namespaces list --catalog my_catalog
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges id=privileges>Privileges<a class=heading-anchor href=#privileges aria-label=Anchor>#</a></h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.1.0/entities/#privilege>docs</a>.</p><p>Note that when using th [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code> command is used to grant various privileges to a catalog role, or to revoke those privileges. Privileges can be on the level of a catalog, a namespace, a table, or a view. For more information on privileges, please refer to the <a href=https://polaris.apache.org/releases/1.1.0/entities/#privilege>docs</a>.</p><p>Note that when using the <code>privileges</code> command, the user specifies the relevant catalog and [...]
options:
list
Named arguments:
--catalog The name of an existing catalog
--catalog-role The name of a catalog role
-</code></pre><h5 id=examples-30 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
+</code></pre><h5 id=examples-30>Examples</h5><pre tabindex=0><code>polaris privileges list --catalog my_catalog --catalog-role my_role
polaris privileges my_role list --catalog-role my_other_role --catalog my_catalog
-</code></pre><h4 id=catalog id=catalog>catalog<a class=heading-anchor href=#catalog aria-label=Anchor>#</a></h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
+</code></pre><h4 id=catalog>catalog</h4><p>The <code>catalog</code> subcommand manages privileges at the catalog level. <code>grant</code> is used to grant catalog privileges to the specified catalog role, and <code>revoke</code> is used to revoke them.</p><pre tabindex=0><code>input: polaris privileges catalog --help
options:
catalog
grant
@@ -513,7 +513,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-31 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-31>Examples</h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -527,7 +527,7 @@ polaris privileges \
--catalog-role catalog_role \
--cascade \
TABLE_CREATE
-</code></pre><h4 id=namespace id=namespace>namespace<a class=heading-anchor href=#namespace aria-label=Anchor>#</a></h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
+</code></pre><h4 id=namespace>namespace</h4><p>The <code>namespace</code> subcommand manages privileges at the namespace level.</p><pre tabindex=0><code>input: polaris privileges namespace --help
options:
namespace
grant
@@ -545,7 +545,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-32 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-32>Examples</h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -560,7 +560,7 @@ polaris privileges \
--catalog-role catalog_role \
--namespace a.b \
TABLE_LIST
-</code></pre><h4 id=table id=table>table<a class=heading-anchor href=#table aria-label=Anchor>#</a></h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
+</code></pre><h4 id=table>table</h4><p>The <code>table</code> subcommand manages privileges at the table level.</p><pre tabindex=0><code>input: polaris privileges table --help
options:
table
grant
@@ -580,7 +580,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-33 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-33>Examples</h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -598,7 +598,7 @@ polaris privileges \
--table t \
--cascade \
TABLE_DROP
-</code></pre><h4 id=view id=view>view<a class=heading-anchor href=#view aria-label=Anchor>#</a></h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
+</code></pre><h4 id=view>view</h4><p>The <code>view</code> subcommand manages privileges at the view level.</p><pre tabindex=0><code>input: polaris privileges view --help
options:
view
grant
@@ -618,7 +618,7 @@ options:
--catalog-role The name of a catalog role
Positional arguments:
privilege
-</code></pre><h5 id=examples-34 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris privileges \
+</code></pre><h5 id=examples-34>Examples</h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -636,35 +636,35 @@ polaris privileges \
--view v \
--cascade \
VIEW_FULL_METADATA
-</code></pre><h3 id=profiles id=profiles>profiles<a class=heading-anchor href=#profiles aria-label=Anchor>#</a></h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 i [...]
+</code></pre><h3 id=profiles>profiles</h3><p>The <code>profiles</code> command is used to manage stored authentication profiles in Polaris. Profiles allow authentication credentials to be saved and reused, eliminating the need to pass credentials with every command.</p><p><code>profiles</code> supports the following subcommands:</p><ol><li>create</li><li>delete</li><li>get</li><li>list</li><li>update</li></ol><h4 id=create-5>create</h4><p>The <code>create</code> subcommand is used to cre [...]
options:
create
Positional arguments:
profile
-</code></pre><h5 id=examples-35 id=examples-35>Examples<a class=heading-anchor href=#examples-35 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles create dev
-</code></pre><h4 id=delete-5 id=delete-5>delete<a class=heading-anchor href=#delete-5 aria-label=Anchor>#</a></h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
+</code></pre><h5 id=examples-35>Examples</h5><pre tabindex=0><code>polaris profiles create dev
+</code></pre><h4 id=delete-5>delete</h4><p>The <code>delete</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles delete --help
options:
delete
Positional arguments:
profile
-</code></pre><h5 id=examples-36 id=examples-36>Examples<a class=heading-anchor href=#examples-36 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles delete dev
-</code></pre><h4 id=get-5 id=get-5>get<a class=heading-anchor href=#get-5 aria-label=Anchor>#</a></h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
+</code></pre><h5 id=examples-36>Examples</h5><pre tabindex=0><code>polaris profiles delete dev
+</code></pre><h4 id=get-5>get</h4><p>The <code>get</code> subcommand removes a stored profile.</p><pre tabindex=0><code>input: polaris profiles get --help
options:
get
Positional arguments:
profile
-</code></pre><h5 id=examples-37 id=examples-37>Examples<a class=heading-anchor href=#examples-37 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles get dev
-</code></pre><h4 id=list-6 id=list-6>list<a class=heading-anchor href=#list-6 aria-label=Anchor>#</a></h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
+</code></pre><h5 id=examples-37>Examples</h5><pre tabindex=0><code>polaris profiles get dev
+</code></pre><h4 id=list-6>list</h4><p>The <code>list</code> subcommand displays all stored profiles.</p><pre tabindex=0><code>input: polaris profiles list --help
options:
list
-</code></pre><h5 id=examples-38 id=examples-38>Examples<a class=heading-anchor href=#examples-38 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles list
-</code></pre><h4 id=update-4 id=update-4>update<a class=heading-anchor href=#update-4 aria-label=Anchor>#</a></h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
+</code></pre><h5 id=examples-38>Examples</h5><pre tabindex=0><code>polaris profiles list
+</code></pre><h4 id=update-4>update</h4><p>The <code>update</code> subcommand modifies an existing profile.</p><pre tabindex=0><code>input: polaris profiles update --help
options:
update
Positional arguments:
profile
-</code></pre><h5 id=examples-39 id=examples-39>Examples<a class=heading-anchor href=#examples-39 aria-label=Anchor>#</a></h5><pre tabindex=0><code>polaris profiles update dev
-</code></pre><h3 id=repair id=repair>repair<a class=heading-anchor href=#repair aria-label=Anchor>#</a></h3><p>The <code>repair</code> command is a bash script wrapper used to regenerate Python client code and update necessary dependencies, ensuring the Polaris client remains up-to-date and functional. <strong>Please note that this command does not support any options and its usage information is not available via a <code>--help</code> flag.</strong></p><h2 id=examples-40 id=examples-40> [...]
+</code></pre><h5 id=examples-39>Examples</h5><pre tabindex=0><code>polaris profiles update dev
+</code></pre><h3 id=repair>repair</h3><p>The <code>repair</code> command is a bash script wrapper used to regenerate Python client code and update necessary dependencies, ensuring the Polaris client remains up-to-date and functional. <strong>Please note that this command does not support any options and its usage information is not available via a <code>--help</code> flag.</strong></p><h2 id=examples-40>Examples</h2><p>This section outlines example code for a few common operations as wel [...]
polaris catalogs create \
--type internal \
@@ -674,7 +674,7 @@ polaris catalogs create \
--allowed-location s3://iceberg-bucket/polaris-alt-location-1 \
--allowed-location s3://iceberg-bucket/polaris-alt-location-2 \
my_catalog
-</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog<a class=heading-anchor href=#granting-a-principal-the-ability-to-manage-the-content-of-a-catalog aria-label=Anchor>#</a></h3><pre tabindex=0><code>polaris principal-roles create power_user
+</code></pre><h3 id=granting-a-principal-the-ability-to-manage-the-content-of-a-catalog>Granting a principal the ability to manage the content of a catalog</h3><pre tabindex=0><code>polaris principal-roles create power_user
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -689,7 +689,7 @@ polaris privileges \
--catalog-role my_catalog_role \
grant \
CATALOG_MANAGE_CONTENT
-</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read<a class=heading-anchor href=#identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read aria-label=Anchor>#</a></h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, [...]
+</code></pre><h3 id=identifying-the-tables-a-given-principal-has-been-granted-explicit-access-to-read>Identifying the tables a given principal has been granted explicit access to read</h3><p><em>Note that some other privileges, such as <code>CATALOG_MANAGE_CONTENT</code>, subsume <code>TABLE_READ_DATA</code> and would not be discovered here.</em></p><pre tabindex=0><code>principal_roles=$(polaris principal-roles list --principal my_principal)
for principal_role in ${principal_roles}; do
catalog_roles=$(polaris catalog-roles --list --principal-role "${principal_role}")
for catalog_role in ${catalog_roles}; do
diff --git a/releases/1.1.0/configuration/index.html b/releases/1.1.0/configuration/index.html
index 9fc16dd8e..5bcf39fcc 100644
--- a/releases/1.1.0/configuration/index.html
+++ b/releases/1.1.0/configuration/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+<meta name=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
[!NOTE] For Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:title" content="Configuring Polaris"><meta property="og:description" content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as well as for Polaris binary distributions.
[!NOTE] For Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/configuration/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris"><meta itemprop=description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated [...]
[!NOTE] For Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1645"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview# This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker i [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><meta itemprop=wordCount content="1645"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris"><meta name=twitter:description content="Overview This page provides information on how to configure Apache Polaris (Incubating). Unless stated otherwise, this information is valid both for Polaris Docker im [...]
[!NOTE] For Production tips and best practices, refer to Configuring Polaris for Production.
First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus configuration guide to get familiar with the basics.
-Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
+Quarkus aggregates configuration properties from multiple sources, applying them in a specific order of precedence."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,7 +137,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
otherwise, this information is valid both for Polaris Docker images (and Kubernetes deployments) as
well as for Polaris binary distributions.</p><blockquote><p>[!NOTE]
For Production tips and best practices, refer to <a href=https://polaris.apache.org/releases/1.1.0/configuring-polaris-for-production/>Configuring Polaris for Production</a>.</p></blockquote><p>First off, Polaris server runs on Quarkus, and uses its configuration mechanisms. Read Quarkus
@@ -159,12 +159,12 @@ names. In these situations, it’s preferable to use system properties or a
(mounted) at <code>$PWD/config/application.properties</code> for Polaris server to recognize it. In Polaris
official Docker images, this location is <code>/deployment/config/application.properties</code>.</p><p>For Kubernetes deployments, the configuration file is typically defined as a <code>ConfigMap</code>, then
mounted in the container at <code>/deployment/config/application.properties</code>. It can be mounted in
-read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference id=polaris-configuration-options-reference>Polaris Configuration Options Reference<a class=heading-anchor href=#polaris-configuration-options-reference aria-label=Anchor>#</a></h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-j [...]
+read-only mode, as Polaris only reads the configuration file once, at startup.</p><h2 id=polaris-configuration-options-reference>Polaris Configuration Options Reference</h2><table><thead><tr><th>Configuration Property</th><th>Default Value</th><th>Description</th></tr></thead><tbody><tr><td><code>polaris.persistence.type</code></td><td><code>relational-jdbc</code></td><td>Define the persistence backend used by Polaris (<code>in-memory</code>, <code>relational-jdbc</code>, <code>eclipse-l [...]
This section is only relevant for Polaris Docker images and Kubernetes deployments.</p></blockquote><p>There are many other actionable environment variables available in the official Polaris Docker
image; they come from the base image used by Polaris, <a href=https://catalog.redhat.com/software/containers/ubi9/openjdk-21-runtime/6501ce769a0d86945c422d5f>ubi9/openjdk-21-runtime</a>. They should be used
to fine-tune the Java runtime directly, e.g. to enable debugging or to set the heap size. These
variables are not specific to Polaris, but are inherited from the base image. If in doubt, leave
-everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
+everything at its default!</p><table><thead><tr><th>Environment variable</th><th>Description</th></tr></thead><tbody><tr><td><code>JAVA_OPTS</code> or <code>JAVA_OPTIONS</code></td><td><strong>NOT RECOMMENDED</strong>. JVM options passed to the <code>java</code> command (example: “-verbose:class”). Setting this variable will override all options set by any of the other variables in this table. To pass extra settings, use <code>JAVA_OPTS_APPEND</code> instead.</td></tr><tr><td [...]
is using. To do this, set the log level for the <code>io.smallrye.config</code> category to <code>DEBUG</code>, and also
set the console appender level to <code>DEBUG</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.console.level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.log.category."io.smallrye.config".level</span><span style=color:#f92672>=</span><span style=color:#e6db74>DEBUG</span>
diff --git a/releases/1.1.0/configuring-polaris-for-production/index.html b/releases/1.1.0/configuring-polaris-for-production/index.html
index a1f868973..d0a6cb05b 100644
--- a/releases/1.1.0/configuring-polaris-for-production/index.html
+++ b/releases/1.1.0/configuring-polaris-for-production/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:title" content="Configuring Polaris for Production"><meta property="og:description" content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/configuring-polaris-for-production/"><meta property="article:section" content="releases"><meta itemprop=name content="Configuring Polaris for Production"><meta itemprop=description content="The default server configuration is intended for development and testing. When you deploy Pola [...]
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><meta itemprop=wordCount content="918"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Configuring Polaris for Production"><meta name=twitter:description content="The default server configuration is intended for development and testing. When you deploy Polaris in production, review and apply the following checklist:
-Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2# Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
-rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
+Configure OAuth2 keys Enforce realm header validation (require-header=true) Use a durable metastore (JDBC + PostgreSQL) Bootstrap valid realms in the metastore Disable local FILE storage Configure OAuth2 Polaris authentication requires specifying a token broker factory type. Two implementations are supported out of the box:
+rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared secret."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" cross [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -134,7 +134,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
-review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2 id=configure-oauth2 [...]
+review and apply the following checklist:</p><ul><li><input disabled type=checkbox> Configure OAuth2 keys</li><li><input disabled type=checkbox> Enforce realm header validation (<code>require-header=true</code>)</li><li><input disabled type=checkbox> Use a durable metastore (JDBC + PostgreSQL)</li><li><input disabled type=checkbox> Bootstrap valid realms in the metastore</li><li><input disabled type=checkbox> Disable local FILE storage</li></ul><h3 id=configure-oauth2>Configure OAuth2</h [...]
supported out of the box:</p><ul><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTRSAKeyPairFactory.java>rsa-key-pair</a> uses a pair of public and private keys;</li><li><a href=https://github.com/apache/polaris/blob/390f1fa57bb1af24a21aa95fdbff49a46e31add7/service/common/src/main/java/org/apache/polaris/service/auth/JWTSymmetricKeyFactory.java>symmetric-key</a> uses a shared secret [...]
The default <code>rsa-key-pair</code> configuration is not suitable when deploying many replicas of Polaris,
as each replica will have its own set of keys. This will cause token validation to fail when a
@@ -152,7 +152,7 @@ configuration file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;
</span></span></code></pre></div><p>Finally, you can also configure the token broker to use a maximum lifespan by setting the following
property:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
</span></span></code></pre></div><p>Typically, in Kubernetes, you would define the keys as a <code>Secret</code> and mount them as files in the
-container.</p><h3 id=realm-context-resolver id=realm-context-resolver>Realm Context Resolver<a class=heading-anchor href=#realm-context-resolver aria-label=Anchor>#</a></h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
+container.</p><h3 id=realm-context-resolver>Realm Context Resolver</h3><p>By default, Polaris resolves realms based on incoming request headers. You can configure the realm
context resolver by setting the following properties in <code>application.properties</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.realms</span><span style=color:#f92672>=</span><span style=color:#e6db74>POLARIS,MY-REALM</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.header-name</span><span style=color:#f92672>=</span><span style=color:#e6db74>Polaris-Realm</span>
</span></span></code></pre></div><p>Where:</p><ul><li><code>realms</code> is a comma-separated list of allowed realms. This setting <em>must</em> be correctly configured.
@@ -163,7 +163,7 @@ realm in the list as the default realm. In the above example, <code>POLARIS</cod
would be used if the <code>Polaris-Realm</code> header is not present in the request.</p><p>This is not recommended for production use, as it may lead to security vulnerabilities. To avoid
this, set the following property to <code>true</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.realm-context.require-header</span><span style=color:#f92672>=</span><span style=color:#e6db74>true</span>
</span></span></code></pre></div><p>This will cause Polaris to also return a <code>404 Not Found</code> response if the realm header is not present
-in the request.</p><h3 id=metastore-configuration id=metastore-configuration>Metastore Configuration<a class=heading-anchor href=#metastore-configuration aria-label=Anchor>#</a></h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
+in the request.</p><h3 id=metastore-configuration>Metastore Configuration</h3><p>A metastore should be configured with an implementation that durably persists Polaris entities. By
default, Polaris uses an in-memory metastore.</p><blockquote><p>[!IMPORTANT]
The default in-memory metastore is not suitable for production use, as it will lose all data
when the server is restarted; it is also unusable when multiple Polaris replicas are used.</p></blockquote><p>To enable a durable metastore, configure your system to use the Relational JDBC-backed metastore.
@@ -177,7 +177,7 @@ QUARKUS_DATASOURCE_JDBC_URL=<jdbc-url-of-postgres>
Please refer to the documentation here:
<a href=https://quarkus.io/guides/datasource>Configure data sources in Quarkus</a></p><blockquote><p>[!IMPORTANT]
Be sure to secure your metastore backend since it will be storing sensitive data and catalog
-metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping id=bootstrapping>Bootstrapping<a class=heading-anchor href=#bootstrapping aria-label=Anchor>#</a></h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
+metadata.</p></blockquote><p>Note: Polaris will always create schema ‘polaris_schema’ during bootstrap under the configured database.</p><h3 id=bootstrapping>Bootstrapping</h3><p>Before using Polaris, you must <strong>bootstrap</strong> the metastore. This is a manual operation that must be
performed <strong>only once</strong> for each realm in order to prepare the metastore to integrate with Polaris.</p><p>By default, when bootstrapping a new realm, Polaris will create randomised <code>CLIENT_ID</code> and
<code>CLIENT_SECRET</code> for the <code>root</code> principal and store their hashes in the metastore backend.</p><p>Depending on your database, this may not be convenient as the generated credentials are not stored
in clear text in the database.</p><p>In order to provide your own credentials for <code>root</code> principal (so you can request tokens via
@@ -200,7 +200,7 @@ otherwise Polaris will resolve the realm to the first one in the configuration
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_id=my-client-id"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"client_secret=my-client-secret"</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -d <span style=color:#e6db74>"scope=PRINCIPAL_ROLE:ALL"</span>
-</span></span></code></pre></div><h3 id=disable-file-storage-type id=disable-file-storage-type>Disable FILE Storage Type<a class=heading-anchor href=#disable-file-storage-type aria-label=Anchor>#</a></h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
+</span></span></code></pre></div><h3 id=disable-file-storage-type>Disable FILE Storage Type</h3><p>By default, Polaris allows using the local file system (<code>FILE</code>) for catalog storage. This is fine for testing,
but <strong>not recommended for production</strong>. To disable it, set the supported storage types like this:</p><pre tabindex=0><code class=language-hocon data-lang=hocon>polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES" = [ "S3", "Azure" ]
-</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations id=upgrade-considerations>Upgrade Considerations<a class=heading-anchor href=#upgrade-considerations aria-label=Anchor>#</a></h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
+</code></pre><p>Leave out <code>FILE</code> to prevent its use. Only include the storage types your setup needs.</p><h3 id=upgrade-considerations>Upgrade Considerations</h3><p>The <a href=../evolution>Polaris Evolution</a> page discusses backward compatibility and
upgrade concerns.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item data-bs-tog [...]
\ No newline at end of file
diff --git a/releases/1.1.0/entities/index.html b/releases/1.1.0/entities/index.html
index 0db440847..47cb79ae7 100644
--- a/releases/1.1.0/entities/index.html
+++ b/releases/1.1.0/entities/index.html
@@ -1,17 +1,17 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:title" content="Entities"><meta property="og:description" content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/entities/"><meta property="article:section" content="releases"><meta itemprop=name content="Entities"><meta itemprop=description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="782"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
-Catalog# A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
+Storage Type All catalogs in Polaris are associated with a storage type."><meta itemprop=wordCount content="782"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Entities"><meta name=twitter:description content="This page documents various entities that can be managed in Apache Polaris (Incubating).
+Catalog A catalog is a top-level entity in Polaris that may contain other entities like namespaces and tables. These map directly to Apache Iceberg catalogs.
For information on managing catalogs with the REST API or for more information on what data can be associated with a catalog, see the CreateCatalogRequest OpenAPI.
-Storage Type# All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
+Storage Type All catalogs in Polaris are associated with a storage type."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -137,4 +137,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
\ No newline at end of file
diff --git a/releases/1.1.0/evolution/index.html b/releases/1.1.0/evolution/index.html
index 0ddb244d5..386f16191 100644
--- a/releases/1.1.0/evolution/index.html
+++ b/releases/1.1.0/evolution/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:title" content="Polaris Evolution"><meta property="og:description" content="This page discusses what can be expected from Apache Polaris as the project evolves.
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/evolution/"><meta property="article:section" content="releases"><meta itemprop=name content="Polaris Evolution"><meta itemprop=descriptio [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><meta itemprop=wordCount content="712"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Polaris Evolution"><meta name=twitter:description content="This page discusses what can be expected from Apa [...]
-Using Polaris as a Catalog# Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
-Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
+Using Polaris as a Catalog Polaris is primarily intended to be used as a Catalog of Tables and Views. As such, it implements the Iceberg REST Catalog API and its own REST APIs.
+Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg community. Polaris attempts to accurately implement this specification. Nonetheless, optional REST Catalog features may or may not be supported immediately."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,7 +133,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
it implements the Iceberg REST Catalog API and its own REST APIs.</p><p>Revisions of the Iceberg REST Catalog API are controlled by the <a href=https://iceberg.apache.org/>Apache Iceberg</a>
community. Polaris attempts to accurately implement this specification. Nonetheless,
optional REST Catalog features may or may not be supported immediately. In general,
@@ -147,7 +147,7 @@ backward-compatible way, new endpoints (URI paths) may be introduced. New URI &l
be introduced too (e.g. <code>api/catalog/v2</code>).</p><p>Note that those “v1”, “v2”, etc. URI path segments are not meant to be 1:1 with Polaris
releases or Polaris project version numbers (e.g. a “v2” path segment does not mean that
it is added in Polaris 2.0).</p><p>Polaris servers will support deprecated API endpoints / parameters / versions / etc.
-for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database id=managing-polaris-database>Managing Polaris Database<a class=heading-anchor href=#managing-polaris-database aria-label=Anchor>#</a></h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
+for some transition period to allow clients to migrate.</p><h3 id=managing-polaris-database>Managing Polaris Database</h3><p>Polaris stores its data in a database, which is sometimes referred to as “Metastore” or
“Persistence” in other docs.</p><p>Each Polaris release may support multiple Persistence <a href=../metastores>implementations</a>,
for example, “EclipseLink” (deprecated) and “JDBC” (current).</p><p>Each type of Persistence evolves individually. Within each Persistence type, Polaris
attempts to support rolling upgrades (both version X and X + 1 servers running at the
@@ -155,14 +155,14 @@ same time).</p><p>However, migrating between different Persistence types is not
upgrade manner (for example, migrating from “EclipseLink” to “JDBC”). Polaris provides
<a href=https://github.com/apache/polaris-tools/>tools</a> for migrating between different
catalogs and those tools may be used to migrate between different Persistence types
-as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency<a class=heading-anchor href=#using-polaris-as-a-build-time-dependency aria-label=Anchor>#</a></h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
+as well. Service interruption (downtime) should be expected in those cases.</p><h2 id=using-polaris-as-a-build-time-dependency>Using Polaris as a Build-Time Dependency</h2><p>Polaris produces several jars. These jars or custom builds of Polaris code may be used in
downstream projects according to the terms of the license included into Polaris distributions.</p><p>The minimal version of the JRE required by Polaris code (compilation target) may be updated in
any release. Different Polaris jars may have different minimal JRE version requirements.</p><p>Changes in Java class should be expected at any time regardless of the module name or
whether the class / method is <code>public</code> or not.</p><p>This approach is not meant to discourage the use of Polaris code in downstream projects, but
to allow more flexibility in evolving the codebase to support new catalog-level features
and improve code efficiency. Maintainers of downstream projects are encouraged to join Polaris
mailing lists to monitor project changes, suggest improvements, and engage with the Polaris
-community in case of specific compatibility concerns.</p><h2 id=semantic-versioning id=semantic-versioning>Semantic Versioning<a class=heading-anchor href=#semantic-versioning aria-label=Anchor>#</a></h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
+community in case of specific compatibility concerns.</p><h2 id=semantic-versioning>Semantic Versioning</h2><p>Polaris strives to follow <a href=https://semver.org/>Semantic Versioning</a> conventions both with
respect to REST APIs (beta and experimental APIs excepted), <a href=../policy/>Polaris Policies</a>
and user-facing <a href=../configuration/>configuration</a>.</p><p>The following are some examples of Polaris approach to SemVer in REST APIs / configuration.
These examples are for illustration purposes and should not be considered to be
diff --git a/releases/1.1.0/external-idp/index.html b/releases/1.1.0/external-idp/index.html
index 8c0c5e132..e3b398368 100644
--- a/releases/1.1.0/external-idp/index.html
+++ b/releases/1.1.0/external-idp/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Apache Polaris supports authentication via external identity providers (IdPs) using OpenID Connect (OIDC) in addition to the internal authentication system. This feature enables flexible identity federation with enterprise IdPs and allows gradual migration or hybrid authentication strategies across realms in Polaris.
-Authentication Types# Polaris supports three authentication modes:
+Authentication Types Polaris supports three authentication modes:
internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501)."><meta property="og:title" content="External Identity Providers"><meta property="og:description" content="Apache Polaris supports authentication via external identity providers (IdPs) using OpenID Connect (OIDC) in addition to the internal authentication system. This feature enables flexible iden [...]
-Authentication Types# Polaris supports three authentication modes:
+Authentication Types Polaris supports three authentication modes:
internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501)."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/external-idp/"><meta property="article:section" content="releases"><meta itemprop=name content="External Identity Providers"><meta itemprop=description content="Apache Polaris su [...]
-Authentication Types# Polaris supports three authentication modes:
+Authentication Types Polaris supports three authentication modes:
internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501)."><meta itemprop=wordCount content="1272"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="External Identity Providers"><meta name=twitter:description content="Apache Polaris supports authentication via external identity providers (IdPs) u [...]
-Authentication Types# Polaris supports three authentication modes:
-internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integri [...]
+Authentication Types Polaris supports three authentication modes:
+internal (Default) Only Polaris internal authentication is used. external Authenticates using external OIDC providers (via Quarkus OIDC). Disables the internal token endpoint (returns HTTP 501)."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integri [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,35 +133,35 @@ internal (Default) Only Polaris internal authentication is used. external Authen
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>internal</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Per-realm override </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm1.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>external</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm2.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>mixed</span>
-</span></span></code></pre></div><h2 id=key-components id=key-components>Key Components<a class=heading-anchor href=#key-components aria-label=Anchor>#</a></h2><h3 id=authenticator id=authenticator>Authenticator<a class=heading-anchor href=#authenticator aria-label=Anchor>#</a></h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/Authenticator.java><code>Authenticator</code></a> is a component responsible for resolvin [...]
+</span></span></code></pre></div><h2 id=key-components>Key Components</h2><h3 id=authenticator>Authenticator</h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/Authenticator.java><code>Authenticator</code></a> is a component responsible for resolving the principal and the principal roles, and for creating a <code>PolarisPrincipal</code> from the credentials provided by the authentication process. It is a central com [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.realm1.authenticator.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>custom</span>
-</span></span></code></pre></div><h3 id=active-roles-provider id=active-roles-provider>Active Roles Provider<a class=heading-anchor href=#active-roles-provider aria-label=Anchor>#</a></h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/ActiveRolesProvider.java><code>ActiveRolesProvider</code></a> is a component responsible for determining which roles the principal is requesting and should be activated. It is common t [...]
-</span></span></code></pre></div><h2 id=internal-authentication-configuration id=internal-authentication-configuration>Internal Authentication Configuration<a class=heading-anchor href=#internal-authentication-configuration aria-label=Anchor>#</a></h2><h3 id=token-broker id=token-broker>Token Broker<a class=heading-anchor href=#token-broker aria-label=Anchor>#</a></h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/T [...]
+</span></span></code></pre></div><h3 id=active-roles-provider>Active Roles Provider</h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/ActiveRolesProvider.java><code>ActiveRolesProvider</code></a> is a component responsible for determining which roles the principal is requesting and should be activated. It is common to all authentication types.</p><p>Only the <code>type</code> property is defined; it is used to defi [...]
+</span></span></code></pre></div><h2 id=internal-authentication-configuration>Internal Authentication Configuration</h2><h3 id=token-broker>Token Broker</h3><p>The <a href=https://github.com/apache/polaris/blob/main/service/common/src/main/java/org/apache/polaris/service/auth/TokenBroker.java><code>TokenBroker</code></a> signs and verifies tokens to ensure that they can be validated and remain unaltered.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822 [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.authentication.token-broker.max-token-generation</span><span style=color:#f92672>=</span><span style=color:#e6db74>PT1H</span>
-</span></span></code></pre></div><p>Two types are available:</p><ul><li><code>rsa-key-pair</code> (recommended for production): Uses an RSA key pair for token signing and validation.</li><li><code>symmetric-key</code>: Uses a shared secret for both operations; suitable for single-node deployments or testing.</li></ul><p>The property <code>polaris.authentication.token-broker.max-token-generation</code> specifies the maximum validity duration of tokens issued by the internal <code>TokenBro [...]
-</span></span></code></pre></div><h3 id=role-mapping id=role-mapping>Role Mapping<a class=heading-anchor href=#role-mapping aria-label=Anchor>#</a></h3><p>When using internal authentication, token requests should include a <code>scope</code> parameter that specifies the roles to be activated for the principal. The <code>scope</code> parameter is a space-separated list of role names.</p><p>The default <code>ActiveRolesProvider</code> expects role names to be in the following format: <code [...]
+</span></span></code></pre></div><p>Two types are available:</p><ul><li><code>rsa-key-pair</code> (recommended for production): Uses an RSA key pair for token signing and validation.</li><li><code>symmetric-key</code>: Uses a shared secret for both operations; suitable for single-node deployments or testing.</li></ul><p>The property <code>polaris.authentication.token-broker.max-token-generation</code> specifies the maximum validity duration of tokens issued by the internal <code>TokenBro [...]
+</span></span></code></pre></div><h3 id=role-mapping>Role Mapping</h3><p>When using internal authentication, token requests should include a <code>scope</code> parameter that specifies the roles to be activated for the principal. The <code>scope</code> parameter is a space-separated list of role names.</p><p>The default <code>ActiveRolesProvider</code> expects role names to be in the following format: <code>PRINCIPAL_ROLE:<role name></code>.</p><p>For example, if the principal has the [...]
</span></span></code></pre></div><p>Here is an example of a full request to the Polaris token endpoint using internal authentication:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-http data-lang=http><span style=display:flex><span><span style=color:#a6e22e>POST</span> /api/catalog/v1/oauth/tokens <span style=color:#66d9ef>HTTP</span><span style=color:#f92672>/</span><span style=color:#ae8 [...]
</span></span><span style=display:flex><span>Host<span style=color:#f92672>:</span> <span style=color:#ae81ff>polaris.example.com:8181</span>
</span></span><span style=display:flex><span>Content-Type<span style=color:#f92672>:</span> <span style=color:#ae81ff>application/x-www-form-urlencoded</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>grant_type=client_credentials&client_id=root&client_secret=s3cr3t&scope=PRINCIPAL_ROLE%3Aservice_admin%20PRINCIPAL_ROLE%3Acatalog_admin
-</span></span></code></pre></div><h2 id=external-authentication-configuration id=external-authentication-configuration>External Authentication Configuration<a class=heading-anchor href=#external-authentication-configuration aria-label=Anchor>#</a></h2><p>External authentication is configured via Quarkus OIDC and Polaris-specific OIDC extensions. The following settings are used to integrate with an identity provider and extract identity and role information from tokens.</p><h3 id=oidc-ten [...]
+</span></span></code></pre></div><h2 id=external-authentication-configuration>External Authentication Configuration</h2><p>External authentication is configured via Quarkus OIDC and Polaris-specific OIDC extensions. The following settings are used to integrate with an identity provider and extract identity and role information from tokens.</p><h3 id=oidc-tenant-configuration>OIDC Tenant Configuration</h3><p>At least one OIDC tenant must be explicitly enabled. In Polaris, realms and OIDC [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.auth-server-url</span><span style=color:#f92672>=</span><span style=color:#e6db74>https://auth.example.com/realms/polaris</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.client-id</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris</span>
</span></span></code></pre></div><p>Alternatively, it is possible to use multiple named tenants. Each OIDC-named tenant is then configured with standard Quarkus settings:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.auth-server-url</span><span style=color:#f92672>=</span><sp [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.client-id</span><span style=color:#f92672>=</span><span style=color:#e6db74>client1</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.oidc-tenant1.application-type</span><span style=color:#f92672>=</span><span style=color:#e6db74>service</span>
-</span></span></code></pre></div><p>When using multiple OIDC tenants, it’s your responsibility to configure tenant resolution appropriately. See the <a href=https://quarkus.io/guides/security-openid-connect-multitenancy#tenant-resolution>Quarkus OpenID Connect Multitenany Guide</a>.</p><h3 id=principal-mapping id=principal-mapping>Principal Mapping<a class=heading-anchor href=#principal-mapping aria-label=Anchor>#</a></h3><p>While OIDC tenant resolution is entirely delegated to Qua [...]
+</span></span></code></pre></div><p>When using multiple OIDC tenants, it’s your responsibility to configure tenant resolution appropriately. See the <a href=https://quarkus.io/guides/security-openid-connect-multitenancy#tenant-resolution>Quarkus OpenID Connect Multitenany Guide</a>.</p><h3 id=principal-mapping>Principal Mapping</h3><p>While OIDC tenant resolution is entirely delegated to Quarkus, Polaris requires additional configuration to extract the Polaris principal and its rol [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
</span></span></code></pre></div><p>These properties are overridable per OIDC tenant:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.oidc-tenant1.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.oidc-tenant1.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div><blockquote><p>[!IMPORTANT]: The default implementation of PrincipalMapper can only work with JWT tokens. If your IDP issues opaque tokens instead, you will need to provide a custom implementation.</p></blockquote><h3 id=role-mapping-1 id=role-mapping-1>Role Mapping<a class=heading-anchor href=#role-mapping-1 aria-label=Anchor>#</a></h3><p>Similarly, Polaris requires additional configuration to map roles provided by Quarkus to roles defined in Polaris. Th [...]
+</span></span></code></pre></div><blockquote><p>[!IMPORTANT]: The default implementation of PrincipalMapper can only work with JWT tokens. If your IDP issues opaque tokens instead, you will need to provide a custom implementation.</p></blockquote><h3 id=role-mapping-1>Role Mapping</h3><p>Similarly, Polaris requires additional configuration to map roles provided by Quarkus to roles defined in Polaris. The process happens in two phases: first, Quarkus maps the JWT claims to security roles, [...]
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.type</span><span style=color:#f92672>=</span><span style=color:#e6db74>default</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.filter</span><span style=color:#f92672>=</span><span style=color:#e6db74>^(?!profile$|email$).*</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>^.*$</span>
@@ -176,15 +176,15 @@ internal (Default) Only Polaris internal authentication is used. external Authen
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>role_(.*)</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Replace the extracted text with "PRINCIPAL_ROLE:" </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].replacement</span><span style=color:#f92672>=</span><span style=color:#e6db74>PRINCIPAL_ROLE:$1</span>
-</span></span></code></pre></div><p>See more examples below.</p><h2 id=developer-architecture-notes id=developer-architecture-notes>Developer Architecture Notes<a class=heading-anchor href=#developer-architecture-notes aria-label=Anchor>#</a></h2><p>The following sections describe internal implementation details for developers who want to understand or extend Polaris authentication.</p><h3 id=authentication-architecture id=authentication-architecture>Authentication Architecture<a class=h [...]
+</span></span></code></pre></div><p>See more examples below.</p><h2 id=developer-architecture-notes>Developer Architecture Notes</h2><p>The following sections describe internal implementation details for developers who want to understand or extend Polaris authentication.</p><h3 id=authentication-architecture>Authentication Architecture</h3><p>Polaris separates authentication into two logical phases using <a href=https://quarkus.io/guides/security-overview>Quarkus Security</a>:</p><ol><li [...]
</span></span></code></pre></div></li><li><p>Configuration properties for the default implementation:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div></li><li><p>It can be overridden per OIDC tenant.</p></li></ul><h3 id=roles-mapping id=roles-mapping>Roles Mapping<a class=heading-anchor href=#roles-mapping aria-label=Anchor>#</a></h3><ul><li><p>Interface: <a href=https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/quarkus/auth/external/mapping/PrincipalRolesMapper.java><code>PrincipalRolesMapper</code></a></p><p>Polaris uses this component to transform r [...]
+</span></span></code></pre></div></li><li><p>It can be overridden per OIDC tenant.</p></li></ul><h3 id=roles-mapping>Roles Mapping</h3><ul><li><p>Interface: <a href=https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/quarkus/auth/external/mapping/PrincipalRolesMapper.java><code>PrincipalRolesMapper</code></a></p><p>Polaris uses this component to transform role claims from OIDC tokens into Polaris roles.</p></li><li><p>Quarkus OIDC configur [...]
</span></span></code></pre></div></li><li><p>Implementation selector:</p><p>This property selects the implementation of <code>PrincipalRolesMapper</code>. The <code>default</code> implementation applies regular expression (regex) transformations to OIDC roles.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6 [...]
</span></span></code></pre></div></li><li><p>Configuration properties for the default implementation:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.filter</span><span style=color:#f92672>=</span><span style=color:#e6db74>^(?!profile$|email$).* </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].regex</span><span style=color:#f92672>=</span><span style=color:#e6db74>^.*$ </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-roles-mapper.mappings[0].replacement</span><span style=color:#f92672>=</span><span style=color:#e6db74>PRINCIPAL_ROLE:$0</span>
-</span></span></code></pre></div></li></ul><h3 id=example-jwt-mappings id=example-jwt-mappings>Example JWT Mappings<a class=heading-anchor href=#example-jwt-mappings aria-label=Anchor>#</a></h3><h4 id=example-1-custom-claim-paths id=example-1-custom-claim-paths>Example 1: Custom Claim Paths<a class=heading-anchor href=#example-1-custom-claim-paths aria-label=Anchor>#</a></h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size: [...]
+</span></span></code></pre></div></li></ul><h3 id=example-jwt-mappings>Example JWT Mappings</h3><h4 id=example-1-custom-claim-paths>Example 1: Custom Claim Paths</h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"polaris"</span>:
</span></span><span style=display:flex><span> {
</span></span><span style=display:flex><span> <span style=color:#f92672>"roles"</span>: [<span style=color:#e6db74>"PRINCIPAL_ROLE:ALL"</span>],
@@ -195,7 +195,7 @@ internal (Default) Only Polaris internal authentication is used. external Authen
</span></span></code></pre></div></li><li><p>Configuration</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-properties data-lang=properties><span style=display:flex><span><span style=color:#a6e22e>quarkus.oidc.roles.role-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/roles </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.id-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_id </span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>polaris.oidc.principal-mapper.name-claim-path</span><span style=color:#f92672>=</span><span style=color:#e6db74>polaris/principal_name</span>
-</span></span></code></pre></div></li></ul><h4 id=example-2-generic-oidc-claims id=example-2-generic-oidc-claims>Example 2: Generic OIDC Claims<a class=heading-anchor href=#example-2-generic-oidc-claims aria-label=Anchor>#</a></h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
+</span></span></code></pre></div></li></ul><h4 id=example-2-generic-oidc-claims>Example 2: Generic OIDC Claims</h4><ul><li><p>JWT</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"sub"</span>: <span style=color:#e6db74>"1"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"scope"</span>: <span style=color:#e6db74>"service_admin catalog_admin profile email"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"preferred_username"</span>: <span style=color:#e6db74>"root"</span>
diff --git a/releases/1.1.0/generic-table/index.html b/releases/1.1.0/generic-table/index.html
index 8ed8357c0..1697107c3 100644
--- a/releases/1.1.0/generic-table/index.html
+++ b/releases/1.1.0/generic-table/index.html
@@ -3,7 +3,7 @@
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:title" content="Generic Table (Beta)"><meta property="og:description" content="The Generic Table in Apache Polaris is designed to provide support for non-Iceberg tables across different table formats includes delta, csv etc. It curr [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/generic-table/"><meta property="article:section" content="releases"><meta itemprop=name content="Generic Table (Beta)"><meta itemprop [...]
Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><meta itemprop=wordCount content="816"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Generic Table (Beta)"><meta name=twitter:description content="The Generic Table in Apache Polaris is des [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace NOTE The current generic table is in beta release. Please use it with caution and report any issue if encountered."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jq [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,9 +129,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
the Iceberg table entities.</p><table><thead><tr><th>Operations</th><th><strong>Iceberg Table API</strong></th><th><strong>Generic Table API</strong></th></tr></thead><tbody><tr><td>Create Table</td><td>Create an Iceberg table</td><td>Create a generic table</td></tr><tr><td>Load Table</td><td>Load an Iceberg table. If the table to load is a generic table, you need to call the Generic Table loadTable API, otherwise a TableNotFoundException will be thrown</td><td>Load a generic table. Simi [...]
-there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table id=working-with-generic-table>Working with Generic Table<a class=heading-anchor href=#working-with-generic-table aria-label=Anchor>#</a></h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be descri [...]
+there is currently no support for Update Generic Table, any update to the existing table requires a drop and re-create.</p><h2 id=working-with-generic-table>Working with Generic Table</h2><p>There are two ways to work with Polaris Generic Tables today:</p><ol><li>Directly communicate with Polaris through REST API calls using tools such as <code>curl</code>. Details will be described in the later section.</li><li>Use the Spark client provided if you are working with Spark. Please refer to [...]
request body looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"<table_name>"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"format"</span>: <span style=color:#e6db74>"<table_format>"</span>,
@@ -153,7 +153,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span></span><span style=display:flex><span><span style=color:#e6db74> "key1": "value1"
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }
</span></span></span><span style=display:flex><span><span style=color:#e6db74> }'</span>
-</span></span></code></pre></div><h3 id=load-a-generic-table id=load-a-generic-table>Load a Generic Table<a class=heading-anchor href=#load-a-generic-table aria-label=Anchor>#</a></h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;- [...]
+</span></span></code></pre></div><h3 id=load-a-generic-table>Load a Generic Table</h3><p>The REST endpoint for load a generic table is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code>.</p><p>Here is an example to load the table <code>delta_table</code> using curl:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=dis [...]
</span></span></code></pre></div><p>And the response looks like the following:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"table"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"delta_table"</span>,
@@ -165,7 +165,7 @@ for catalog <code>delta_catalog</code> using curl:</p><div class=highlight><pre
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span> }
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=list-generic-tables id=list-generic-tables>List Generic Tables<a class=heading-anchor href=#list-generic-tables aria-label=Anchor>#</a></h3><p>The REST endpoint for listing the generic tables under a given
+</span></span></code></pre></div><h3 id=list-generic-tables>List Generic Tables</h3><p>The REST endpoint for listing the generic tables under a given
namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/</code>.</p><p>Following curl command lists all tables under namespace delta_namespace:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>curl -X GET http://localhost:8181/api/catalog/polaris/v1/delta_catalog/namespaces/delta_ns/generic-tables/
</span></span></code></pre></div><p>Example Response:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data-lang=json><span style=display:flex><span>{
</span></span><span style=display:flex><span> <span style=color:#f92672>"identifiers"</span>: [
@@ -176,8 +176,8 @@ namespace is <code>GET /polaris/v1/{prefix}/namespaces/{namespace}/generic-table
</span></span><span style=display:flex><span> ],
</span></span><span style=display:flex><span> <span style=color:#f92672>"next-page-token"</span>: <span style=color:#66d9ef>null</span>
</span></span><span style=display:flex><span>}
-</span></span></code></pre></div><h3 id=drop-a-generic-table id=drop-a-generic-table>Drop a Generic Table<a class=heading-anchor href=#drop-a-generic-table aria-label=Anchor>#</a></h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size [...]
-</span></span></code></pre></div><h3 id=api-reference id=api-reference>API Reference<a class=heading-anchor href=#api-reference aria-label=Anchor>#</a></h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations id=limitations>Limitations<a class=heading-anchor href=#limitations [...]
+</span></span></code></pre></div><h3 id=drop-a-generic-table>Drop a Generic Table</h3><p>The drop generic table REST endpoint is <code>DELETE /polaris/v1/{prefix}/namespaces/{namespace}/generic-tables/{generic-table}</code></p><p>The following curl call drops the table <code>delat_table</code>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
+</span></span></code></pre></div><h3 id=api-reference>API Reference</h3><p>For the complete and up-to-date API specification, see the <a href="https://editor-next.swagger.io/?url=https://raw.githubusercontent.com/apache/polaris/refs/heads/main/spec/generated/bundled-polaris-catalog-service.yaml">Catalog API Spec</a>.</p><h2 id=limitations>Limitations</h2><p>Current limitations of Generic Table support:</p><ol><li>Limited spec information. Currently, there is no spec for information like [...]
It is the responsibility of the engine (and plugins used by the engine) to determine exactly how loading or commiting data
should look like based on the metadata. For example, with the delta support, th delta log serialization, deserialization
and update all happens at client side.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__l [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/deploying-polaris/index.html b/releases/1.1.0/getting-started/deploying-polaris/index.html
index a5bcd08b4..400603c21 100644
--- a/releases/1.1.0/getting-started/deploying-polaris/index.html
+++ b/releases/1.1.0/getting-started/deploying-polaris/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.1.0/getting-started/deploying-polaris/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png size [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Deploying Polaris on Cloud Providers"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring proj [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
index 8d197f141..01a7ccca1 100644
--- a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
+++ b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-aws/index.html
@@ -7,7 +7,7 @@ There must be at least two subnets created in the VPC and region in which your E
The requirements to run the script below are:
There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><meta itemprop=wordCount content="255"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Amazon Web Services (AWS)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Amazon RDS for PostgreSQL ins [...]
The requirements to run the script below are:
-There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
+There must be at least two subnets created in the VPC and region in which your EC2 instance reside."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-aws.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor>#</a></h2><p>To sh [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-s [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.1.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
index 0dc9f71e8..2684fe2ac 100644
--- a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
+++ b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-azure/index.html
@@ -3,7 +3,7 @@
The requirements to run the script below are:"><meta property="og:title" content="Deploying Polaris on Azure"><meta property="og:description" content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres instance holding all Polaris data. Additionally, Polaris will be bootstrapped to use this database and Docker con [...]
The requirements to run the script below are:"><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-azure/"><meta property="article:section" content="releases"><meta itemprop=name content="Deploying Polaris on Azure"><meta itemprop=description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will star [...]
The requirements to run the script below are:"><meta itemprop=wordCount content="204"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Azure"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start an Azure Database for PostgreSQL - Flexible Server instance, which will be used as the backend Postgres in [...]
-The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
+The requirements to run the script below are:"><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></script><script defer src [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -135,6 +135,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-azure.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.1.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
index 080e2efd2..f95be0482 100644
--- a/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
+++ b/releases/1.1.0/getting-started/deploying-polaris/quickstart-deploy-gcp/index.html
@@ -7,7 +7,7 @@ Install the gcloud CLI, if it is not already installed on the GCP VM."><meta pro
The requirements to run the script below are:
Install the gcloud CLI, if it is not already installed on the GCP VM."><meta itemprop=wordCount content="206"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on Google Cloud Platform (GCP)"><meta name=twitter:description content="Build and launch Polaris using the AWS Startup Script at the location provided in the command below. This script will start a Cloud SQL for PostgreSQL instance, which will be used as t [...]
The requirements to run the script below are:
-Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
+Install the gcloud CLI, if it is not already installed on the GCP VM."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymous></ [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -139,6 +139,6 @@ Additionally, Polaris will be bootstrapped to use this database and Docker conta
</span></span><span style=display:flex><span>export CLIENT_ID<span style=color:#f92672>=</span>root
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>s3cr3t
</span></span><span style=display:flex><span>./getting-started/assets/cloud_providers/deploy-gcp.sh
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions id=cleanup-instructions>Cleanup Instructions<a class=heading-anchor href=#cleanup-instructions aria-label=Anchor> [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p><h2 id=cleanup-instructions>Cleanup Instructions</h2><p>To shut down the Polaris server, run the following commands:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;- [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
</span></span></code></pre></div><p>To deploy Polaris in a production setting, please review further recommendations at the <a href=/releases/1.1.0/configuring-polaris-for-production/>Configuring Polaris for Production</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=toolti [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/index.html b/releases/1.1.0/getting-started/index.html
index 5e919e2f9..a16a6e53f 100644
--- a/releases/1.1.0/getting-started/index.html
+++ b/releases/1.1.0/getting-started/index.html
@@ -1,5 +1,5 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><link rel=alternate type=application/rss+xml href=https://polaris.apache.org/releases/1.1.0/getting-started/index.xml><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link re [...]
-<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
+<meta name=description content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins."><meta property="og:title" content="Getting Started"><meta property="og:description" content="Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with pow [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
diff --git a/releases/1.1.0/getting-started/index.xml b/releases/1.1.0/getting-started/index.xml
index 633a8e2ff..fa6048a13 100644
--- a/releases/1.1.0/getting-started/index.xml
+++ b/releases/1.1.0/getting-started/index.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on Apache Polaris</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/</link><description>Recent content in Getting Started on Apache Polaris</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><atom:link href="https://polaris.apache.org/releases/1.1.0/getting-started/index.xml" rel="self" type="ap [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/getting- [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here.</description></item><item><title>Quickstart</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/quickstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/getting-s [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image.</description></item><item><title>Deploying Polaris on MinIO</title><link>https://polaris.apache.org/releases/1.1.0/getting-star [...]
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
-docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</guid><description>Set [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance.</description></item><item><title>Using Polaris</title><link>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/</guid><description>Set [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog.</description></item></channel></rss>
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/install-dependencies/index.html b/releases/1.1.0/getting-started/install-dependencies/index.html
index 21ef773dc..dce913027 100644
--- a/releases/1.1.0/getting-started/install-dependencies/index.html
+++ b/releases/1.1.0/getting-started/install-dependencies/index.html
@@ -1,9 +1,9 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build and deploy Polaris locally, and finally includes examples of how to use Polaris with Apache Spark™.
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content=" [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="501"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an in [...]
-Prerequisites# This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><s [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:title" content="Installing Dependencies"><meta property="og:description" content="This guide serves as an introduction to several key entities that can be managed with Apache Polaris (Incubating), describes how to build [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/"><meta property="article:section" content="releases"><meta itemprop=name content="I [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><meta itemprop=wordCount content="501"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Installing Dependencies"><meta name=twitter:description content="This guide serves as an int [...]
+Prerequisites This guide covers building Polaris, deploying it locally or via Docker, and interacting with it using the command-line interface and Apache Spark. Before proceeding with Polaris, be sure to satisfy the relevant prerequisites listed here."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><sc [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -129,11 +129,11 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span></code></pre></div><p>Please follow instructions from the <a href=https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>Git Documentation</a> for instructions on installing Git on other platforms.</p><p>Then, use git to clone the Polaris repo:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>git clone https://github.c [...]
-</span></span></code></pre></div><h2 id=docker id=docker>Docker<a class=heading-anchor href=#docker aria-label=Anchor>#</a></h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p [...]
+</span></span></code></pre></div><h2 id=docker>Docker</h2><p>It is recommended to deploy Polaris inside <a href=https://www.docker.com/>Docker</a> for the Quickstart workflow. Instructions for deploying the Quickstart workflow on the supported Cloud Providers (AWS, Azure, GCP) will be provided only with Docker. However, non-Docker deployment instructions for local deployments can also be followed on Cloud Providers.</p><p>Instructions to install Docker can be found on the <a href=https:/ [...]
</span></span></code></pre></div><p>There could be a <a href=https://github.com/apache/polaris/pull/971>Docker permission issues</a> related to seccomp configuration. To resolve these issues, set the <code>seccomp</code> profile to “unconfined” when running a container. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><s [...]
-</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux id=docker-on-amazon-linux>Docker on Amazon Linux<a class=heading-anchor href=#docker-on-amazon-linux aria-label=Anchor>#</a></h3><p>Docker can be installed using a modification to the CentOS instructions. For e [...]
+</span></span></code></pre></div><p>Note: Setting the seccomp profile to “unconfined” disables the default system call filtering, which may pose security risks. Use this configuration with caution, especially in production environments.</p><h3 id=docker-on-amazon-linux>Docker on Amazon Linux</h3><p>Docker can be installed using a modification to the CentOS instructions. For example:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
</span></span><span style=display:flex><span><span style=color:#75715e># Remove old version</span>
</span></span><span style=display:flex><span>sudo dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
</span></span><span style=display:flex><span><span style=color:#75715e># Install dnf plugin</span>
@@ -144,12 +144,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
</span></span><span style=display:flex><span>sudo sed -i <span style=color:#e6db74>'s/$releasever/9/g'</span> /etc/yum.repos.d/docker-ce.repo
</span></span><span style=display:flex><span><span style=color:#75715e># Install as usual</span>
</span></span><span style=display:flex><span>sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-</span></span></code></pre></div><h3 id=confirm-docker-installation id=confirm-docker-installation>Confirm Docker Installation<a class=heading-anchor href=#confirm-docker-installation aria-label=Anchor>#</a></h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display: [...]
+</span></span></code></pre></div><h3 id=confirm-docker-installation>Confirm Docker Installation</h3><p>Once installed, make sure that both Docker and the Docker Compose plugin are installed:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker version
</span></span><span style=display:flex><span>docker compose version
</span></span></code></pre></div><p>Also make sure Docker is running and is able to run a sample Docker container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker run hello-world
-</span></span></code></pre></div><h2 id=java id=java>Java<a class=heading-anchor href=#java aria-label=Anchor>#</a></h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For ex [...]
+</span></span></code></pre></div><h2 id=java>Java</h2><p>If you plan to build Polaris from source yourself or using this tutorial’s instructions on a Cloud Provider, you will need to satisfy a few prerequisites first.</p><p>Polaris is built using <a href=https://gradle.org/>gradle</a> and is compatible with Java 21. We recommend the use of <a href=https://www.jenv.be/>jenv</a> to manage multiple Java versions. For example, to install Java 21 via <a href=https://brew.sh/>homebrew</a [...]
</span></span><span style=display:flex><span>brew install openjdk@21 jenv
</span></span><span style=display:flex><span>jenv add <span style=color:#66d9ef>$(</span>brew --prefix openjdk@21<span style=color:#66d9ef>)</span>
</span></span><span style=display:flex><span>jenv local <span style=color:#ae81ff>21</span>
-</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq id=jq>jq<a class=heading-anchor href=#jq aria-label=Anchor>#</a></h2><p>Most Polaris Quickstart scripts require <a href=(https://jqlang.org/download/)>jq</a>. You can install jq using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4 [...]
+</span></span></code></pre></div><p>Ensure that <code>java --version</code> and <code>javac</code> both return non-zero responses.</p><h2 id=jq>jq</h2><p>Most Polaris Quickstart scripts require <a href=(https://jqlang.org/download/)>jq</a>. You can install jq using <a href=https://brew.sh/>homebrew</a>:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=displa [...]
</span></span></code></pre></div></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-footer__links-list><li class=td-footer__links-item data-bs-toggle=tooltip title=Slack aria-label=Slack><a target=_blank rel=noopener href=https://apache-polaris.slack.com/ aria-label=Slack><i class="fa-regular fa-comment-dots"></i></a></li><li class=td-footer__links-item [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/minio/index.html b/releases/1.1.0/getting-started/minio/index.html
index e7f01bda2..0f1949e40 100644
--- a/releases/1.1.0/getting-started/minio/index.html
+++ b/releases/1.1.0/getting-started/minio/index.html
@@ -1,21 +1,21 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="In this guide we walk through setting up a simple Polaris Server with local MinIO storage.
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance."><meta property="og:title" content="Deploying Polaris on MinIO"><meta property="og:description" content="In this guide we walk through setting up a simple Polaris Server with local MinIO storage.
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/minio/"><meta property="article:section" content="releases"><meta itemprop=name content="Deploying Polaris on MinIO"><meta itemprop=description content="In [...]
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance."><meta itemprop=wordCount content="329"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Deploying Polaris on MinIO"><meta name=twitter:description content="In this guide we walk through setting up a simple Polaris Server with loca [...]
Similar configurations are expected to work with other S3-compatible systems that also have the STS API.
-Setup# Clone the Polaris source repository, then build a docker image for Polaris.
+Setup Clone the Polaris source repository, then build a docker image for Polaris.
./gradlew :polaris-server:assemble -Dquarkus.container-image.build=true Start MinIO with Polaris using the docker compose example.
-docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js [...]
+docker compose -f getting-started/minio/docker-compose.yml up The compose script will start MinIO on default ports (API on 9000, UI on 9001) plus a Polaris Server pre-configured to that MinIO instance."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -142,10 +142,10 @@ docker compose -f getting-started/minio/docker-compose.yml up The compose script
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"></aside><main clas [...]
-<a href=https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html>STS</a> API.</p><h1 id=setup id=setup>Setup<a class=heading-anchor href=#setup aria-label=Anchor>#</a></h1><p>Clone the Polaris source repository, then build a docker image for Polaris.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>./gradlew :polaris-server:assembl [...]
+<a href=https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html>STS</a> API.</p><h1 id=setup>Setup</h1><p>Clone the Polaris source repository, then build a docker image for Polaris.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>./gradlew :polaris-server:assemble -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
</span></span></code></pre></div><p>Start MinIO with Polaris using the <code>docker compose</code> example.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker compose -f getting-started/minio/docker-compose.yml up
</span></span></code></pre></div><p>The compose script will start MinIO on default ports (API on 9000, UI on 9001)
-plus a Polaris Server pre-configured to that MinIO instance.</p><p>In this example the <code>root</code> principal has its password set to <code>s3cr3t</code>.</p><h1 id=connecting-from-spark id=connecting-from-spark>Connecting from Spark<a class=heading-anchor href=#connecting-from-spark aria-label=Anchor>#</a></h1><p>Start Spark.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data- [...]
+plus a Polaris Server pre-configured to that MinIO instance.</p><p>In this example the <code>root</code> principal has its password set to <code>s3cr3t</code>.</p><h1 id=connecting-from-spark>Connecting from Spark</h1><p>Start Spark.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>export AWS_REGION<span style=color:#f92672>=</span>us-west-2
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>bin/spark-sql <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.0,org.apache.iceberg:iceberg-aws-bundle:1.9.0 <span style=color:#ae81ff>\
@@ -162,11 +162,11 @@ plus a Polaris Server pre-configured to that MinIO instance.</p><p>In this examp
</span></span><span style=display:flex><span><span style=color:#66d9ef>create</span> namespace ns;
</span></span><span style=display:flex><span><span style=color:#66d9ef>create</span> <span style=color:#66d9ef>table</span> ns.t1 <span style=color:#66d9ef>as</span> <span style=color:#66d9ef>select</span> <span style=color:#e6db74>'abc'</span>;
</span></span><span style=display:flex><span><span style=color:#66d9ef>select</span> <span style=color:#f92672>*</span> <span style=color:#66d9ef>from</span> ns.t1;
-</span></span></code></pre></div><h1 id=connecting-from-minio-client id=connecting-from-minio-client>Connecting from MinIO client<a class=heading-anchor href=#connecting-from-minio-client aria-label=Anchor>#</a></h1><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>mc alias set pol http://localhost:9000 minio_root m1n1opwd
+</span></span></code></pre></div><h1 id=connecting-from-minio-client>Connecting from MinIO client</h1><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>mc alias set pol http://localhost:9000 minio_root m1n1opwd
</span></span><span style=display:flex><span>mc ls pol/bucket123/ns/t1
</span></span><span style=display:flex><span><span style=color:#f92672>[</span>2025-08-13 18:52:38 EDT<span style=color:#f92672>]</span> 0B data/
</span></span><span style=display:flex><span><span style=color:#f92672>[</span>2025-08-13 18:52:38 EDT<span style=color:#f92672>]</span> 0B metadata/
-</span></span></code></pre></div><p>Note: the values of <code>minio_root</code>, <code>m1n1opwd</code> and <code>bucket123</code> are defined in the docker compose file.</p><h1 id=notes-on-storage-configuation id=notes-on-storage-configuation>Notes on Storage Configuation<a class=heading-anchor href=#notes-on-storage-configuation aria-label=Anchor>#</a></h1><p>In this example the Polaris Catalog is defined as (excluding uninteresting properties):</p><div class=highlight><pre tabindex=0 s [...]
+</span></span></code></pre></div><p>Note: the values of <code>minio_root</code>, <code>m1n1opwd</code> and <code>bucket123</code> are defined in the docker compose file.</p><h1 id=notes-on-storage-configuation>Notes on Storage Configuation</h1><p>In this example the Polaris Catalog is defined as (excluding uninteresting properties):</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-json data- [...]
</span></span><span style=display:flex><span> <span style=color:#f92672>"name"</span>: <span style=color:#e6db74>"quickstart_catalog"</span>,
</span></span><span style=display:flex><span> <span style=color:#f92672>"storageConfigInfo"</span>: {
</span></span><span style=display:flex><span> <span style=color:#f92672>"endpoint"</span>: <span style=color:#e6db74>"http://localhost:9000"</span>,
diff --git a/releases/1.1.0/getting-started/quickstart/index.html b/releases/1.1.0/getting-started/quickstart/index.html
index d055b2e1b..c88f7365e 100644
--- a/releases/1.1.0/getting-started/quickstart/index.html
+++ b/releases/1.1.0/getting-started/quickstart/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
<meta name=description content="Polaris can be deployed via a docker image or as a standalone process. Before starting, be sure that you&rsquo;ve satisfied the relevant prerequisites detailed in the previous page.
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:title" content="Quickstart"><meta property="og:description" content="Polaris can be deployed via a docker i [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting- [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><meta itemprop=wordCount content="575"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=tw [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
-Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href [...]
+Common Setup Before running Polaris, ensure you have completed the following setup steps:
+Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-server:quarkusAppPartsBuild --rerun \ :polaris-admin:assemble \ :polaris-admin:quarkusAppPartsBuild --rerun \ -Dquarkus.container-image.build=true For standalone: Omit the -Dquarkus.container-image.tag and -Dquarkus.container-image.build options if you do not need to build a Docker image."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,14 +133,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>./gradlew <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-server:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:assemble <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> :polaris-admin:quarkusAppPartsBuild --rerun <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> -Dquarkus.container-image.build<span style=color:#f92672>=</span>true
-</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker id=running-polaris-with-docker>Running Polaris with Docker<a class=heading-anchor href=#running-polaris-with-docker aria-label=Anchor>#</a></h2><p>To start using Polaris in Docker and launch Polaris, which is packaged wit [...]
+</span></span></code></pre></div><ul><li><strong>For standalone</strong>: Omit the <code>-Dquarkus.container-image.tag</code> and <code>-Dquarkus.container-image.build</code> options if you do not need to build a Docker image.</li></ul><h2 id=running-polaris-with-docker>Running Polaris with Docker</h2><p>To start using Polaris in Docker and launch Polaris, which is packaged with a Postgres instance, Apache Spark, and Trino.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;back [...]
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_JDBC_URL<span style=color:#f92672>=</span>jdbc:postgresql://postgres:5432/POLARIS
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_USERNAME<span style=color:#f92672>=</span>postgres
</span></span><span style=display:flex><span>export QUARKUS_DATASOURCE_PASSWORD<span style=color:#f92672>=</span>postgres
@@ -153,11 +153,11 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
spark-sql-1 | Spark master: local[*], Application Id: local-1743745174604
spark-sql-1 | 25/04/04 05:39:38 WARN SparkSQLCLIDriver: WARNING: Directory for Hive history file: /home/spark does not exist. History will not be available during this session.
spark-sql-1 | 25/04/04 05:39:39 WARN RESTSessionCatalog: Iceberg REST client is missing the OAuth2 server URI configuration and defaults to http://polaris:8181/api/catalogv1/oauth/tokens. This automatic fallback will be removed in a future Iceberg release.It is recommended to configure the OAuth2 endpoint using the 'oauth2-server-uri' property to be prepared. This warning will disappear if the OAuth2 endpoint is explicitly configured. See https://github.com/apache/iceber [...]
-</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process<a class=heading-anchor href=#running-polaris-as-a-standalone-process aria-label=Anchor>#</a></h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</str [...]
+</code></pre><p>The Docker image pre-configures a sample catalog called <code>quickstart_catalog</code> that uses a local file system.</p><h2 id=running-polaris-as-a-standalone-process>Running Polaris as a Standalone Process</h2><p>You can also start Polaris through Gradle (packaged within the Polaris repository):</p><ol><li><strong>Start the Server</strong></li></ol><p>Run the following command to start Polaris:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-colo [...]
</span></span></code></pre></div><p>You should see output for some time as Polaris builds and starts up. Eventually, you won’t see any more logs and should see messages that resemble the following:</p><pre tabindex=0><code>INFO [io.quarkus] [,] [,,,] (main) Apache Polaris Server (incubating) <version> on JVM (powered by Quarkus <version>) started in 1.911s. Listening on: http://0.0.0.0:8181. Management interface listening on http://0.0.0.0:8182.
INFO [io.quarkus] [,] [,,,] (main) Profile prod activated.
INFO [io.quarkus] [,] [,,,] (main) Installed features: [...]
</code></pre><p>At this point, Polaris is running.</p><p>When using a Gradle-launched Polaris instance in this tutorial, we’ll launch an instance of Polaris that stores entities only in-memory. This means that any entities that you define will be destroyed when Polaris is shut down.
-For more information on how to configure Polaris for production usage, see the <a href=/releases/1.1.0/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>s3cr3t</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing id=installing-apache-spark-and-trino-locally-for-test [...]
-</span></span></code></pre></div><h4 id=trino id=trino>Trino<a class=heading-anchor href=#trino aria-label=Anchor>#</a></h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><p [...]
-</span></span></code></pre></div><h2 id=next-steps id=next-steps>Next Steps<a class=heading-anchor href=#next-steps aria-label=Anchor>#</a></h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-m [...]
\ No newline at end of file
+For more information on how to configure Polaris for production usage, see the <a href=/releases/1.1.0/configuring-polaris-for-production/>docs</a>.</p><p>When Polaris is run using the <code>./gradlew run</code> command, the root principal credentials are <code>root</code> and <code>s3cr3t</code> for the <code>CLIENT_ID</code> and <code>CLIENT_SECRET</code>, respectively.</p><h3 id=installing-apache-spark-and-trino-locally-for-testing>Installing Apache Spark and Trino Locally for Testing [...]
+</span></span></code></pre></div><h4 id=trino>Trino</h4><p>If you want to connect to Polaris with <a href=https://trino.io/>Trino</a>, it is recommended to set up a test instance of Trino using Docker. As in the <a href=https://polaris.apache.org/releases/1.1.0/getting-started/install-dependencies/#docker>prerequisites</a>, make sure <a href=https://www.docker.com/>Docker</a> is installed first</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab- [...]
+</span></span></code></pre></div><h2 id=next-steps>Next Steps</h2><p>Congrats, you now have a running instance of Polaris! For further information regarding how to use Polaris, check out the <a href=https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/>Using Polaris</a> page.</p></div></main></div></div><footer class="td-footer row d-print-none"><div class=container-fluid><div class="row mx-md-2"><div class="td-footer__left col-6 col-sm-4 order-sm-1"><ul class=td-foote [...]
\ No newline at end of file
diff --git a/releases/1.1.0/getting-started/using-polaris/index.html b/releases/1.1.0/getting-started/using-polaris/index.html
index e5593dec1..4584888e9 100644
--- a/releases/1.1.0/getting-started/using-polaris/index.html
+++ b/releases/1.1.0/getting-started/using-polaris/index.html
@@ -1,13 +1,13 @@
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon.png sizes=100x100><link rel=icon type=image/png href=/favicons/android-ch [...]
-<meta name=description content="Setup# Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup# Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polar [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1414"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup# E [...]
-export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog# In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
-cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
+<meta name=description content="Setup Ensure your CLIENT_ID &amp; CLIENT_SECRET variables are already defined, as they were required for starting the Polaris server earlier.
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:title" content="Using Polaris"><meta property="og:description" content="Setup Ensure your CLIENT_ID & CLIENT_SECRET variables are already defined, as they were required for starting the Polari [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta property="og:type" content="article"><meta property="og:url" content="https://polaris.apache.org/releases/1.1.0/getting-started/using-polaris/"><meta property="article:section" content="releases"><meta ite [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><meta itemprop=wordCount content="1414"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Using Polaris"><meta name=twitter:description content="Setup En [...]
+export CLIENT_ID=YOUR_CLIENT_ID export CLIENT_SECRET=YOUR_CLIENT_SECRET Defining a Catalog In Polaris, the catalog is the top-level entity that objects like tables and views are organized under. With a Polaris service running, you can create a catalog like so:
+cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SECRET} \ catalogs \ create \ --storage-type s3 \ --default-base-location ${DEFAULT_BASE_LOCATION} \ --role-arn ${ROLE_ARN} \ quickstart_catalog This will create a new catalog called quickstart_catalog."><link rel=preload href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css as=style><link href=/scss/main.min.3b74f6f87c6a4f9b4cc7fbb626a2fbed2562ce67642b266ac961cc5d5f18ed2f.css [...]
<label for=m-releases090-check><a href=/releases/0.9.0/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases090><span>0.9.0</span></a></label><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090quickstart-li><input type=checkbox id=m-releases090quickstart-check>
<label for=m-releases090quickstart-check><a href=/releases/0.9.0/quickstart/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090quickstart><span>Quick Start</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090overview-li><input type=checkbox id=m-releases090overview-check>
<label for=m-releases090overview-check><a href=/releases/0.9.0/overview/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases090overview><span>Overview</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases090command-line-interface-li><input type=checkbox id=m-releases090command-line-interface-check>
@@ -133,9 +133,9 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
<label for=m-releases120evolution-check><a href=/releases/1.2.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases120polaris-api-specs-li><input type=checkbox id=m-releases120polaris-api-specs-check>
<label for=m-releases120polaris-api-specs-check><a href=/releases/1.2.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases120polaris-api-specs><span>Polaris API Reference</span></a></label><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases120polaris-api-specspolaris-management-api-check>
<label for=m-releases120polaris-api-specspolaris-management-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-management-api/ title="Apache Polaris Management Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-management-api><span>Management API ↗</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-releases120polaris-api-specspolaris-catalog [...]
-<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
+<label for=m-releases120polaris-api-specspolaris-catalog-api-check><a href=/releases/1.2.0/polaris-api-specs/polaris-catalog-api/ title="Apache Polaris Catalog Service OpenAPI Specification" class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases120polaris-api-specspolaris-catalog-api><span>Catalog API ↗</span></a></label></li></ul></li></ul></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class=td-toc> [...]
</span></span><span style=display:flex><span>export CLIENT_SECRET<span style=color:#f92672>=</span>YOUR_CLIENT_SECRET
-</span></span></code></pre></div><h2 id=defining-a-catalog id=defining-a-catalog>Defining a Catalog<a class=heading-anchor href=#defining-a-catalog aria-label=Anchor>#</a></h2><p>In Polaris, the <a href=/releases/1.1.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.1.0/entities/#table>tables</a> and <a href=/releases/1.1.0/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div cl [...]
+</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a Catalog</h2><p>In Polaris, the <a href=/releases/1.1.0/entities/#catalog>catalog</a> is the top-level entity that objects like <a href=/releases/1.1.0/entities/#table>tables</a> and <a href=/releases/1.1.0/entities/#view>views</a> are organized under. With a Polaris service running, you can create a catalog like so:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o- [...]
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>./polaris <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
@@ -146,7 +146,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --default-base-location <span style=color:#e6db74>${</span>DEFAULT_BASE_LOCATION<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --role-arn <span style=color:#e6db74>${</span>ROLE_ARN<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> quickstart_catalog
-</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
+</span></span></code></pre></div><p>This will create a new catalog called <strong>quickstart_catalog</strong>. If you are using one of the Getting Started locally-built Docker images, we have already created a catalog named <code>quickstart_catalog</code> for you.</p><p>The <code>DEFAULT_BASE_LOCATION</code> you provide will be the default location that objects in this catalog should be stored in, and the <code>ROLE_ARN</code> you provide should be a <a href=https://docs.aws.amazon.com/I [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-id <span style=color:#e6db74>${</span>CLIENT_ID<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --client-secret <span style=color:#e6db74>${</span>CLIENT_SECRET<span style=color:#e6db74>}</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> principals <span style=color:#ae81ff>\
@@ -196,7 +196,7 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog quickstart_catalog <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> --catalog-role quickstart_catalog_role <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span> CATALOG_MANAGE_CONTENT
-</span></span></code></pre></div><p>This grants the <a href=/releases/1.1.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
+</span></span></code></pre></div><p>This grants the <a href=/releases/1.1.0/entities/#privilege>catalog privileges</a> <code>CATALOG_MANAGE_CONTENT</code> to our catalog role, linking everything together like so:</p><p><img src=/img/quickstart/privilege-illustration-2.png alt="Principal to Catalog with Catalog Role" title="Principal to Catalog with Catalog Role"></p><p><code>CATALOG_MANAGE_CONTENT</code> has create/list/read/write privileges on all entities within the catalog. The same p [...]
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.9.1,org.apache.iceberg:iceberg-aws-bundle:1.9.1 <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.extensions<span style=color:#f92672>=</span>org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.warehouse<span style=color:#f92672>=</span>quickstart_catalog <span style=color:#ae81ff>\
@@ -208,11 +208,11 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.scope<span style=color:#f92672>=</span><span style=color:#e6db74>'PRINCIPAL_ROLE:ALL'</span> <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.token-refresh-enabled<span style=color:#f92672>=</span>true <span style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span style=color:#ae81ff></span>--conf spark.sql.catalog.quickstart_catalog.client.region<span style=color:#f92672>=</span>us-west-2
-</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container id=using-spar [...]
+</span></span></code></pre></div><p>Similar to the CLI commands above, this configures Spark to use the Polaris running at <code>localhost:8181</code>. If your Polaris server is running elsewhere, but sure to update the configuration appropriately.</p><p>Finally, note that we include the <code>iceberg-aws-bundle</code> package here. If your table is using a different filesystem, be sure to include the appropriate dependency.</p><h4 id=using-spark-sql-from-a-docker-container>Using Spark S [...]
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml rm -f spark-sql
</span></span><span style=display:flex><span>docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml up -d --no-deps spark-sql
</span></span></code></pre></div><p>Attach to the running spark-sql container:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>docker attach <span style=color:#66d9ef>$(</span>docker ps -q --filter name<span style=color:#f92672>=</span>spark-sql<span style=color:#66d9ef>)</span>
-</span></span></code></pre></div><h4 id=sample-commands id=sample-commands>Sample Commands<a class=heading-anchor href=#sample-commands aria-label=Anchor>#</a></h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
+</span></span></code></pre></div><h4 id=sample-commands>Sample Commands</h4><p>Once the Spark session starts, we can create a namespace and table within the catalog:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-sql data-lang=sql><span style=display:flex><span>USE quickstart_catalog;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace;
</span></span><span style=display:flex><span><span style=color:#66d9ef>CREATE</span> NAMESPACE <span style=color:#66d9ef>IF</span> <span style=color:#66d9ef>NOT</span> <span style=color:#66d9ef>EXISTS</span> quickstart_namespace.<span style=color:#66d9ef>schema</span>;
... 3046 lines suppressed ...