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 aee6a041 deploy: d9bf877b231de0f09f0f78f66f3bf6dc7dabcfca
aee6a041 is described below
commit aee6a041abc20f05bc2c10fe2a4dbb15da9d88ad
Author: jbonofre <[email protected]>
AuthorDate: Wed Oct 2 11:14:47 2024 +0000
deploy: d9bf877b231de0f09f0f78f66f3bf6dc7dabcfca
---
community/index.html | 2 +-
in-dev/unreleased/command-line-interface/index.html | 2 +-
.../unreleased/configuring-polaris-for-production/index.html | 2 +-
in-dev/unreleased/index.html | 2 +-
in-dev/unreleased/overview/index.html | 12 ++++++------
in-dev/unreleased/quickstart/index.html | 12 ++++++------
6 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/community/index.html b/community/index.html
index fc299c50..63631d2b 100644
--- a/community/index.html
+++ b/community/index.html
@@ -4,4 +4,4 @@
<label for=m-communitymeetings2024-check><a href=/community/meetings/2024/
title="Apache Polaris Community Meetings in 2024" class="align-left ps-0
td-sidebar-link td-sidebar-link__section"
id=m-communitymeetings2024><span>2024</span></a></label></li></ul></li><li
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child"
id=m-communitycode-of-conduct-li><input type=checkbox
id=m-communitycode-of-conduct-check>
<label for=m-communitycode-of-conduct-check><a
href=/community/code-of-conduct/ title class="align-left ps-0 td-sidebar-link
td-sidebar-link__page" id=m-communitycode-of-conduct><span>Code Of
Conduct</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-communitycontributing-guidelines-li><input type=checkbox
id=m-communitycontributing-guidelines-check>
-<label for=m-communitycontributing-guidelines-check><a
href=/community/contributing-guidelines/ title class="align-left ps-0
td-sidebar-link td-sidebar-link__page"
id=m-communitycontributing-guidelines><span>Contributing
Guidelines</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 td-breadcrumbs__single"><ol class=breadcrumb><li
class="breadcrumb-item active" aria-current=pag [...]
\ No newline at end of file
+<label for=m-communitycontributing-guidelines-check><a
href=/community/contributing-guidelines/ title class="align-left ps-0
td-sidebar-link td-sidebar-link__page"
id=m-communitycontributing-guidelines><span>Contributing
Guidelines</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 td-breadcrumbs__single"><ol class=breadcrumb><li
class="breadcrumb-item active" aria-current=pag [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/command-line-interface/index.html
b/in-dev/unreleased/command-line-interface/index.html
index f0a81910..e5d1f569 100644
--- a/in-dev/unreleased/command-line-interface/index.html
+++ b/in-dev/unreleased/command-line-interface/index.html
@@ -333,7 +333,7 @@ options:
polaris namespaces list --catalog my_catalog --parent a
polaris namespaces list --catalog my_catalog --parent a.b
-</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code>
command is used to grant various privileges to a catalog role, or to revoke
those privileges. Privileges can be on the level of a catalog, a namespace, a
table, or a view. For more information on privileges, please refer to the <a
href=entities.mdrivilege>docs</a>.</p><p>Note that when using the
<code>privileges</code> command, the user specifies the relevant catalog and
catalog role before selecting a subcomman [...]
+</code></pre><h3 id=privileges>Privileges</h3><p>The <code>privileges</code>
command is used to grant various privileges to a catalog role, or to revoke
those privileges. Privileges can be on the level of a catalog, a namespace, a
table, or a view. For more information on privileges, please refer to the <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#privilege>docs</a>.</p><p>Note
that when using the <code>privileges</code> command, the user specifies the
relevant catalog [...]
options:
list
Named arguments:
diff --git a/in-dev/unreleased/configuring-polaris-for-production/index.html
b/in-dev/unreleased/configuring-polaris-for-production/index.html
index b8e929eb..80205ddc 100644
--- a/in-dev/unreleased/configuring-polaris-for-production/index.html
+++ b/in-dev/unreleased/configuring-polaris-for-production/index.html
@@ -25,6 +25,6 @@ Configure OAuth with this setting. Remove the
TestInlineBearerTokenPolarisAuthen
<label for=m-in-devunreleasedconfiguring-polaris-for-production-check><a
href=/in-dev/unreleased/configuring-polaris-for-production/ title="Configuring
Apache Polaris (Incubating) for Production" class="align-left ps-0 active
td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedconfiguring-polaris-for-production><span
class=td-sidebar-nav-active-item>Deploying In
Production</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child" id=m- [...]
<label for=m-in-devunreleasedmetastores-check><a
href=/in-dev/unreleased/metastores/ class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedmetastores><span>Metastores</span></a></label></li><li
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child"
id=m-in-devunreleasedpolaris-management-service-li><input type=checkbox
id=m-in-devunreleasedpolaris-management-service-check>
<label for=m-in-devunreleasedpolaris-management-service-check><a
href=/in-dev/unreleased/polaris-management-service/ title="Apache Polaris
Management Service OpenAPI" class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedpolaris-management-service><span>Management
OpenAPI</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-in-devunreleasedrest-catalog-open-api-li><input type=checkbox
id=m-in-devunrelease [...]
-<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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><nav id=TableOfContents><ul><li><a
href=#security>Security</a><ul><li>< [...]
+<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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><nav id=TableOfContents><ul><li><a
href=#security>Security</a><ul><li>< [...]
</span></span></code></pre></div><p>Afterwards, Polaris can be launched
normally:</p><div class=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 server polaris-server.yml
</span></span></code></pre></div><h2 id=other-configurations>Other
Configurations</h2><p>When deploying Polaris in production, consider adjusting
the following configurations:</p><h4
id=featureconfigurationsupported_catalog_storage_types>featureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES</h4><ul><li>By
default Polaris catalogs are allowed to be located in local filesystem with
the <code>FILE</code> storage type. This should be disabled for production
systems.</li><li>Use this configura [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/index.html b/in-dev/unreleased/index.html
index b5824446..380fbcc1 100644
--- a/in-dev/unreleased/index.html
+++ b/in-dev/unreleased/index.html
@@ -9,4 +9,4 @@
<label for=m-in-devunreleasedconfiguring-polaris-for-production-check><a
href=/in-dev/unreleased/configuring-polaris-for-production/ title="Configuring
Apache Polaris (Incubating) for Production" class="align-left ps-0
td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedconfiguring-polaris-for-production><span>Deploying In
Production</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-in-devunreleasedmetastores-li><input typ [...]
<label for=m-in-devunreleasedmetastores-check><a
href=/in-dev/unreleased/metastores/ class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedmetastores><span>Metastores</span></a></label></li><li
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child"
id=m-in-devunreleasedpolaris-management-service-li><input type=checkbox
id=m-in-devunreleasedpolaris-management-service-check>
<label for=m-in-devunreleasedpolaris-management-service-check><a
href=/in-dev/unreleased/polaris-management-service/ title="Apache Polaris
Management Service OpenAPI" class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedpolaris-management-service><span>Management
OpenAPI</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-in-devunreleasedrest-catalog-open-api-li><input type=checkbox
id=m-in-devunrelease [...]
-<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href
[...]
\ No newline at end of file
+<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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
class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href
[...]
\ No newline at end of file
diff --git a/in-dev/unreleased/overview/index.html
b/in-dev/unreleased/overview/index.html
index 7e90519e..2bac138d 100644
--- a/in-dev/unreleased/overview/index.html
+++ b/in-dev/unreleased/overview/index.html
@@ -21,7 +21,7 @@ In the following diagram, a sample Apache Polaris
(Incubating) structure with ne
<label for=m-in-devunreleasedconfiguring-polaris-for-production-check><a
href=/in-dev/unreleased/configuring-polaris-for-production/ title="Configuring
Apache Polaris (Incubating) for Production" class="align-left ps-0
td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedconfiguring-polaris-for-production><span>Deploying In
Production</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-in-devunreleasedmetastores-li><input typ [...]
<label for=m-in-devunreleasedmetastores-check><a
href=/in-dev/unreleased/metastores/ class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedmetastores><span>Metastores</span></a></label></li><li
class="td-sidebar-nav__section-title td-sidebar-nav__section without-child"
id=m-in-devunreleasedpolaris-management-service-li><input type=checkbox
id=m-in-devunreleasedpolaris-management-service-check>
<label for=m-in-devunreleasedpolaris-management-service-check><a
href=/in-dev/unreleased/polaris-management-service/ title="Apache Polaris
Management Service OpenAPI" class="align-left ps-0 td-sidebar-link
td-sidebar-link__page"
id=m-in-devunreleasedpolaris-management-service><span>Management
OpenAPI</span></a></label></li><li class="td-sidebar-nav__section-title
td-sidebar-nav__section without-child"
id=m-in-devunreleasedrest-catalog-open-api-li><input type=checkbox
id=m-in-devunrelease [...]
-<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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><nav id=TableOfContents><ul><li><a href=#key-concepts>Key
concepts</a>< [...]
+<label for=m-in-devunreleasedrest-catalog-open-api-check><a
href=/in-dev/unreleased/rest-catalog-open-api/ title="Apache Iceberg OpenAPI"
class="align-left ps-0 td-sidebar-link td-sidebar-link__page"
id=m-in-devunreleasedrest-catalog-open-api><span>Iceberg
OpenAPI</span></a></label></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><nav id=TableOfContents><ul><li><a href=#key-concepts>Key
concepts</a>< [...]
or namespaces have been created yet for Catalog2 or Catalog3.</p><p><img
src=/img/sample-catalog-structure.svg alt="Diagram that shows an example Apache
Polaris (Incubating) structure." title="Sample Apache Polaris (Incubating)
structure"></p><h3 id=catalog>Catalog</h3><p>In Polaris, you can create one or
more catalog resources to organize Iceberg tables.</p><p>Configure your catalog
by setting values in the storage configuration for S3, Azure, or Google Cloud
Storage. An Iceberg catalog [...]
query engine to manage and organize tables. The catalog forms the first
architectural layer in the <a
href=https://iceberg.apache.org/spec/#overview>Apache Iceberg™ table
specification</a> and must support the following tasks:</p><ul><li><p>Storing
the current metadata pointer for one or more Iceberg tables. A metadata pointer
maps a table name to the location of that table’s
current metadata file.</p></li><li><p>Performing atomic operations so that you
can update the current metadata pointer for a table to the metadata pointer of
a new version of
@@ -35,14 +35,14 @@ read from these
tables.</p><blockquote><p><strong>Important</strong></p><p>For t
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=access-control.md#principal-role title="Principal
role">Principal role</a>. Polaris uses a role-based access control (RBAC) model
to grant service principals access to resources. For more information,
-see <a href=access-control.md title="Access control">Access control</a>. For a
diagram of this model, see <a href=access-control.md#rbac-model title="RBAC
model">RBAC model</a>.</p><p>If the Polaris administrator grants the service
principal for the new service connection a new principal role, the service
principal
+service principals together and grant privileges on securable objects. For
more information, see <a
href=https://polaris.apache.org/in-dev/unreleased/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,
+see <a
href=https://polaris.apache.org/in-dev/unreleased/access-control/>Access
control</a>. For a diagram of this model, see <a
href=https://polaris.apache.org/in-dev/unreleased/access-control/#rbac-model>RBAC
model</a>.</p><p>If the Polaris administrator grants the service principal for
the new service connection a new principal role, the service principal
doesn’t have any privileges granted to it yet. When securing the catalog
that the new service connection will connect to, the Polaris
administrator grants privileges to catalog roles and then grants these catalog
roles to the new principal role. As a result, the service
-principal for the new service connection has these privileges. For more
information about catalog roles, see <a href=access-control.md#catalog-role
title="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
+principal for the new service connection has these privileges. For more
information about catalog roles, see <a
href=https://polaris.apache.org/in-dev/unreleased/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=access-control.md#rbac-example title="RBAC example">RBAC
example</a>.</p><h3 id=storage-configuration>Storage configuration</h3><p>A
storage configuration stores a generated identity and access management (IAM)
entity for your external cloud storage and is created
+bestowed to the service principal. For an example of how RBAC works in
Polaris, see <a
href=https://polaris.apache.org/in-dev/unreleased/access-control/#rbac-example>RBAC
example</a>.</p><h3 id=storage-configuration>Storage configuration</h3><p>A
storage configuration stores a generated identity and access management (IAM)
entity for your external cloud storage and is created
when you create a catalog. The storage configuration is used to set the values
to connect Polaris to your cloud storage. During the
catalog creation process, an IAM entity is generated and used to create a
trust relationship between the cloud storage provider and Polaris
Catalog.</p><p>When you create a catalog, you supply the following information
about your external cloud storage:</p><table><thead><tr><th>Cloud storage
provider</th><th>Information</th></tr></thead><tbody><tr><td>Amazon
S3</td><td>Default base location for your Amazon S3 bucketLocations for your
Amazon S3 bucketS3 role ARNExternal ID (optional)</td></tr><tr><td>Google Cloud
Storage (GCS)</td><td>Default base location for your GCS bucketLocations for
your GCS bucket</td></tr><tr><td>Azur [...]
@@ -61,4 +61,4 @@ queries from query engines in a consistent
manner.</p><p>Polaris uses a role-bas
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=access-control.md title="Access control">Access
control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache
Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered
trademarks or trademarks of the Apache Software Foundation in the United States
and/or other countries.</p></div></main></div></div><footer class="td-footer
row d-print-none"><div class=container-f [...]
\ 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/access-control/>Access
control</a>.</p><h2 id=legal-notices>Legal Notices</h2><p>Apache®, Apache
Iceberg™, Apache Spark™, Apache Flink®, and Flink® are either registered
trademarks or trademarks of the Apache Software Foundation in the United States
and/or other countries.</p></div></main></div></div><footer class="td-footer
row d-print-none"><d [...]
\ No newline at end of file
diff --git a/in-dev/unreleased/quickstart/index.html
b/in-dev/unreleased/quickstart/index.html
index 95eed677..b3f134ec 100644
--- a/in-dev/unreleased/quickstart/index.html
+++ b/in-dev/unreleased/quickstart/index.html
@@ -34,10 +34,10 @@ Prerequisites This guide covers building Polaris, deploying
it locally or via Do
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>Bootstrapping Polaris</h2><p>For this tutorial,
we’ll launch an instance of Polaris that stores entities only in-memory.
This means that any entities that you define will be destroyed when Polaris is
shut down. It also means that Polaris will automatically bootstrap itself with
root credentials. For more information on how to configure Polaris for
production usage, see the <a href=configuring-polaris [...]
+</code></pre><p>At this point, Polaris is running.</p><h2
id=bootstrapping-polaris>Bootstrapping Polaris</h2><p>For this tutorial,
we’ll launch an instance of Polaris that stores entities only in-memory.
This means that any entities that you define will be destroyed when Polaris is
shut down. It also means that Polaris will automatically bootstrap itself with
root credentials. For more information on how to configure Polaris for
production usage, see the <a href=https://polaris.apa [...]
</code></pre><p>Be sure to note of these credentials as we’ll be using
them below. You can also set these credentials as environment variables for use
with the Polaris CLI:</p><div class=highlight><pre tabindex=0
style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language-shell data-lang=shell><span style=display:flex><span>export
CLIENT_ID<span style=color:#f92672>=</span><client-id>
</span></span><span style=display:flex><span>export CLIENT_SECRET<span
style=color:#f92672>=</span><client-secret>
-</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a
Catalog</h2><p>In Polaris, the <a href=entities.md#catalog>catalog</a> is the
top-level entity that objects like <a href=entities.md#table>tables</a> and <a
href=entities.md#view>views</a> are organized under. With a Polaris service
running, you can create a catalog like so:</p><div class=highlight><pre
tabindex=0
style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code
class=language [...]
+</span></span></code></pre></div><h2 id=defining-a-catalog>Defining a
Catalog</h2><p>In Polaris, the <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#catalog>catalog</a>
is the top-level entity that objects like <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#table>tables</a>
and <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#view>views</a> are
organized under. With a Polaris service running, you can create a catalog like
so:</p><div class=hig [...]
</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>\
@@ -48,7 +48,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>\
@@ -71,7 +71,7 @@ INFO [...] [main] [] o.eclipse.jetty.server.Server: Started
Server@...
</span></span></span><span style=display:flex><span><span
style=color:#ae81ff></span> quickstart_catalog_role
</span></span></code></pre></div><p>Be sure to provide the necessary
credentials, hostname, and port as before.</p><p>When the <code>principals
create</code> command completes successfully, it will return the credentials
for this new principal. Be sure to note these down for later. For
example:</p><pre tabindex=0><code>./polaris ... principals create example
{"clientId": "XXXX", "clientSecret": "YYYY"}
-</code></pre><p>Now, we grant the principal the <a
href=entities.md#principal-role>principal role</a> we created, and grant the <a
href=entities.md#catalog-role>catalog role</a> the principal role we created.
For more information on these entities, please refer to the linked
documentation.</p><div class=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>. [...]
+</code></pre><p>Now, we grant the principal the <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#principal-role>principal
role</a> we created, and grant the <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#catalog-role>catalog
role</a> the principal role we created. For more information on these
entities, please refer to the linked documentation.</p><div
class=highlight><pre tabindex=0
style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;
[...]
</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> principal-roles <span style=color:#ae81ff>\
@@ -87,7 +87,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> --principal-role quickstart_user_role <span
style=color:#ae81ff>\
</span></span></span><span style=display:flex><span><span
style=color:#ae81ff></span> quickstart_catalog_role
-</span></span></code></pre></div><p>Now, we’ve linked our principal to the
catalog via roles like so:</p><p><img
src=/img/quickstart/privilege-illustration-1.png alt="Principal to Catalog"
title="Principal to Catalog"></p><p>In order to give this principal the ability
to interact with the catalog, we must assign some <a
href=entities.md#privilege>privileges</a>. For the time being, we will give
this principal the ability to fully manage content in our new catalog. We can
do this with the [...]
+</span></span></code></pre></div><p>Now, we’ve linked our principal to the
catalog via roles like so:</p><p><img
src=/img/quickstart/privilege-illustration-1.png alt="Principal to Catalog"
title="Principal to Catalog"></p><p>In order to give this principal the ability
to interact with the catalog, we must assign some <a
href=https://polaris.apache.org/in-dev/unreleased/entities/#privilege>privileges</a>.
For the time being, we will give this principal the ability to fully manage
content [...]
</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> privileges <span style=color:#ae81ff>\
@@ -96,7 +96,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=entities.md#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
privilege could [...]
+</span></span></code></pre></div><p>This grants the <a
href=https://polaris.apache.org/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 w [...]
</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.5.2,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>\