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/23 22:50:01 UTC
(polaris) branch asf-site updated: deploy: e887f3ddc0325f6e34e0197e7e1e411ca038e649
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 7636fd1c8 deploy: e887f3ddc0325f6e34e0197e7e1e411ca038e649
7636fd1c8 is described below
commit 7636fd1c825f67ce9c32073fd7e759e32a76cd22
Author: MonkeyCanCode <Mo...@users.noreply.github.com>
AuthorDate: Fri Jan 23 22:49:57 2026 +0000
deploy: e887f3ddc0325f6e34e0197e7e1e411ca038e649
---
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 | 6 +-
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 | 298 ++++++++++-----------
...rch-index.0e87d73501a17502b1788326dd1e8482.json | 1 -
...rch-index.6bc2c56f78a1e35e65d58bbed4edb632.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/1.3.0/admin-tool/index.html | 16 +-
releases/1.3.0/command-line-interface/index.html | 204 +++++++-------
releases/1.3.0/configuration/index.html | 16 +-
.../index.html | 2 +-
.../configuring-polaris-for-production/index.html | 18 +-
releases/1.3.0/entities/index.html | 18 +-
releases/1.3.0/evolution/index.html | 18 +-
.../hive-metastore-federation/index.html | 20 +-
.../federation/iceberg-rest-federation/index.html | 14 +-
releases/1.3.0/federation/index.html | 2 +-
releases/1.3.0/federation/index.xml | 4 +-
releases/1.3.0/generic-table/index.html | 22 +-
.../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 +-
releases/1.3.0/getting-started/index.html | 4 +-
releases/1.3.0/getting-started/index.xml | 6 +-
.../install-dependencies/index.html | 20 +-
.../1.3.0/getting-started/quick-start/index.html | 12 +-
.../1.3.0/getting-started/using-polaris/index.html | 22 +-
.../1.3.0/getting-started/using-polaris/index.xml | 2 +-
.../using-polaris/keycloak-idp/index.html | 24 +-
.../using-polaris/telemetry-tools/index.html | 2 +-
releases/1.3.0/helm/index.html | 36 +--
releases/1.3.0/index.html | 22 +-
releases/1.3.0/index.xml | 28 +-
.../managing-security/access-control/index.html | 14 +-
.../external-idp/idp-dev-notes/index.html | 24 +-
.../managing-security/external-idp/index.html | 24 +-
.../1.3.0/managing-security/external-idp/index.xml | 4 +-
.../managing-security/external-pdp/index.html | 6 +-
.../1.3.0/managing-security/external-pdp/index.xml | 2 +-
.../managing-security/external-pdp/opa/index.html | 26 +-
releases/1.3.0/managing-security/index.html | 2 +-
releases/1.3.0/metastores/index.html | 24 +-
releases/1.3.0/polaris-api-specs/index.html | 2 +-
.../polaris-catalog-api/index.html | 2 +-
.../polaris-management-api/index.html | 2 +-
releases/1.3.0/polaris-spark-client/index.html | 14 +-
releases/1.3.0/policy/index.html | 22 +-
releases/1.3.0/realm/index.html | 18 +-
releases/1.3.0/telemetry/index.html | 24 +-
releases/index.html | 2 +-
...538448526ec49a5416f372b6c78c66dee43100aad3.css} | 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 +-
297 files changed, 2606 insertions(+), 2606 deletions(-)
diff --git a/404.html b/404.html
index a7d5c1a8b..8be03ac19 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 dde92c80b..5f09d0df4 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 05b08c82a..514c02a41 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 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></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 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><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 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><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 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><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 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><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 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><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 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></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 244da9896..cd48b10df 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 252ed096a..e643d65f0 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 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><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 96d1495ef..68b835fa4 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-drive [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
</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 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><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 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><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 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></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 253ba941c..a3a08dec1 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="Introduc [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnw [...]
<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 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
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 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
(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 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
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 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,
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 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
#<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 1d3084120..b514701a1 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 [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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,
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 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.
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 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.
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 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.
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 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 [...]
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 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 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 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 [...]
</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 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><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 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><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 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><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 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><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 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><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 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><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 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
<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 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
</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 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><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 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.
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 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
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 07f2c31a6..6eba6338a 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
diff --git a/blog/index.html b/blog/index.html
index a691adb88..ae03b34a8 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,9 +7,9 @@
<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> [...]
+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 [...]
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 [...]
diff --git a/blog/index.xml b/blog/index.xml
index ffa2e46aa..1965687e6 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.o [...]
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.ap [...]
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 b41aa950a..d9b750006 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 e2dc12efa..bdd2d2ca2 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 un [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
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 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 [...]
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 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
diff --git a/community/community-guidelines/index.html b/community/community-guidelines/index.html
index 207e27014..26029e284 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526e [...]
<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 a8c061bcc..1899045ff 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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><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 8d97c6283..4faa3d1c6 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..c7ba38286 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 2904809fa..d95384f63 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 ce3755ba6..b0fa8aff2 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 35f7bfa10..7f6071480 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..d6c2b108e 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 e9b3199ca..66b3227e7 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 [...]
<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 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 [...]
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 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
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 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
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 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><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 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
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 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>
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 id=start-the-vote-thread>Start the vote thread<a class=hea [...]
</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 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><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 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 [...]
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 id=publishing-the-docker-images>Publishing the Docker images<a class=heading-anchor href=#publishing-the-docker-images aria-label=Anchor>🔗</ [...]
./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 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><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 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)</ [...]
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 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.
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 ef918220a..902b3d40e 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
<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 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.
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 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 [...]
</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 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 [...]
========================
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 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 [...]
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 db0e27ac0..198c16986 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
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 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 [...]
</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 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.
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 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 [...]
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 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 [...]
</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 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
diff --git a/community/security-report/index.html b/community/security-report/index.html
index 94164a353..17f615856 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 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."><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 [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 f8f4c8897..ee54baa26 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://archive.apache.org/dist/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz>source tar.gz</a></td><td><a href=https://archive.apache.org/dist/incubator/polaris/1.1.0-incubating/apach [...]
+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://archive.apache.org/dist/incubator/polaris/1.1.0-incubating/apache-polaris-1.1.0-incubating.tar.gz>source tar.gz</a></td><td><a href=https://archive.apache.org/dist/incubator/polaris/1.1.0-incubating/apach [...]
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 id=101>1.0.1<a class=hea [...]
\ No newline at end of file
diff --git a/guides/index.html b/guides/index.html
index 3da8d6446..7ed992bd9 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 639eff558..e53379d06 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 f71fc09ff..afb7c2cde 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 624251a27..2bab60f1d 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"><met [...]
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 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:<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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet int [...]
<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 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.
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 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
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 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 [...]
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 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 [...]
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 aeaf15587..83825583d 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="5026"><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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
-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 id= [...]
</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 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 [...]
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 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 [...]
options:
create
Named arguments:
@@ -133,7 +133,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 id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -151,29 +151,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 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
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 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
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 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
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 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
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 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -184,10 +184,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 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
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 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 [...]
options:
create
Named arguments:
@@ -195,35 +195,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
options:
update
Named arguments:
@@ -231,16 +231,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 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
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 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
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 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
options:
reset
Named arguments:
@@ -248,50 +248,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 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
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 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:</ [...]
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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-16>Examples<a class=heading-anchor href=#examples-16 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -299,30 +299,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 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
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 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
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 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
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 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
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 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
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 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 [...]
options:
create
Named arguments:
@@ -330,40 +330,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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-23>Examples<a class=heading-anchor href=#examples-23 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -372,10 +372,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 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
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 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
options:
grant
Named arguments:
@@ -383,10 +383,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 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
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 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
options:
revoke
Named arguments:
@@ -394,10 +394,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 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
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 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 [...]
options:
create
Named arguments:
@@ -406,50 +406,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
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 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
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 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
options:
catalog
grant
@@ -465,7 +465,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 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -479,7 +479,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 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
options:
namespace
grant
@@ -497,7 +497,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 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -512,7 +512,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 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
options:
table
grant
@@ -532,7 +532,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 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -550,7 +550,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 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
options:
view
grant
@@ -570,7 +570,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 id=examples-35>Examples<a class=heading-anchor href=#examples-35 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -588,35 +588,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 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 [...]
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 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
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 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
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 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
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 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
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 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 [...]
options:
attach
Named arguments:
@@ -627,10 +627,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 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
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 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
options:
create
Named arguments:
@@ -641,10 +641,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 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
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 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
options:
delete
Named arguments:
@@ -653,10 +653,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 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
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 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
options:
detach
Named arguments:
@@ -667,10 +667,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 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
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 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
options:
get
Named arguments:
@@ -678,8 +678,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 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
options:
list
Named arguments:
@@ -688,10 +688,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 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
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 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
options:
update
Named arguments:
@@ -701,10 +701,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 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
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 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> [...]
polaris catalogs create \
--type internal \
@@ -714,7 +714,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 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
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -729,7 +729,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 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>, [...]
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 0a33604f3..e9b2d6599 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 Doc [...]
📝 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="3030"><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="3030"><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 [...]
📝 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
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 bfbcb73de..25ebc76f1 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 bd66f35c7..c1438d3e6 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 [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8 [...]
<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 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><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 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><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 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><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 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><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 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><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 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><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 7b304c549..30e7cc4e2 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 id=configure-oauth2 [...]
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 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
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 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
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 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
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 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,
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 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
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 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
diff --git a/in-dev/unreleased/configuring-polaris-for-production/index.xml b/in-dev/unreleased/configuring-polaris-for-production/index.xml
index ae327359e..423d0200b 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 d76344d25..8ad381ebd 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
<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 362952129..df2844e07 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
“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 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
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 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
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 fabe5c225..180fe1c8b 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100a [...]
<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 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.
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 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
<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 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
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 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 [...]
</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 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
<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 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
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 14a21548e..99cc88c6a 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100 [...]
<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 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
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 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
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 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
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 bb449250b..f952fbb18 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..e38d2b610 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</ [...]
+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 cc94793fd..57e5d413f 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 th [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2 [...]
<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 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><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 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
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 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
diff --git a/in-dev/unreleased/getting-started/binary-distribution/index.html b/in-dev/unreleased/getting-started/binary-distribution/index.html
index 9d52ea22a..2442e0090 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 06b1bc7f5..11c3ceb2b 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=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 [...]
<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 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></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 2e1fd4409..d64531e41 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_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 [...]
<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 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></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 4214ee612..d5f6d127f 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d92 [...]
<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 9aa73c4ec..3e2391424 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..7d191f1de 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_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 [...]
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 09be1ef56..e89737eb5 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 1f21a2899..7e853ba77 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 b26c1a886..35b33b4aa 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 e54c84036..089564822 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 d00c792a6..bc76f4a31 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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/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 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 [...]
</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 d43a429ec..dac845618 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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/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 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 [...]
</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 bd79dfad0..8031f81fa 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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/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 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 [...]
</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 a69c14fd0..b09c4b73a 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 32434d5fd..281f55e3a 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..9ca1ba319 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 43f02411d..8665105fa 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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><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 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 [...]
</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 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,
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 53b3149c4..be4c96b76 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..865078112 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 1a21d1060..563fc5033 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><s [...]
<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 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><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 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><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 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><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 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><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 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></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 76ad87eae..13b0d39b8 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 3ce1ec313..66cce4e1b 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 id=creating-a-principal-and-assigning-it-privileges>Creating a Pri [...]
</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 id=using-spar [...]
</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 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><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 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- [...]
</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 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><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 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><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 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></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 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></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..f2e2f48fc 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 f9976bac8..21708b311 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 create [...]
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 Keycloa [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
</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 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></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 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></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 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 [...]
</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 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
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 f14a6488d..5e400aa14 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 4e0473aa9..4be8e1335 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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><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 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 [...]
</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 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></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 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><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 id=uninstalling>Uninstalling<a class=heading-anchor href=#uninstalling aria-label= [...]
</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 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><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 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
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 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
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 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
diff --git a/in-dev/unreleased/index.html b/in-dev/unreleased/index.html
index 0bfa2487e..868e4c156 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 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 [...]
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 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 [...]
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 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 [...]
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 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
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 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
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 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
diff --git a/in-dev/unreleased/index.xml b/in-dev/unreleased/index.xml
index ac31420e1..af98c8677 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. [...]
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 i [...]
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><gu [...]
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 ava [...]
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 [...]
📝 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 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:
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 14d901a07..528347144 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
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 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 [...]
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 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> [...]
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 d798fd9fd..f731fba42 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 [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
</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 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>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 badf2bfc2..37573e6fd 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 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><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 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><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 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>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 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><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 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><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 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><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 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><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 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><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 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
diff --git a/in-dev/unreleased/managing-security/external-idp/index.xml b/in-dev/unreleased/managing-security/external-idp/index.xml
index 44420795a..9efb2a77f 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 ae51696be..77f91347a 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 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 [...]
</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..f66bb2b77 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 65ef6860f..73b27a79f 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:desc [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.c [...]
<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 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
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 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>
</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 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><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 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 [...]
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 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
diff --git a/in-dev/unreleased/managing-security/index.html b/in-dev/unreleased/managing-security/index.html
index 5fcb824d5..559f5c3da 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 ee7688e02..06718fc83 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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 [...]
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 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
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 c1e8433a2..a1a1fdf19 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 147321f49..d45ec9d2d 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 f99b53b21..7572027f5 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 826a4b004..015e309fc 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=descri [...]
📝 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 tab [...]
📝 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.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" 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 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).
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 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
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 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><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 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
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 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 [...]
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 378e69861..aa4c33eba 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 f [...]
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:desc [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a [...]
<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 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
|
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 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 [...]
</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 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><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 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
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 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
diff --git a/in-dev/unreleased/realm/index.html b/in-dev/unreleased/realm/index.html
index 5b3731ffe..eae2b4863 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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" 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 ae29e1fab..7d3e0f56b 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 metr [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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 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
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 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
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 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.
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 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
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 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
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 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
diff --git a/index.html b/index.html
index a7f6a61ea..78b12fcba 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 01511e5af..257083525 100644
--- a/index.xml
+++ b/index.xml
@@ -1,8 +1,8 @@
<?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>Quickstart</title><link>https://polaris.apache.org/releases/1.3.0/getting-started/quick-start/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/getting-started/quick-start/</guid><description>Use this guide to quickly start running Polaris. This is not [...]
-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:
Create a Catalog named quickstart_catalog with MinIO-backed storage. Create a user principal quickstart_user with full access to the catalog. Once the command has been run, you will see examples on how to interact with this Polaris server in the logs.</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:/ [...]
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.
@@ -11,29 +11,29 @@ Note: the name quickstart_catalog from the example below is referenced in other
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>Binary Distribution</title><link>https://polaris.apache.org/releases/1.3.0/getting-started/binary-distribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/getting-started/binary-distribution/</guid><description>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.0.0-incubating/polaris-bin-1.0.0-incubating.tgz | tar xz cd polaris-distribution-1.0.0-incubating Start the Polaris server:
bin/server The server will start and listen on http://localhost:8181. 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>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.3.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/ [...]
+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>Installing Dependencies</title><link>https://polaris.apache.org/releases/1.3.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 [...]
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>Open Policy Agent (OPA) Integration</title><link>https://polaris.apache.org/releases/1.3.0/managing-security/external-pdp/opa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</p [...]
+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>Open Policy Agent (OPA) Integration</title><link>https://polaris.apache.org/releases/1.3.0/managing-security/external-pdp/opa/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</p [...]
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.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.
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>Creating a catalog on Apache Ozone</title><link>https://polaris.apache.org/releases/1.3.0/getting-started/creating-a-catalog/s3/catalog-ozone/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.o [...]
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.
@@ -41,60 +41,60 @@ 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).</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>Role-Based Access Control</title><link>https://polaris.apache.org/releases/1.3.0/managing-security/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/managing-security/access-control/</guid><description>This section provides information about how access [...]
+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>Role-Based Access Control</title><link>https://polaris.apache.org/releases/1.3.0/managing-security/access-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/managing-security/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 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>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 [...]
---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 [...]
-Common Setup# Before running Polaris, ensure you have completed the following setup steps:
+--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 [...]
+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/releases/1.3.0/getting-start [...]
-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>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>Creating a catalog on MinIO</title><link>https://polaris.apache.org/releases/1.3.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.3.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/a [...]
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/a [...]
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.3.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.3.0/admin-tool/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/a [...]
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 [...]
---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=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 [...]
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>Migrating from Existing Iceberg Catalogs</title><link>https://polaris.apache.org/releases/1.3.0/getting-started/creating-a-catalog [...]
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. Both of these tools are available in the Polaris-Tools repository.</description></item><item><title>Command Line Interface</title><link>https://polaris.apache.org/ [...]
The basic syntax of the Polaris CLI is outlined below:
@@ -120,14 +120,14 @@ 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 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.
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>Authentication Development Details</title><link>https://polaris.apache.org/releases/1.3.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.3.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.
+The DefaultAuthenticator is used to implement realm-specific logic based on these abstractions.</description></item><item><title>Authentication Development Details</title><link>https://polaris.apache.org/releases/1.3.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.3.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:
@@ -161,56 +161,56 @@ 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>Realm</title><link>https://polaris.apache.org/releases/1.3.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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>Realm</title><link>https://polaris.apache.org/releases/1.3.0/realm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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>Entities</title><link>https://polaris.apache.org/releases/1.3.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.3.0/entities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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 [...]
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>Getting Started with Apache Polaris, External Authentication and Keycloak</title><link>https://polaris.apache.org/releases/1.3.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.3.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:
@@ -225,97 +225,97 @@ 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://polari [...]
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://polari [...]
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://polari [...]
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://polari [...]
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.3.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.3.0/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polari [...]
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><gu [...]
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</title><link>https://polaris.apache.org/releases/1.3.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/generic-table/</guid><description>The Generic Table in Apache Polaris is designed to prov [...]
-Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace What is a Generic Table?# A generic table in Polaris is an entity that defines the following fields:
+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</title><link>https://polaris.apache.org/releases/1.3.0/generic-table/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/generic-table/</guid><description>The Generic Table in Apache Polaris is designed to prov [...]
+Create a generic table under a namespace Load a generic table Drop a generic table List all generic tables under a namespace What is a Generic Table?🔗 A generic table in Polaris is an entity that defines the following fields:
name (required): A unique identifier for the table within a namespace format (required): The format for the generic table, i.</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 to provide support for non-Iceberg tables across differe [...]
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 availab [...]
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 availab [...]
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 availab [...]
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 availab [...]
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.3.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.3.0/telemetry/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/telemetry/</guid><description>Metrics🔗 Metrics are published using Micrometer; they are availab [...]
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 [...]
+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, [...]
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, [...]
[!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, [...]
📝 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.3.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.3.0/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.</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 GCS Cloud Storage</title><link>https://polaris.apache.org/releases/1.3.0/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/releases/1.3.0/configuring-polaris-for-production/configuring-gcs-cloud-storage-specific/</gu [...]
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><des [...]
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.
@@ -325,68 +325,68 @@ 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.3.0/polaris-spark-client/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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, [...]
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.3.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.3.0/helm/</link><pubDate>Mon, [...]
Homepage: https://polaris.apache.org/
-Source Code# https://github.com/apache/polaris 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:
+Source Code🔗 https://github.com/apache/polaris 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</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 [...]
-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>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>Metastores</title><link>https://polaris.apache.org/releases/1.3.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/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.
+1. Relational JDBC metastore with username and password🔗 using environment variables:</description></item><item><title>Metastores</title><link>https://polaris.apache.org/releases/1.3.0/metastores/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.0/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.
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>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/ [...]
-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>Iceberg REST Federation</title><link>https://polaris.apache.org/releases/1.3.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>Hive Metastore Federation</title><link>https://polaris.apache.org/releases/1.3.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 [...]
+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>Iceberg REST Federation</title><link>https://polaris.apache.org/releases/1.3.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>Hive Metastore Federation</title><link>https://polaris.apache.org/releases/1.3.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 [...]
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.
+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.3.0/evolution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://polaris.apache.org/releases/1.3.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.o [...]
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.ap [...]
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.0e87d73501a17502b1788326dd1e8482.json b/offline-search-index.0e87d73501a17502b1788326dd1e8482.json
deleted file mode 100644
index eb00ac944..000000000
--- a/offline-search-index.0e87d73501a17502b1788326dd1e8482.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/offline-search-index.6bc2c56f78a1e35e65d58bbed4edb632.json b/offline-search-index.6bc2c56f78a1e35e65d58bbed4edb632.json
new file mode 100644
index 000000000..67d70785e
--- /dev/null
+++ b/offline-search-index.6bc2c56f78a1e35e65d58bbed4edb632.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/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 b0f0757dd..6277977bf 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 (I [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
<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>
@@ -186,24 +186,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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 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 [...]
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 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 [...]
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 bc4176b6d..b478670d9 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -197,12 +197,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 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><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 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 [...]
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 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 [...]
options:
create
Named arguments:
@@ -220,7 +220,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 id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -233,29 +233,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 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
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 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
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 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
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 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
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 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -264,10 +264,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 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
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 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 < [...]
options:
create
Named arguments:
@@ -275,112 +275,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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:</ [...]
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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-14>Examples<a class=heading-anchor href=#examples-14 aria-label=Anchor>🔗</a></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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
options:
create
Named arguments:
@@ -388,40 +388,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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-21>Examples<a class=heading-anchor href=#examples-21 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -429,10 +429,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 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
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 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
options:
grant
Named arguments:
@@ -440,10 +440,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 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
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 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
options:
revoke
Named arguments:
@@ -451,10 +451,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 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
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 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 [...]
options:
create
Named arguments:
@@ -463,50 +463,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
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 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
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 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
options:
catalog
grant
@@ -522,7 +522,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 id=examples-30>Examples<a class=heading-anchor href=#examples-30 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -536,7 +536,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 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
options:
namespace
grant
@@ -554,7 +554,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 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -569,7 +569,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 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
options:
table
grant
@@ -589,7 +589,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 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -607,7 +607,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 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
options:
view
grant
@@ -627,7 +627,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 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -645,7 +645,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 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- [...]
polaris catalogs create \
--type internal \
@@ -655,7 +655,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 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
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -670,7 +670,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 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>, [...]
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 111a7774f..b4e9e29af 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -189,8 +189,8 @@ Configure OAuth with this setting. Remove the TestInlineBearerTokenPolarisAuthen
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 [...]
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
@@ -199,4 +199,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 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
diff --git a/releases/0.9.0/entities/index.html b/releases/0.9.0/entities/index.html
index 3c5737b56..3d054c28a 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
<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>
@@ -185,4 +185,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 608120960..e1d4dd14a 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..8241ee2b6 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 polar [...]
+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 a0f79d1e8..6d3b006ec 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -189,11 +189,11 @@ In order to specify a configuration file outside the classpath, follow these ste
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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>
@@ -213,7 +213,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 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><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 b92d6931e..5d73c2653 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -185,18 +185,18 @@ In the following diagram, a sample Apache Polaris (Incubating) structure with ne
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 [...]
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 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
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,
@@ -206,24 +206,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 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
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 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> [...]
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 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
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 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
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 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
diff --git a/releases/0.9.0/polaris-management-service/index.html b/releases/0.9.0/polaris-management-service/index.html
index 8da9fa4d5..d0f9bd07e 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 0355e29c7..48e9a19c4 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><s [...]
<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>
@@ -177,31 +177,31 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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 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><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 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><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 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><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 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>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 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><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>\
@@ -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> --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>\
@@ -260,7 +260,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 73e441f8b..dcfeddb99 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 d308ce751..3bf8ea91f 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 (I [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
<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>
@@ -186,24 +186,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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 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 [...]
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 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 [...]
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 4670eefcc..15e3533ea 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 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."><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:sectio [...]
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"><m [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d92 [...]
<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>
@@ -190,7 +190,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 id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>🔗</a></h2><p>Please ma [...]
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]
@@ -201,10 +201,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 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
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 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 [...]
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
@@ -219,7 +219,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 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!
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 356764d74..ef00fee33 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -201,13 +201,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 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><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 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 [...]
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 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 [...]
options:
create
Named arguments:
@@ -224,7 +224,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 id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -242,29 +242,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 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
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 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
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 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
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 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
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 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -273,10 +273,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 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
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 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>🔗</ [...]
options:
create
Named arguments:
@@ -284,118 +284,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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:</ [...]
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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>🔗</a></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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
options:
create
Named arguments:
@@ -403,40 +403,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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -444,10 +444,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 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
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 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
options:
grant
Named arguments:
@@ -455,10 +455,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 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
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 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
options:
revoke
Named arguments:
@@ -466,10 +466,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 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
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 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 [...]
options:
create
Named arguments:
@@ -478,50 +478,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
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 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
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 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
options:
catalog
grant
@@ -537,7 +537,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 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -551,7 +551,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 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
options:
namespace
grant
@@ -569,7 +569,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 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -584,7 +584,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 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
options:
table
grant
@@ -604,7 +604,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 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -622,7 +622,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 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
options:
view
grant
@@ -642,7 +642,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 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -660,35 +660,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 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 [...]
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 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
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 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
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 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
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 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
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 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- [...]
polaris catalogs create \
--type internal \
@@ -698,7 +698,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 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
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -713,7 +713,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 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>, [...]
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 0de5787a3..81a22dc4a 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 i [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -185,7 +185,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
@@ -206,11 +206,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 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 [...]
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 af24a31bb..3358beee9 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -182,7 +182,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 id=configure-oauth2 [...]
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
@@ -200,7 +200,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 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
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.
@@ -211,7 +211,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 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
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.
@@ -226,7 +226,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 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
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
@@ -249,7 +249,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 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,
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 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></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 65f46f0c0..21afa9fec 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
<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>
@@ -185,4 +185,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 2d0cdfb2c..68afbd898 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,7 +181,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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,
@@ -195,7 +195,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 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
“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
@@ -203,14 +203,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 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
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 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
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 4ad1a7a75..c180545b5 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -177,9 +177,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
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>,
@@ -201,7 +201,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 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><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>,
@@ -213,7 +213,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 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
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>: [
@@ -224,8 +224,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 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 [...]
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 318c474e4..c2c615adf 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 dfca2a77a..fd97e31ce 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 6bbb6aeab..66736cdc8 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -183,6 +183,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 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><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 f64c23ba7..e82eb0e5a 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 b0997f4e3..f9a9e5cd3 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..24ac34d08 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- [...]
+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 a2a954fac..9c20fa308 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=" [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><s [...]
<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>
@@ -177,12 +177,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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 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><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>
@@ -193,11 +193,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 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><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 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><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 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
diff --git a/releases/1.0.0/getting-started/quickstart/index.html b/releases/1.0.0/getting-started/quickstart/index.html
index fddf926ac..6ce03be12 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,14 +181,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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
@@ -201,11 +201,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 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 [...]
</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 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
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 c91d30b4e..d9479dadc 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,9 +181,9 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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>\
@@ -194,7 +194,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>\
@@ -244,7 +244,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>\
@@ -256,11 +256,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 id=using-spar [...]
</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 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><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>;
@@ -285,7 +285,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 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/ [...]
</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
@@ -306,12 +306,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 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></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 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></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 35fdb1c5e..5295842a0 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>
@@ -173,30 +173,30 @@
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 [...]
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 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 [...]
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 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 [...]
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 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
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 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
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 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
diff --git a/releases/1.0.0/index.xml b/releases/1.0.0/index.xml
index ecc1645cb..1290b907d 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><pubDat [...]
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 [...]
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🔗 [...]
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). Unle [...]
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 1aed233ce..b644cd3bc 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb [...]
<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>
@@ -182,7 +182,7 @@ POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql Q
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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
@@ -191,7 +191,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 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 [...]
(<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
@@ -200,7 +200,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>
@@ -227,7 +227,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 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><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 4cd8741cf..be387db1e 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 86164218e..d8b53eec3 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 156c4c953..e73021dd9 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -183,17 +183,17 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
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 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).
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 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
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>\
@@ -223,7 +223,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 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><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>)
@@ -231,9 +231,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 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
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 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 [...]
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 4c42d366d..ed2efc0d5 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 f [...]
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:desc [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a [...]
<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>
@@ -181,9 +181,9 @@ Create and manage policies Attach policies to specific resources (catalogs, name
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
|
Namespace
|
@@ -192,7 +192,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 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 [...]
</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>,
@@ -217,7 +217,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 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><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>,
@@ -225,7 +225,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 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
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>: [
@@ -257,4 +257,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 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
diff --git a/releases/1.0.0/realm/index.html b/releases/1.0.0/realm/index.html
index 797a6320f..bfe0ab6e7 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
<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>
@@ -181,6 +181,6 @@ Key Characteristics# Isolation: Each realm encapsulates its own set of resources
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 ebb97b873..482435fb5 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 metr [...]
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; [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,7 +181,7 @@ Additional tags can be added to the metrics by setting the polaris.metrics.tags.
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
@@ -191,7 +191,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 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
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
@@ -199,7 +199,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 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
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
@@ -212,10 +212,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 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.
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 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
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
@@ -226,7 +226,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 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
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 e2db3ccef..9a5545c15 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 (I [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
<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>
@@ -186,24 +186,24 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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 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 [...]
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 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 [...]
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 008a4e8ac..0b4aa3842 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 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."><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:sectio [...]
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"><m [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d92 [...]
<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>
@@ -190,7 +190,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 id=usage>Usage<a class=heading-anchor href=#usage aria-label=Anchor>🔗</a></h2><p>Please ma [...]
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]
@@ -201,10 +201,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 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
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 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 [...]
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
@@ -219,7 +219,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 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!
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 076820a4e..8a68e9f78 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -201,13 +201,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 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><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 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 [...]
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 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 [...]
options:
create
Named arguments:
@@ -224,7 +224,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 id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -242,29 +242,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 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
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 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
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 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
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 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
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 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -273,10 +273,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 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
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 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>🔗</ [...]
options:
create
Named arguments:
@@ -284,118 +284,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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:</ [...]
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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>🔗</a></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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
options:
create
Named arguments:
@@ -403,40 +403,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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -444,10 +444,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 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
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 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
options:
grant
Named arguments:
@@ -455,10 +455,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 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
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 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
options:
revoke
Named arguments:
@@ -466,10 +466,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 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
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 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 [...]
options:
create
Named arguments:
@@ -478,50 +478,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
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 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
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 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
options:
catalog
grant
@@ -537,7 +537,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 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -551,7 +551,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 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
options:
namespace
grant
@@ -569,7 +569,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 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -584,7 +584,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 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
options:
table
grant
@@ -604,7 +604,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 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -622,7 +622,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 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
options:
view
grant
@@ -642,7 +642,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 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -660,35 +660,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 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 [...]
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 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
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 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
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 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
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 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
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 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- [...]
polaris catalogs create \
--type internal \
@@ -698,7 +698,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 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
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -713,7 +713,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 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>, [...]
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 ba04f4b1f..aedebadd6 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 i [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -185,7 +185,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
@@ -206,11 +206,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 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 [...]
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 a31d11e7a..64485a06d 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -182,7 +182,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 id=configure-oauth2 [...]
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
@@ -200,7 +200,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 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
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.
@@ -211,7 +211,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 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
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.
@@ -226,7 +226,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 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
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
@@ -249,7 +249,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 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,
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 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></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 7a2e96b48..18c86c0d5 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
<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>
@@ -185,4 +185,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 bcedb2c01..066805707 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,7 +181,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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,
@@ -195,7 +195,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 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
“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
@@ -203,14 +203,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 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
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 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
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 3adddf2e4..c2b952e75 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -177,9 +177,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
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>,
@@ -201,7 +201,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 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><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>,
@@ -213,7 +213,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 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
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>: [
@@ -224,8 +224,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 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 [...]
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 e36172b4b..15a88eb47 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 93785082b..287198ccc 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 6bd9b4200..fd654f816 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -183,6 +183,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 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><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 fc396a34f..9e2844924 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 d923fd7e1..6ed76352d 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..b7b098637 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- [...]
+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 2c5d4bd8f..3d5a7eb4b 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=" [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><s [...]
<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>
@@ -177,12 +177,12 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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 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><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>
@@ -193,11 +193,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 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><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 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><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 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
diff --git a/releases/1.0.1/getting-started/quickstart/index.html b/releases/1.0.1/getting-started/quickstart/index.html
index 6eb97eb25..9e04c9476 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,14 +181,14 @@ Build Polaris cd ~/polaris ./gradlew \ :polaris-server:assemble \ :polaris-serve
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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
@@ -201,11 +201,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 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 [...]
</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 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
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 254207e8a..5501354d0 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 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,9 +181,9 @@ cd ~/polaris ./polaris \ --client-id ${CLIENT_ID} \ --client-secret ${CLIENT_SEC
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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>\
@@ -194,7 +194,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>\
@@ -244,7 +244,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>\
@@ -256,11 +256,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 id=using-spar [...]
</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 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><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>;
@@ -285,7 +285,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 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/ [...]
</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
@@ -306,12 +306,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 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></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 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></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 8605a9c29..16e4b20e7 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>
@@ -173,30 +173,30 @@
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 [...]
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 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 [...]
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 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 [...]
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 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
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 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
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 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
diff --git a/releases/1.0.1/index.xml b/releases/1.0.1/index.xml
index 1a653f7e8..d4780aa91 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><pubDat [...]
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 [...]
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🔗 [...]
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). Unle [...]
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 08f9badb0..b00e28df3 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb [...]
<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>
@@ -182,7 +182,7 @@ POLARIS_PERSISTENCE_TYPE=relational-jdbc QUARKUS_DATASOURCE_DB_KIND=postgresql Q
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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
@@ -191,7 +191,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 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 [...]
(<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
@@ -200,7 +200,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>
@@ -227,7 +227,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 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><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 88ccd7118..7763bdfc5 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 daa598325..4552e3f69 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 c53db73fd..cb794e54e 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -183,17 +183,17 @@ Note the Polaris Spark client is able to handle both Iceberg and Delta tables, n
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
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 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).
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 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
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>\
@@ -223,7 +223,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 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><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>)
@@ -231,7 +231,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 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
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 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></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 e481fb211..6b8eea345 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 f [...]
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:desc [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a [...]
<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>
@@ -181,9 +181,9 @@ Create and manage policies Attach policies to specific resources (catalogs, name
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
|
Namespace
|
@@ -192,7 +192,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 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 [...]
</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>,
@@ -217,7 +217,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 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><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>,
@@ -225,7 +225,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 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
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>: [
@@ -257,4 +257,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 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
diff --git a/releases/1.0.1/realm/index.html b/releases/1.0.1/realm/index.html
index 72cab0272..7e3ef0023 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmA [...]
<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>
@@ -181,6 +181,6 @@ Key Characteristics# Isolation: Each realm encapsulates its own set of resources
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 fe1b1d6d5..e5566feae 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 metr [...]
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; [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,7 +181,7 @@ Additional tags can be added to the metrics by setting the polaris.metrics.tags.
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
@@ -191,7 +191,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 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
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
@@ -199,7 +199,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 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
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
@@ -212,10 +212,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 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.
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 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
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
@@ -226,7 +226,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 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
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 69be7e1bd..38a00a1bf 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 (I [...]
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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadn [...]
<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>
@@ -186,19 +186,19 @@ Securable object Principal role Catalog role Privilege Securable object# A secur
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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
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 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 [...]
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 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> [...]
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 5391dbdc1..53d3411fc 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 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:<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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet int [...]
<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>
@@ -190,7 +190,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 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.
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]
@@ -201,10 +201,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 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
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 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 [...]
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
@@ -219,7 +219,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 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!
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 69f4d0629..c75705f43 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -202,13 +202,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 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><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 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 [...]
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 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 [...]
options:
create
Named arguments:
@@ -243,7 +243,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 id=examples>Examples<a class=heading-anchor href=#examples aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris catalogs create \
--storage-type s3 \
--default-base-location s3://example-bucket/my_data \
--role-arn ${ROLE_ARN} \
@@ -261,29 +261,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 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
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 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
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 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
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 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
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 id=examples-3>Examples<a class=heading-anchor href=#examples-3 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -294,10 +294,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 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
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 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>🔗</ [...]
options:
create
Named arguments:
@@ -305,35 +305,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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
options:
update
Named arguments:
@@ -341,53 +341,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 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
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 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
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 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:</ [...]
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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-15>Examples<a class=heading-anchor href=#examples-15 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -395,30 +395,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 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
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 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
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 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
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 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
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 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
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 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 [...]
options:
create
Named arguments:
@@ -426,40 +426,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 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
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 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
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 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
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 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
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 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
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 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
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 id=examples-22>Examples<a class=heading-anchor href=#examples-22 aria-label=Anchor>🔗</a></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 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
options:
update
Named arguments:
@@ -468,10 +468,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 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
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 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
options:
grant
Named arguments:
@@ -479,10 +479,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 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
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 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
options:
revoke
Named arguments:
@@ -490,10 +490,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 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
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 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 [...]
options:
create
Named arguments:
@@ -502,50 +502,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 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
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 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
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 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
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 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
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 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
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 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
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 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
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 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 [...]
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 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
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 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
options:
catalog
grant
@@ -561,7 +561,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 id=examples-31>Examples<a class=heading-anchor href=#examples-31 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
catalog \
grant \
--catalog my_catalog \
@@ -575,7 +575,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 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
options:
namespace
grant
@@ -593,7 +593,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 id=examples-32>Examples<a class=heading-anchor href=#examples-32 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
namespace \
grant \
--catalog my_catalog \
@@ -608,7 +608,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 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
options:
table
grant
@@ -628,7 +628,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 id=examples-33>Examples<a class=heading-anchor href=#examples-33 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
table \
grant \
--catalog my_catalog \
@@ -646,7 +646,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 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
options:
view
grant
@@ -666,7 +666,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 id=examples-34>Examples<a class=heading-anchor href=#examples-34 aria-label=Anchor>🔗</a></h5><pre tabindex=0><code>polaris privileges \
view \
grant \
--catalog my_catalog \
@@ -684,35 +684,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 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 [...]
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 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
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 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
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 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
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 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
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 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> [...]
polaris catalogs create \
--type internal \
@@ -722,7 +722,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 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
polaris principal-roles grant --principal my_user power_user
polaris catalog-roles create --catalog my_catalog my_catalog_role
@@ -737,7 +737,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 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>, [...]
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 e191c6c47..51ae7ffb9 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 i [...]
[!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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -185,7 +185,7 @@ Quarkus aggregates configuration properties from multiple sources, applying them
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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
@@ -207,12 +207,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 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 [...]
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 b8b3d40c7..ea1f05a36 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -182,7 +182,7 @@ rsa-key-pair uses a pair of public and private keys; symmetric-key uses a shared
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 id=configure-oauth2 [...]
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
@@ -200,7 +200,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 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
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.
@@ -211,7 +211,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 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
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.
@@ -225,7 +225,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 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
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
@@ -248,7 +248,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 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,
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 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></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 cdaf236ea..00425358a 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><script src=/jquery-3.7.1.min_3493789441505899954.js integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g==" crossorigin=anonymou [...]
<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>
@@ -185,4 +185,4 @@ Storage Type# All catalogs in Polaris are associated with a storage type."><link
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 e81b0dd5b..0ee791413 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,7 +181,7 @@ Revisions of the Iceberg REST Catalog API are controlled by the Apache Iceberg c
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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,
@@ -195,7 +195,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 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
“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
@@ -203,14 +203,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 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
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 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
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 949b81f2e..fd31024f8 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -181,35 +181,35 @@ internal (Default) Only Polaris internal authentication is used. external Authen
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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 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><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 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>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 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><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 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><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 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><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>
@@ -224,15 +224,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 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></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 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>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 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><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>],
@@ -243,7 +243,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 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><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 013eb694a..f85bc6950 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -177,9 +177,9 @@ Create a generic table under a namespace Load a generic table Drop a generic tab
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
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>,
@@ -201,7 +201,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 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><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>,
@@ -213,7 +213,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 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
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>: [
@@ -224,8 +224,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 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 [...]
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 966b93471..8c4f69f5a 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 e018488f7..691175bfb 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 4f04face9..48c8112d2 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -183,6 +183,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 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><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 e4f41d3fb..f26ecbc20 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -187,6 +187,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 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><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 8ff7d3886..66e47953d 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..42e469ef4 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- [...]
+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 ceb10e90c..76a7b4775 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=" [...]
+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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css rel=stylesheet integrity><s [...]
<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>
@@ -177,11 +177,11 @@ Prerequisites# This guide covers building Polaris, deploying it locally or via D
<label for=m-releases130evolution-check><a href=/releases/1.3.0/evolution/ class="align-left ps-0 td-sidebar-link td-sidebar-link__page" id=m-releases130evolution><span>Polaris Evolution</span></a></label></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-releases130polaris-api-specs-li><input type=checkbox id=m-releases130polaris-api-specs-check>
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
-<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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><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 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><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>
@@ -192,12 +192,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 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><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 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><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 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></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 2b545a221..85aa4242d 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.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.css as=style><link href=/scss/main.min.37fb17c572c6ee56d9281c538448526ec49a5416f372b6c78c66dee43100aad3.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>
@@ -190,10 +190,10 @@ docker compose -f getting-started/minio/docker-compose.yml up The compose script
<label for=m-releases130polaris-api-specs-check><a href=/releases/1.3.0/polaris-api-specs/ class="align-left ps-0 td-sidebar-link td-sidebar-link__section" id=m-releases130polaris-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-releases130polaris-api-specspolaris-management-api-li><input type=checkbox id=m-releases130polaris-api-specspolaris-management-api-check>
<label for=m-releases130polaris-api-specspolaris-management-api-check><a href=/releases/1.3.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-releases130polaris-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-releases130polaris-api-specspolaris-catalog [...]
<label for=m-releases130polaris-api-specspolaris-catalog-api-check><a href=/releases/1.3.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-releases130polaris-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 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 [...]
</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 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- [...]
</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>\
@@ -210,11 +210,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 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
... 5798 lines suppressed ...