This is an automated email from the ASF dual-hosted git repository.
snazy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 95bc59bb3d [Site] Add getting-started guides as "Guides" to the web
site (#3550)
95bc59bb3d is described below
commit 95bc59bb3dd2a2228e606fa6fd9840f283b032c4
Author: Robert Stupp <[email protected]>
AuthorDate: Wed Feb 25 13:18:09 2026 +0100
[Site] Add getting-started guides as "Guides" to the web site (#3550)
This change follows up on the [dev-mailing list
discussion](https://lists.apache.org/thread/gwxn34nzvhdqdjw2bst6kwlqt8jhb91d)
and adds the guides under `getting-started/` to the web site as "Guides".
* The guides had to me moved from the `getting-started/` folder into the
`site/content/` folder structure, because symlinks from the `site/content/`
_folder_ do not work (the contents are not pulled in).
* Each guide's `README.md` file has been renamed to `index.md`, added a
front-matter, which instructs Hugo to that also lets Hugo include the guide in
the top-level menu.
* Assets for each guide are listed at the top of each guide, so users do
not have to go via GitHub.
* Links in the guides have been updated.
* A new layout named `guides` has been added for this use case.
Two changes on the Ceph guide:
* updated the misplaced `yaml` type on a code snippet
* renamed `.env.example` to `dot-env.example`, because files starting with
a `.` are not included
---
build.gradle.kts | 4 ++
getting-started | 1 +
getting-started/README.md | 40 --------------
.../quickstart => site/content/guides}/README.md | 8 +--
site/content/guides/_index.md | 52 ++++++++++++++++++
.../guides}/assets/cloud_providers/await-s3.sh | 0
.../guides}/assets/cloud_providers/deploy-aws.sh | 2 +-
.../guides}/assets/cloud_providers/deploy-azure.sh | 4 +-
.../guides}/assets/cloud_providers/deploy-gcp.sh | 2 +-
.../guides}/assets/keycloak/iceberg-realm.json | 0
.../guides}/assets/polaris/create-catalog.sh | 0
.../content/guides}/assets/polaris/obtain-token.sh | 0
.../assets/postgres/docker-compose-postgres.yml | 0
.../guides}/assets/postgres/postgresql.conf | 0
.../guides}/assets/prometheus/prometheus.yml | 0
.../assets/trino-config/catalog/iceberg.properties | 0
.../content/guides}/ceph/.gitignore | 0
.../content/guides}/ceph/ceph-conf/ceph.conf | 0
.../content/guides}/ceph/docker-compose.yml | 0
.../content/guides/ceph/dot-env.example | 0
.../README.md => site/content/guides/ceph/index.md | 58 ++++++++++++--------
.../guides}/jdbc/docker-compose-bootstrap-db.yml | 0
.../content/guides}/jdbc/docker-compose.yml | 0
.../README.md => site/content/guides/jdbc/index.md | 57 ++++++++++++--------
.../content/guides}/keycloak/docker-compose.yml | 0
.../content/guides/keycloak/index.md | 57 ++++++++++++--------
.../content/guides}/minio/docker-compose.yml | 0
.../content/guides/minio/index.md | 63 +++++++++++++---------
.../content/guides}/ozone/docker-compose.yml | 0
.../content/guides/ozone/index.md | 56 +++++++++++--------
.../content/guides}/quickstart/docker-compose.yml | 0
.../guides/{_index.adoc => quickstart/index.md} | 18 +++----
.../content/guides}/rustfs/docker-compose.yml | 0
.../content/guides/rustfs/index.md | 60 +++++++++++++--------
.../content/guides}/spark/docker-compose.yml | 4 +-
.../content/guides/spark/index.md | 51 +++++++++++-------
.../content/guides}/spark/notebooks/Dockerfile | 0
.../guides}/spark/notebooks/SparkPolaris.ipynb | 0
.../content/guides}/telemetry/docker-compose.yml | 0
.../content/guides/telemetry/index.md | 57 ++++++++++++--------
site/hugo.yaml | 5 ++
site/layouts/guides/baseof.html | 63 ++++++++++++++++++++++
42 files changed, 425 insertions(+), 237 deletions(-)
diff --git a/build.gradle.kts b/build.gradle.kts
index ea4b96d90c..cf1b2b9023 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -69,6 +69,7 @@ tasks.named<RatTask>("rat").configure {
// Files copied from Docsy (ASLv2 licensed) don't have header
excludes.add("site/layouts/docs/baseof.html")
+ excludes.add("site/layouts/guides/baseof.html")
excludes.add("site/layouts/shortcodes/redoc-polaris.html")
excludes.add("site/layouts/community/list.html")
excludes.add("site/layouts/partials/navbar.html")
@@ -113,6 +114,9 @@ tasks.named<RatTask>("rat").configure {
excludes.add("site/resources/_gen/**")
excludes.add("node_modules/**")
+ // Guides testing
+ excludes.add("/getting-started") // it's a symlink
+
// Python
excludes.add("**/.venv/**")
excludes.add("**/polaris-venv/**")
diff --git a/getting-started b/getting-started
new file mode 120000
index 0000000000..005fed0591
--- /dev/null
+++ b/getting-started
@@ -0,0 +1 @@
+site/content/guides/
\ No newline at end of file
diff --git a/getting-started/README.md b/getting-started/README.md
deleted file mode 100644
index 725a886634..0000000000
--- a/getting-started/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris
-
-You can quickly get started with Polaris by playing with the docker-compose
examples provided in
-this directory. Each example has detailed instructions.
-
-## Prerequisites
-
-- [Docker](https://docs.docker.com/get-docker/)
-- [Docker Compose](https://docs.docker.com/compose/install/)
-- [jq](https://stedolan.github.io/jq/download/) (for some examples)
-
-## Getting Started Examples
-
-- [Spark](spark): An example that uses an in-memory metastore, automatically
bootstrapped, with
- Apache Spark and a Jupyter notebook.
-
-- [Telemetry](telemetry): An example that includes Prometheus and Jaeger to
collect metrics and
- traces from Apache Polaris. This example automatically creates a
`polaris_demo` catalog.
-
-- [Keycloak](keycloak): An example that uses Keycloak as an external identity
provider (IDP) for
- authentication.
diff --git a/getting-started/quickstart/README.md
b/site/content/guides/README.md
similarity index 83%
rename from getting-started/quickstart/README.md
rename to site/content/guides/README.md
index 35846ba8f3..949d51d3a2 100644
--- a/getting-started/quickstart/README.md
+++ b/site/content/guides/README.md
@@ -6,9 +6,9 @@
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
@@ -17,6 +17,6 @@
under the License.
-->
-# Apache Polaris Quickstart
+# Getting Started with Apache Polaris
-Please see the [quickstart
guide](../../site/content/in-dev/unreleased/getting-started/quick-start.md) for
more information.
+See the [Guides section on the web site](https://polaris.apache.org/guides)
for more information.
diff --git a/site/content/guides/_index.md b/site/content/guides/_index.md
new file mode 100644
index 0000000000..e71c256cb8
--- /dev/null
+++ b/site/content/guides/_index.md
@@ -0,0 +1,52 @@
+---
+#
+# 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.
+#
+linkTitle: "Guides"
+title: "Apache Polaris Guides"
+weight: 200
+cascade:
+ type: docs
+menus:
+ main:
+ parent: Guides
+ weight: 1
+ identifier: overview
+ name: Overview
+---
+
+You can quickly get started with Polaris by playing with the docker-compose
examples provided
+by the guides shown on the left of this page.
+Each guide has detailed instructions.
+
+## Prerequisites
+
+- [Docker](https://docs.docker.com/get-docker/)
+- [Docker Compose](https://docs.docker.com/compose/install/)
+- [jq](https://stedolan.github.io/jq/download/) (for some examples)
+
+## Getting Started Examples
+
+- [Spark](spark): An example that uses an in-memory metastore, automatically
bootstrapped, with
+ Apache Spark and a Jupyter notebook.
+
+- [Telemetry](telemetry): An example that includes Prometheus and Jaeger to
collect metrics and
+ traces from Apache Polaris. This example automatically creates a
`polaris_demo` catalog.
+
+- [Keycloak](keycloak): An example that uses Keycloak as an external identity
provider (IDP) for
+ authentication.
diff --git a/getting-started/assets/cloud_providers/await-s3.sh
b/site/content/guides/assets/cloud_providers/await-s3.sh
similarity index 100%
rename from getting-started/assets/cloud_providers/await-s3.sh
rename to site/content/guides/assets/cloud_providers/await-s3.sh
diff --git a/getting-started/assets/cloud_providers/deploy-aws.sh
b/site/content/guides/assets/cloud_providers/deploy-aws.sh
similarity index 96%
rename from getting-started/assets/cloud_providers/deploy-aws.sh
rename to site/content/guides/assets/cloud_providers/deploy-aws.sh
index a6fea1de1f..40e3f1dc64 100755
--- a/getting-started/assets/cloud_providers/deploy-aws.sh
+++ b/site/content/guides/assets/cloud_providers/deploy-aws.sh
@@ -94,4 +94,4 @@ export
STORAGE_LOCATION="s3://$S3_BUCKET_NAME/quickstart_catalog/"
-Dquarkus.container-image.build=true \
--no-build-cache
-docker compose -p polaris -f
getting-started/jdbc/docker-compose-bootstrap-db.yml -f
getting-started/jdbc/docker-compose.yml up -d
+docker compose -p polaris -f
site/content/guides/jdbc/docker-compose-bootstrap-db.yml -f
site/content/guides/jdbc/docker-compose.yml up -d
diff --git a/getting-started/assets/cloud_providers/deploy-azure.sh
b/site/content/guides/assets/cloud_providers/deploy-azure.sh
similarity index 94%
rename from getting-started/assets/cloud_providers/deploy-azure.sh
rename to site/content/guides/assets/cloud_providers/deploy-azure.sh
index 99f60015e2..3b11b3550a 100755
--- a/getting-started/assets/cloud_providers/deploy-azure.sh
+++ b/site/content/guides/assets/cloud_providers/deploy-azure.sh
@@ -75,7 +75,7 @@ az role assignment create \
export AZURE_TENANT_ID=$(az account show --query tenantId -o tsv)
export
STORAGE_LOCATION="abfss://$STORAGE_CONTAINER_NAME@$STORAGE_ACCOUNT_NAME.dfs.core.windows.net/quickstart_catalog"
-cat >> getting-started/assets/trino-config/catalog/iceberg.properties << EOF
+cat >> site/content/guides/assets/trino-config/catalog/iceberg.properties <<
EOF
fs.native-azure.enabled=true
azure.auth-type=DEFAULT
EOF
@@ -84,4 +84,4 @@ EOF
-Dquarkus.container-image.build=true \
--no-build-cache
-docker compose -p polaris -f
getting-started/jdbc/docker-compose-bootstrap-db.yml -f
getting-started/jdbc/docker-compose.yml up -d
+docker compose -p polaris -f
site/content/guides/jdbc/docker-compose-bootstrap-db.yml -f
site/content/guides/jdbc/docker-compose.yml up -d
diff --git a/getting-started/assets/cloud_providers/deploy-gcp.sh
b/site/content/guides/assets/cloud_providers/deploy-gcp.sh
similarity index 95%
rename from getting-started/assets/cloud_providers/deploy-gcp.sh
rename to site/content/guides/assets/cloud_providers/deploy-gcp.sh
index f4fb457629..0cb686de8e 100755
--- a/getting-started/assets/cloud_providers/deploy-gcp.sh
+++ b/site/content/guides/assets/cloud_providers/deploy-gcp.sh
@@ -62,4 +62,4 @@ export
STORAGE_LOCATION="gs://$GCS_BUCKET_NAME/quickstart_catalog/"
-Dquarkus.container-image.build=true \
--no-build-cache
-docker compose -p polaris -f
getting-started/jdbc/docker-compose-bootstrap-db.yml -f
getting-started/jdbc/docker-compose.yml up -d
+docker compose -p polaris -f
site/content/guides/jdbc/docker-compose-bootstrap-db.yml -f
site/content/guides/jdbc/docker-compose.yml up -d
diff --git a/getting-started/assets/keycloak/iceberg-realm.json
b/site/content/guides/assets/keycloak/iceberg-realm.json
similarity index 100%
rename from getting-started/assets/keycloak/iceberg-realm.json
rename to site/content/guides/assets/keycloak/iceberg-realm.json
diff --git a/getting-started/assets/polaris/create-catalog.sh
b/site/content/guides/assets/polaris/create-catalog.sh
similarity index 100%
rename from getting-started/assets/polaris/create-catalog.sh
rename to site/content/guides/assets/polaris/create-catalog.sh
diff --git a/getting-started/assets/polaris/obtain-token.sh
b/site/content/guides/assets/polaris/obtain-token.sh
similarity index 100%
rename from getting-started/assets/polaris/obtain-token.sh
rename to site/content/guides/assets/polaris/obtain-token.sh
diff --git a/getting-started/assets/postgres/docker-compose-postgres.yml
b/site/content/guides/assets/postgres/docker-compose-postgres.yml
similarity index 100%
rename from getting-started/assets/postgres/docker-compose-postgres.yml
rename to site/content/guides/assets/postgres/docker-compose-postgres.yml
diff --git a/getting-started/assets/postgres/postgresql.conf
b/site/content/guides/assets/postgres/postgresql.conf
similarity index 100%
rename from getting-started/assets/postgres/postgresql.conf
rename to site/content/guides/assets/postgres/postgresql.conf
diff --git a/getting-started/assets/prometheus/prometheus.yml
b/site/content/guides/assets/prometheus/prometheus.yml
similarity index 100%
rename from getting-started/assets/prometheus/prometheus.yml
rename to site/content/guides/assets/prometheus/prometheus.yml
diff --git a/getting-started/assets/trino-config/catalog/iceberg.properties
b/site/content/guides/assets/trino-config/catalog/iceberg.properties
similarity index 100%
rename from getting-started/assets/trino-config/catalog/iceberg.properties
rename to site/content/guides/assets/trino-config/catalog/iceberg.properties
diff --git a/getting-started/ceph/.gitignore
b/site/content/guides/ceph/.gitignore
similarity index 100%
rename from getting-started/ceph/.gitignore
rename to site/content/guides/ceph/.gitignore
diff --git a/getting-started/ceph/ceph-conf/ceph.conf
b/site/content/guides/ceph/ceph-conf/ceph.conf
similarity index 100%
rename from getting-started/ceph/ceph-conf/ceph.conf
rename to site/content/guides/ceph/ceph-conf/ceph.conf
diff --git a/getting-started/ceph/docker-compose.yml
b/site/content/guides/ceph/docker-compose.yml
similarity index 100%
rename from getting-started/ceph/docker-compose.yml
rename to site/content/guides/ceph/docker-compose.yml
diff --git a/getting-started/ceph/.env.example
b/site/content/guides/ceph/dot-env.example
similarity index 100%
rename from getting-started/ceph/.env.example
rename to site/content/guides/ceph/dot-env.example
diff --git a/getting-started/ceph/README.md b/site/content/guides/ceph/index.md
similarity index 75%
rename from getting-started/ceph/README.md
rename to site/content/guides/ceph/index.md
index 6e8a948dce..ca7433b866 100644
--- a/getting-started/ceph/README.md
+++ b/site/content/guides/ceph/index.md
@@ -1,23 +1,35 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris and Ceph
+---
+#
+# 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.
+#
+linkTitle: "Storage: Ceph"
+title: "Getting Started with Apache Polaris and Ceph"
+weight: 200
+tags:
+ - ceph
+ - object storage
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 200
+---
## Overview
@@ -28,7 +40,7 @@ It does not include STS (Security Token Service) or temporary
credentials.
All access to the Ceph RGW (RADOS Gateway) and Polaris integration uses static
S3-style credentials (as configured via radosgw-admin user create).
Spark is used as a query engine. This example assumes a local Spark
installation.
-See the [Spark Notebooks Example](../spark/README.md) for a more advanced
Spark setup.
+See the [Spark Notebooks Example](../spark/) for a more advanced Spark setup.
## Starting the Example
@@ -44,7 +56,7 @@ Note: this example pulls the `apache/polaris:latest` image,
but assumes the imag
### 1. Copy the example environment file
```shell
-cp .env.example .env
+cp dot-env.example .env
```
### 2. Start the docker compose group by running the following command:
@@ -57,7 +69,7 @@ docker compose up -d
docker exec ceph-mon1-1 ceph -s
```
You should see something like:
-```yaml
+```
cluster:
id: b2f59c4b-5f14-4f8c-a9b7-3b7998c76a0e
health: HEALTH_WARN
diff --git a/getting-started/jdbc/docker-compose-bootstrap-db.yml
b/site/content/guides/jdbc/docker-compose-bootstrap-db.yml
similarity index 100%
rename from getting-started/jdbc/docker-compose-bootstrap-db.yml
rename to site/content/guides/jdbc/docker-compose-bootstrap-db.yml
diff --git a/getting-started/jdbc/docker-compose.yml
b/site/content/guides/jdbc/docker-compose.yml
similarity index 100%
rename from getting-started/jdbc/docker-compose.yml
rename to site/content/guides/jdbc/docker-compose.yml
diff --git a/getting-started/jdbc/README.md b/site/content/guides/jdbc/index.md
similarity index 64%
rename from getting-started/jdbc/README.md
rename to site/content/guides/jdbc/index.md
index a9866f4960..ab78477cff 100644
--- a/getting-started/jdbc/README.md
+++ b/site/content/guides/jdbc/index.md
@@ -1,23 +1,36 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris, Relational JDBC, Postgres and Spark SQL
+---
+#
+# 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.
+#
+linkTitle: "Backend: JDBC, Postgres"
+title: "Getting Started with Apache Polaris, Relational JDBC, Postgres and
Spark SQL"
+weight: 100
+tags:
+ - backend
+ - jdbc
+ - postgres
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 100
+---
This example requires `jq` to be installed on your machine.
@@ -39,10 +52,10 @@ This example requires `jq` to be installed on your machine.
export QUARKUS_DATASOURCE_JDBC_URL=jdbc:postgresql://postgres:5432/POLARIS
export QUARKUS_DATASOURCE_USERNAME=postgres
export QUARKUS_DATASOURCE_PASSWORD=postgres
- export ASSETS_PATH=$(pwd)/getting-started/assets/
+ export ASSETS_PATH=$(pwd)/site/content/guides/assets/
export CLIENT_ID=root
export CLIENT_SECRET=s3cr3t
- docker compose -f getting-started/jdbc/docker-compose-bootstrap-db.yml -f
getting-started/assets/postgres/docker-compose-postgres.yml -f
getting-started/jdbc/docker-compose.yml up
+ docker compose -f site/content/guides/jdbc/docker-compose-bootstrap-db.yml
-f site/content/guides/assets/postgres/docker-compose-postgres.yml -f
site/content/guides/jdbc/docker-compose.yml up
```
3. Using spark-sql: attach to the running spark-sql container:
diff --git a/getting-started/keycloak/docker-compose.yml
b/site/content/guides/keycloak/docker-compose.yml
similarity index 100%
rename from getting-started/keycloak/docker-compose.yml
rename to site/content/guides/keycloak/docker-compose.yml
diff --git a/getting-started/keycloak/README.md
b/site/content/guides/keycloak/index.md
similarity index 85%
rename from getting-started/keycloak/README.md
rename to site/content/guides/keycloak/index.md
index 327f6eda20..2da2ca28c7 100644
--- a/getting-started/keycloak/README.md
+++ b/site/content/guides/keycloak/index.md
@@ -1,23 +1,36 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris, External Authentication and Keycloak
+---
+#
+# 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.
+#
+linkTitle: "Authentication: Keycloak"
+title: "Getting Started with Apache Polaris, External Authentication and
Keycloak"
+weight: 100
+tags:
+ - authorization
+ - keycloak
+ - idp
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 100
+---
## Overview
@@ -46,7 +59,7 @@ Polaris is configured with 3 realms:
issued by both Polaris and Keycloak.
For more information about how to configure Polaris with external
authentication, see the
-[Polaris
documentation](https://polaris.apache.org/in-dev/unreleased/managing-security/external-idp/).
+[Polaris documentation](../../in-dev/unreleased).
## Starting the Example
@@ -62,7 +75,7 @@ For more information about how to configure Polaris with
external authentication
2. Start the docker compose group by running the following command from the
root of the repository:
```shell
- docker compose -f getting-started/keycloak/docker-compose.yml up
+ docker compose -f site/content/guides/keycloak/docker-compose.yml up
```
## Requesting a Token
diff --git a/getting-started/minio/docker-compose.yml
b/site/content/guides/minio/docker-compose.yml
similarity index 100%
rename from getting-started/minio/docker-compose.yml
rename to site/content/guides/minio/docker-compose.yml
diff --git a/getting-started/minio/README.md
b/site/content/guides/minio/index.md
similarity index 62%
rename from getting-started/minio/README.md
rename to site/content/guides/minio/index.md
index 00cfc5f3a8..096b311e31 100644
--- a/getting-started/minio/README.md
+++ b/site/content/guides/minio/index.md
@@ -1,33 +1,46 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris and MinIO
-
-> [!WARNING]
-> Disclaimer: This getting-started example uses MinIO OSS for local testing
only. MinIO OSS is in maintenance mode, and MinIO container images may no
longer receive updates or security fixes.
+---
+#
+# 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.
+#
+linkTitle: "Storage: MinIO"
+title: "Getting Started with Apache Polaris and MinIO"
+weight: 200
+tags:
+ - minio
+ - object storage
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 200
+---
+
+{{< alert warning >}}
+**Disclaimer:** This guide uses MinIO OSS for local testing only. MinIO OSS is
in maintenance mode, and MinIO container images may no longer receive updates
or security fixes.
+{{< /alert >}}
## Overview
This example uses MinIO as a storage provider with Polaris.
Spark is used as a query engine. This example assumes a local Spark
installation.
-See the [Spark Notebooks Example](../spark/README.md) for a more advanced
Spark setup.
+See the [Spark Notebooks Example](../spark) for a more advanced Spark setup.
## Starting the Example
@@ -43,7 +56,7 @@ See the [Spark Notebooks Example](../spark/README.md) for a
more advanced Spark
2. Start the docker compose group by running the following command from the
root of the repository:
```shell
- docker compose -f getting-started/minio/docker-compose.yml up
+ docker compose -f site/content/guides/minio/docker-compose.yml up
```
## Connecting From Spark
diff --git a/getting-started/ozone/docker-compose.yml
b/site/content/guides/ozone/docker-compose.yml
similarity index 100%
rename from getting-started/ozone/docker-compose.yml
rename to site/content/guides/ozone/docker-compose.yml
diff --git a/getting-started/ozone/README.md
b/site/content/guides/ozone/index.md
similarity index 71%
rename from getting-started/ozone/README.md
rename to site/content/guides/ozone/index.md
index f05c0b6abe..60fc5a5ef8 100644
--- a/getting-started/ozone/README.md
+++ b/site/content/guides/ozone/index.md
@@ -1,37 +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.
--->
-
-# Getting Started with Apache Polaris and Apache Ozone
+---
+#
+# 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.
+#
+linkTitle: "Storage: Apache Ozone"
+title: "Getting Started with Apache Polaris and Apache Ozone"
+weight: 200
+tags:
+ - ozone
+ - object storage
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 200
+---
## Overview
This example uses [Apache Ozone](https://ozone.apache.org/) as a storage
provider with Polaris.
Spark is used as a query engine. This example assumes a local Spark
installation.
-See the [Spark Notebooks Example](../spark/README.md) for a more advanced
Spark setup.
+See the [Spark Notebooks Example](../spark) for a more advanced Spark setup.
## Starting the Example
Start the docker compose group by running the following command from the root
of the repository:
```shell
-docker compose -f getting-started/ozone/docker-compose.yml up
+docker compose -f site/content/guides/ozone/docker-compose.yml up
```
Note: this example pulls the `apache/polaris:latest` image, but assumes the
image is `1.2.0-incubating` or later.
diff --git a/getting-started/quickstart/docker-compose.yml
b/site/content/guides/quickstart/docker-compose.yml
similarity index 100%
rename from getting-started/quickstart/docker-compose.yml
rename to site/content/guides/quickstart/docker-compose.yml
diff --git a/site/content/guides/_index.adoc
b/site/content/guides/quickstart/index.md
similarity index 77%
rename from site/content/guides/_index.adoc
rename to site/content/guides/quickstart/index.md
index e86c6201cc..3233ac72e9 100644
--- a/site/content/guides/_index.adoc
+++ b/site/content/guides/quickstart/index.md
@@ -17,15 +17,15 @@
# specific language governing permissions and limitations
# under the License.
#
-linkTitle: "Guides"
-title: "Apache Polaris Guides"
-weight: 200
+linkTitle: "Apache Polaris"
+title: "Getting Started"
+weight: 10
cascade:
- type: docs
-# TODO remove when adding the first proposal
-top_hidden: true
-toc_hide: true
-hide_summary: true
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 2
---
-= Guides
+Please see the [quickstart guide](../../in-dev/unreleased/getting-started) for
more information.
diff --git a/getting-started/rustfs/docker-compose.yml
b/site/content/guides/rustfs/docker-compose.yml
similarity index 100%
rename from getting-started/rustfs/docker-compose.yml
rename to site/content/guides/rustfs/docker-compose.yml
diff --git a/getting-started/rustfs/README.md
b/site/content/guides/rustfs/index.md
similarity index 62%
rename from getting-started/rustfs/README.md
rename to site/content/guides/rustfs/index.md
index 7b9f1728f2..7158d2d462 100644
--- a/getting-started/rustfs/README.md
+++ b/site/content/guides/rustfs/index.md
@@ -1,30 +1,46 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris and RustFS
+---
+#
+# 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.
+#
+linkTitle: "Storage: RustFS"
+title: "Getting Started with Apache Polaris and RustFS"
+weight: 200
+tags:
+ - rustfs
+ - object storage
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 200
+---
+
+{{< alert warning >}}
+**Disclaimer:** This guide uses mc from MinIO OSS for local testing only.
MinIO OSS is in maintenance mode, and MinIO container images may no longer
receive updates or security fixes. For production setups,
[rc](https://github.com/rustfs/cli) should be used.
+{{< /alert >}}
## Overview
This example uses [RustFS](https://rustfs.com/) as a storage provider with
Polaris.
Spark is used as a query engine. This example assumes a local Spark
installation.
-See the [Spark Notebooks Example](../spark/README.md) for a more advanced
Spark setup.
+See the [Spark Notebooks Example](../spark) for a more advanced Spark setup.
## Starting the Example
@@ -40,7 +56,7 @@ See the [Spark Notebooks Example](../spark/README.md) for a
more advanced Spark
2. Start the docker compose group by running the following command from the
root of the repository:
```shell
- docker compose -f getting-started/rustfs/docker-compose.yml up
+ docker compose -f site/content/guides/rustfs/docker-compose.yml up
```
## Connecting From Spark
diff --git a/getting-started/spark/docker-compose.yml
b/site/content/guides/spark/docker-compose.yml
similarity index 91%
rename from getting-started/spark/docker-compose.yml
rename to site/content/guides/spark/docker-compose.yml
index d613e5d68c..800571d83c 100644
--- a/getting-started/spark/docker-compose.yml
+++ b/site/content/guides/spark/docker-compose.yml
@@ -40,8 +40,8 @@ services:
retries: 5
jupyter:
build:
- context: ../../ # this is necessary to expose `regtests/` dir to
notebooks/Dockerfile
- dockerfile: ./getting-started/spark/notebooks/Dockerfile
+ context: ../../../../ # this is necessary to expose `regtests/` dir to
notebooks/Dockerfile
+ dockerfile: site/content/guides/spark/notebooks/Dockerfile
network: host
ports:
- "8888:8888"
diff --git a/getting-started/spark/README.md
b/site/content/guides/spark/index.md
similarity index 58%
rename from getting-started/spark/README.md
rename to site/content/guides/spark/index.md
index 36684859fe..7d0ab0568c 100644
--- a/getting-started/spark/README.md
+++ b/site/content/guides/spark/index.md
@@ -1,23 +1,34 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Spark and Apache Polaris
+---
+#
+# 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.
+#
+linkTitle: "Client: Apache Spark"
+title: "Getting Started with Apache Polaris and Apache Spark"
+tags:
+ - spark
+weight: 300
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 300
+---
This getting started guide provides a `docker-compose` file to set up [Apache
Spark](https://spark.apache.org/) with Apache Polaris. Apache Polaris is
configured as an Iceberg REST Catalog in Spark.
A Jupyter notebook is used to run PySpark.
diff --git a/getting-started/spark/notebooks/Dockerfile
b/site/content/guides/spark/notebooks/Dockerfile
similarity index 100%
rename from getting-started/spark/notebooks/Dockerfile
rename to site/content/guides/spark/notebooks/Dockerfile
diff --git a/getting-started/spark/notebooks/SparkPolaris.ipynb
b/site/content/guides/spark/notebooks/SparkPolaris.ipynb
similarity index 100%
rename from getting-started/spark/notebooks/SparkPolaris.ipynb
rename to site/content/guides/spark/notebooks/SparkPolaris.ipynb
diff --git a/getting-started/telemetry/docker-compose.yml
b/site/content/guides/telemetry/docker-compose.yml
similarity index 100%
rename from getting-started/telemetry/docker-compose.yml
rename to site/content/guides/telemetry/docker-compose.yml
diff --git a/getting-started/telemetry/README.md
b/site/content/guides/telemetry/index.md
similarity index 55%
rename from getting-started/telemetry/README.md
rename to site/content/guides/telemetry/index.md
index 88fc1cbe4e..a7a248e7ab 100644
--- a/getting-started/telemetry/README.md
+++ b/site/content/guides/telemetry/index.md
@@ -1,23 +1,36 @@
-<!--
- 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.
--->
-
-# Getting Started with Apache Polaris, Prometheus and Jaeger
+---
+#
+# 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.
+#
+linkTitle: "Telemetry: Prometheus and Jaeger"
+title: "Getting Started with Apache Polaris, Prometheus and Jaeger"
+weight: 100
+tags:
+ - telemetry
+ - prometheus
+ - jaeger
+cascade:
+ type: guides
+menus:
+ main:
+ parent: Guides
+ weight: 100
+---
This example requires `jq` to be installed on your machine.
@@ -33,10 +46,10 @@ This example requires `jq` to be installed on your machine.
2. Start the docker compose group by running the following command from the
root of the repository:
```shell
- export ASSETS_PATH=$(pwd)/getting-started/assets/
+ export ASSETS_PATH=$(pwd)/site/content/guides/assets/
export CLIENT_ID=root
export CLIENT_SECRET=s3cr3t
- docker compose -f getting-started/telemetry/docker-compose.yml up
+ docker compose -f site/content/guides/telemetry/docker-compose.yml up
```
3. To access Polaris from the host machine, first request an access token:
diff --git a/site/hugo.yaml b/site/hugo.yaml
index 4acb68a93c..d18284ff43 100644
--- a/site/hugo.yaml
+++ b/site/hugo.yaml
@@ -131,6 +131,11 @@ menu:
parent: "doc"
weight: 1000
+ - name: "Guides"
+ identifier: "Guides"
+ url: "/guides"
+ weight: 120
+
- name: "Tools"
identifier: "tools"
url: "/tools"
diff --git a/site/layouts/guides/baseof.html b/site/layouts/guides/baseof.html
new file mode 100644
index 0000000000..338d8a58ce
--- /dev/null
+++ b/site/layouts/guides/baseof.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<!--
+ 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.
+--><html itemscope itemtype="http://schema.org/WebPage"
+ {{- with .Site.Language.LanguageDirection }} dir="{{ . }}" {{- end -}}
+ {{ with .Site.Language.Lang }} lang="{{ . }}" {{- end }} {{/**/ -}}
+ class="no-js">
+ <head>
+ {{ partial "head.html" . }}
+ </head>
+ <body class="td-{{ .Kind }}{{ with .Page.Params.body_class }} {{ . }}{{ end
}}">
+ <header>
+ {{ partial "navbar.html" . }}
+ </header>
+ <div class="container-fluid td-outer">
+ <div class="td-main">
+ <div class="row flex-xl-nowrap">
+ <aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none">
+ {{ partial "sidebar.html" . }}
+ </aside>
+ <!-- Polaris custom flag to include the _right_ side page TOC -->
+ {{ if .Params.show_page_toc -}}
+ <aside class="d-none d-xl-block col-xl-2 td-sidebar-toc
d-print-none">
+ {{ partial "toc.html" . }}
+ </aside>
+ {{ end -}}
+ <main class="col-12 col-md-9 col-xl-8 ps-md-5" role="main">
+ {{ partial "version-banner.html" . }}
+ {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial
"breadcrumb.html" . }}{{ end }}
+ <h1>{{ .Title }}</h1>
+ {{ $res := .Resources -}}
+ {{ $pageRelPermalink := .RelPermalink }}
+ {{ if $res }}
+ <div class="alert alert-primary">
+ <p class="alert-heading">
+ ℹ️ Assets for this guide can be accessed from the <a
href="https://github.com/apache/polaris/tree/main/site/content{{
$pageRelPermalink }}">Apache Polaris Git repository</a>
+ </p>
+ </div>
+ {{ end }}
+ {{ block "main" . }}{{ end }}
+ </main>
+ </div>
+ </div>
+ {{ partial "footer.html" . }}
+ </div>
+ {{ partial "scripts.html" . }}
+ </body>
+</html>
\ No newline at end of file