Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion site/content/in-dev/unreleased/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Polaris RBAC uses two different role types to delegate privileges:
- **Catalog roles:** Configured with certain privileges on Polaris
catalog resources and granted to principal roles.

For more information, see [Access control]({{% ref "access-control" %}}).
For more information, see [Access control]({{% ref "managing-security/access-control" %}}).

## Legal Notices

Expand Down
20 changes: 17 additions & 3 deletions site/content/in-dev/unreleased/getting-started/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,23 @@
# specific language governing permissions and limitations
# under the License.
#
title: 'Getting Started'
title: Getting Started with Apache Polaris
linkTitle: Getting Started
type: docs
weight: 101
build:
render: never
---

The fastest way to get started is with our Docker Compose examples. Each example provides a complete working environment with detailed instructions.

## Next Steps

1. Check/Install dependencies
2. Choose the way you want to deploy Polaris
3. Create a catalog
4. Check Using polaris page

## Getting Help

- Documentation: https://polaris.apache.org
- GitHub Issues: https://github.com/apache/polaris/issues
- Slack: [Join Apache Polaris Community](https://join.slack.com/t/apache-polaris/shared_invite/zt-2y3l3r0fr-VtoW42ltir~nSzCYOrQgfw)
Copy link
Contributor

@dimas-b dimas-b Sep 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section header is "clickable" in the left-hand pane, but the "Getting Stated" section is not (#2551)... Could you fix that too? I guess it's related to having render: never in the latter... Why don't we add some text to it and render it like all the other sections?

This can be done later, of course.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, the reason because of render: never. I will fix it.

Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Creating a Catalog
linkTitle: Creating a Catalog
type: docs
weight: 300
---

The following Object Storage providers can be configured as storage backends for your Polaris catalog:

- [S3 compatible object stores]({{< ref "s3.md" >}})
- [Google Cloud Storage]({{< ref "catalog-gcs.md" >}})
- [Azure Blob Storage]({{< ref "catalog-azure.md" >}})
- Local file system (By default for testing only)


## Create a catalog using polaris CLI

Check full list of options for the `polaris catalogs create` command [here]({{% ref "../../command-line-interface#create" %}})

### Example

```shell
CLIENT_ID=root \
CLIENT_SECRET=s3cr3t \
DEFAULT_BASE_LOCATION=s3://example-bucket/my_data \
ROLE_ARN=arn:aws:iam::111122223333:role/ExampleCorpRole \
./polaris \
--client-id ${CLIENT_ID} \
--client-secret ${CLIENT_SECRET} \
catalogs \
create \
--storage-type s3 \
--default-base-location ${DEFAULT_BASE_LOCATION} \
--role-arn ${ROLE_ARN} \
my_catalog
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Creating a catalog on Azure
linkTitle: Azure
type: docs
weight: 300
---

For the `polaris catalogs create` [command]({{% ref "../../command-line-interface#create" %}}) there are few `azure` only options

```text
--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

```shell
CLIENT_ID=root \
CLIENT_SECRET=s3cr3t \
DEFAULT_BASE_LOCATION=abfss://[email protected] \
TENANT_ID=tenant123.onmicrosoft.com \
MULTI_TENANT_APP_NAME=myapp \
CONSENT_URL=https://myapp.com/consent
./polaris \
--client-id ${CLIENT_ID} \
--client-secret ${CLIENT_SECRET} \
catalogs \
create \
--storage-type azure \
--tenant-id ${TENANT_ID} \
--multi-tenant-app-name ${MULTI_TENANT_APP_NAME} \
--consent-url ${CONSENT_URL} \
--default-base-location ${DEFAULT_BASE_LOCATION} \
my_azure_catalog
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Creating a catalog on Google Cloud Storage (GCS)
linkTitle: GCS
type: docs
weight: 200
---

For the `polaris catalogs create` [command]({{% ref "../../command-line-interface#create" %}}) there are few `gcs` only options

```text
--storage-type gcs
--service-account (Only for GCS) The service account to use when connecting to GCS
```

### example

```shell
CLIENT_ID=root \
CLIENT_SECRET=s3cr3t \
DEFAULT_BASE_LOCATION=gs://my-ml-bucket/predictions/ \
SERVICE_ACCOUNT=serviceAccount:[email protected] \
./polaris \
--client-id ${CLIENT_ID} \
--client-secret ${CLIENT_SECRET} \
catalogs \
create \
--storage-type gcs \
--service-account ${SERVICE_ACCOUNT} \
--default-base-location ${DEFAULT_BASE_LOCATION} \
my_gcs_catalog
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Creating a catalog on S3 compatible cloud providers
linkTitle: S3
type: docs
weight: 100
---

The following S3 compatible cloud providers can be configured as storage backends for your Polaris catalog:

- [AWS S3]({{< ref "catalog-aws.md" >}})
- [MinIO]({{< ref "catalog-minio.md" >}})

For the `polaris catalogs create` [command]({{% ref "../../../command-line-interface#create" %}}) there are few `s3` only options

```text
--storage-type s3
--role-arn (Required for S3) A role ARN to use when connecting to S3
--region (Only for S3) The region to use when connecting to S3
--external-id (Only for S3) The external ID to use when connecting to S3
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Creating a catalog on AWS S3
linkTitle: AWS
type: docs
weight: 100
---


### example

```shell
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} \
my_aws_catalog
```
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@
# specific language governing permissions and limitations
# under the License.
#
Title: Deploying Polaris on MinIO
title: Creating a catalog on MinIO
linkTitle: MinIO
type: docs
weight: 350
weight: 200
---

In this guide we walk through setting up a simple Polaris Server with local [MinIO](https://www.min.io/) storage.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My thinking was to just give instructions for "manual" setup in this guide (copy from the docker compose file) and may be link to the docker compose example at the end of the guide (with minimal text, just indicating that the docker compose file shows and end-to-end integration example for MinIO). WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we keep the current version? Using MinIO looks like not a standard path, so I would prefer to save it as is.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without refactoring this page, the whole Getting Started reorg is not quite complete, IMHO... Still, I'd be ok with merging these doc changes "as is". I can probably make a follow-up PR from my side. I guess it's easier than going through GH comments 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would appreciate it if you cover this part from your side 🙏

Expand All @@ -42,7 +43,7 @@ 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.
plus a Polaris Server pre-configured to that MinIO instance.

In this example the `root` principal has its password set to `s3cr3t`.

Expand Down Expand Up @@ -86,7 +87,7 @@ mc ls pol/bucket123/ns/t1
[2025-08-13 18:52:38 EDT] 0B metadata/
```

Note: the values of `minio_root`, `m1n1opwd` and `bucket123` are defined in the docker compose file.
Note: the values of `minio_root`, `m1n1opwd` and `bucket123` are defined in the docker compose file.

# Notes on Storage Configuation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
# specific language governing permissions and limitations
# under the License.
#
Title: Deploying Polaris on Cloud Providers
title: Deploying Polaris
linkTitle: Deploying Polaris
type: docs
weight: 300
weight: 200
---

We will now demonstrate how to deploy Polaris locally, as well as with all supported Cloud Providers: Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP).
Here you can find the guides of how to deploy Polaris locally, as well as with all supported Cloud Providers: Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP).

Locally, Polaris can be deployed using both Docker and local build. On the cloud, this tutorial will deploy Polaris using Docker only - but local builds can also be executed.
Locally, Polaris can be deployed using both docker and local build.
On the cloud, the following tutorials will deploy Polaris using docker environment.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
title: Deploying Polaris on Cloud Providers
linkTitle: Cloud Providers
type: docs
weight: 300
---

Polaris can be deployed on various cloud providers, including Amazon Web Services (AWS), Azure, and Google Cloud Platform (GCP).
In the following guides, we will walk you through the process of deploying Polaris on each of these cloud providers.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
# specific language governing permissions and limitations
# under the License.
#
Title: Deploying Polaris on Amazon Web Services (AWS)
title: Deploying Polaris on Amazon Web Services (AWS)
linkTitle: AWS
type: docs
weight: 310
---
Expand All @@ -44,7 +45,7 @@ export CLIENT_SECRET=s3cr3t
```

## Next Steps
Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the [Using Polaris]({{% relref "../using-polaris" %}}) page.
Congrats, you now have a running instance of1 Polaris! For details on how to use Polaris, check out the [Using Polaris]({{% relref "../../using-polaris" %}}) page.

## Cleanup Instructions
To shut down the Polaris server, run the following commands:
Expand All @@ -54,4 +55,4 @@ export ASSETS_PATH=$(pwd)/getting-started/assets/
docker compose -p polaris -f getting-started/eclipselink/docker-compose.yml down
```

To deploy Polaris in a production setting, please review further recommendations at the [Configuring Polaris for Production]({{% relref "../../configuring-polaris-for-production" %}}) page.
To deploy Polaris in a production setting, please review further recommendations at the [Configuring Polaris for Production]({{% relref "../../../configuring-polaris-for-production" %}}) page.
Loading