Skip to content
Open
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
88 changes: 88 additions & 0 deletions .github/workflows/chart-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Publish Helm Charts

on:
workflow_dispatch:
inputs:
version:
description: 'Chart version to publish (e.g., 1.3.0)'
required: true
type: string
username:
description: 'Docker Hub username'
required: true
type: string
token:
description: 'Publish Docker token'
required: true
type: string
docker_repo_name:
description: 'Docker repository name (default is apache)'
required: false
default: 'apache'
type: string
charts:
description: 'Charts to publish (comma-separated: gravitino,iceberg,lance or "all")'
required: false
default: 'all'
type: string

jobs:
publish-helm-charts:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
input_token: ${{ github.event.inputs.token }}
secrets_token: ${{ secrets.PUBLISH_DOCKER_TOKEN }}
DOCKER_REPO: registry-1.docker.io/${{ github.event.inputs.docker_repo_name }}
steps:
- name: Check publish Docker token
run: |
if [[ "${secrets_token}" != "${input_token}" ]]; then
echo "You have entered an incorrect token. Please re-enter it."
exit 1
fi

- uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v4.3.0

- name: Login to Docker Hub
run: |
echo "${{ secrets.DOCKER_REPOSITORY_PASSWORD }}" | helm registry login registry-1.docker.io -u ${{ github.event.inputs.username }} --password-stdin

- name: Determine charts to publish
id: charts
run: |
INPUT_CHARTS="${{ github.event.inputs.charts }}"
if [[ "${INPUT_CHARTS}" == "all" ]]; then
echo "charts=gravitino,iceberg,lance" >> $GITHUB_OUTPUT
else
echo "charts=${INPUT_CHARTS}" >> $GITHUB_OUTPUT
fi

- name: Package and publish Gravitino chart
if: contains(steps.charts.outputs.charts, 'gravitino')
run: |
cd dev/charts/gravitino
helm dependency update
helm package . --version ${{ github.event.inputs.version }}
helm push gravitino-helm-${{ github.event.inputs.version }}.tgz oci://${DOCKER_REPO}

- name: Package and publish Gravitino Iceberg REST Server chart
if: contains(steps.charts.outputs.charts, 'iceberg')
run: |
cd dev/charts/gravitino-iceberg-rest-server
helm package . --version ${{ github.event.inputs.version }}
helm push gravitino-iceberg-rest-server-helm-${{ github.event.inputs.version }}.tgz oci://${DOCKER_REPO}

- name: Package and publish Gravitino Lance REST Server chart
if: contains(steps.charts.outputs.charts, 'lance')
run: |
cd dev/charts/gravitino-lance-rest-server
helm package . --version ${{ github.event.inputs.version }}
helm push gravitino-lance-rest-server-helm-${{ github.event.inputs.version }}.tgz oci://${DOCKER_REPO}

- name: Logout from Docker Hub
if: always()
run: helm registry logout registry-1.docker.io
3 changes: 2 additions & 1 deletion dev/charts/gravitino-iceberg-rest-server/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#

apiVersion: v2
name: gravitino-iceberg-rest-server
name: gravitino-iceberg-rest-server-helm
description: Apache Gravitino's REST catalog server delivers unified metadata management via RESTful APIs, supporting HDFS/S3/OSS storage backends, Spark/Flink/Trino engines, federated metadata, access control, and Iceberg REST spec compatibility.

home: https://gravitino.apache.org
Expand All @@ -31,6 +31,7 @@ keywords:

annotations:
licenses: Apache-2.0
artifacthub.io/prerelease: "false"
kubeVersion: '>=1.29.0-0'
maintainers:
- name: Gravitino
Expand Down
33 changes: 33 additions & 0 deletions dev/charts/gravitino-iceberg-rest-server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Apache Gravitino Iceberg REST Catalog Server Helm Chart

This Helm chart deploys Apache Gravitino Iceberg REST Catalog Server on Kubernetes with customizable configurations.

## Quick Start

```bash
# Install from OCI registry
helm install gravitino-iceberg oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> -n gravitino --create-namespace

# Or pull the chart first
helm pull oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION>
```

## Documentation

For detailed installation instructions, configuration options, and usage examples, please refer to:

📖 [Complete Iceberg REST Catalog Server Documentation](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md)

## Quick Links

- [Prerequisites](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md#prerequisites)
- [Installation](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md#installation)
- [Configuration](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md#view-chart-values)
- [Deploy with Custom Configuration](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md#deploy-with-custom-configuration)
- [Uninstall](https://github.com/apache/gravitino/blob/main/docs/iceberg-rest-catalog-chart.md#uninstall-helm-chart)

## Support

- GitHub Issues: https://github.com/apache/gravitino/issues
- Documentation: https://gravitino.apache.org
- Community: dev@gravitino.apache.org
24 changes: 24 additions & 0 deletions dev/charts/gravitino-iceberg-rest-server/artifacthub-repo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# 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.
#
# Artifact Hub repository metadata file
# https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-repo.yml
repositoryID: 61bb03ae-cc61-48dc-9a0a-a845411d764b
owners:
- name: Apache Gravitino
email: dev@gravitino.apache.org
3 changes: 2 additions & 1 deletion dev/charts/gravitino-lance-rest-server/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#

apiVersion: v2
name: gravitino-lance-rest-server
name: gravitino-lance-rest-server-helm
description: Apache Gravitino's Lance REST server provides high-performance columnar data management via RESTful APIs, supporting HDFS/S3/OSS/Azure/GCS storage backends, and Lance format compatibility for analytical workloads.

home: https://gravitino.apache.org
Expand All @@ -33,6 +33,7 @@ keywords:

annotations:
licenses: Apache-2.0
artifacthub.io/prerelease: "false"
kubeVersion: '>=1.29.0-0'
maintainers:
- name: Gravitino
Expand Down
43 changes: 43 additions & 0 deletions dev/charts/gravitino-lance-rest-server/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Apache Gravitino Lance REST Server Helm Chart

This Helm chart deploys Apache Gravitino Lance REST Server on Kubernetes with customizable configurations.

## Quick Start

```bash
# Install from OCI registry
helm install gravitino-lance oci://registry-1.docker.io/apache/gravitino-lance-rest-server-helm --version <VERSION> \
-n gravitino --create-namespace \
--set lanceRest.gravitinoUri=http://gravitino:8090 \
--set lanceRest.gravitinoMetalake=your-metalake

# Or pull the chart first
helm pull oci://registry-1.docker.io/apache/gravitino-lance-rest-server-helm --version <VERSION>
```

## Documentation

For detailed installation instructions, configuration options, and usage examples, please refer to:

📖 [Complete Lance REST Server Documentation](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md)

## Quick Links

- [Prerequisites](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md#prerequisites)
- [Installation](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md#installation)
- [Configuration](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md#view-chart-values)
- [Gravitino Backend Configuration](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md#configuration-notes)
- [Uninstall](https://github.com/apache/gravitino/blob/main/docs/lance-rest-server-chart.md#uninstall-helm-chart)

## Important Notes

The Lance REST Server requires a running Gravitino instance. Make sure to:
1. Deploy Gravitino first or have an existing Gravitino server
2. Configure `lanceRest.gravitinoUri` to point to your Gravitino server
3. Create a metalake in Gravitino and set `lanceRest.gravitinoMetalake`

## Support

- GitHub Issues: https://github.com/apache/gravitino/issues
- Documentation: https://gravitino.apache.org
- Community: dev@gravitino.apache.org
24 changes: 24 additions & 0 deletions dev/charts/gravitino-lance-rest-server/artifacthub-repo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# 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.
#
# Artifact Hub repository metadata file
# https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-repo.yml
repositoryID: 38ada415-6427-4e41-a633-e2f1cd5b9425
owners:
- name: Apache Gravitino
email: dev@gravitino.apache.org
10 changes: 8 additions & 2 deletions dev/charts/gravitino/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,14 @@ apiVersion: v2
appVersion: 1.3.0-SNAPSHOT
description: Apache Gravitino is a high-performance, geo-distributed, and federated metadata lake. It manages the metadata directly in different sources, types, and regions. It also provides users with unified metadata access for data and AI assets.
home: https://gravitino.apache.org
icon: https://gravitino.apache.org/img/apache-gravitino.svg
keywords:
- gravitino
- metadata
- catalog
annotations:
licenses: Apache-2.0
artifacthub.io/prerelease: "false"
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
Expand All @@ -36,12 +42,12 @@ dependencies:
name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 15.4.2
kubeVersion: '>=1.28.0-0'
kubeVersion: '>=1.29.0-0'
maintainers:
- name: Gravitino
email: dev@gravitino.apache.org
url: https://gravitino.apache.org
name: gravitino
name: gravitino-helm
sources:
- https://github.com/apache/gravitino
version: 1.3.0
33 changes: 33 additions & 0 deletions dev/charts/gravitino/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Apache Gravitino Helm Chart

This Helm chart deploys Apache Gravitino on Kubernetes with customizable configurations.

## Quick Start

```bash
# Install from OCI registry
helm install gravitino oci://registry-1.docker.io/apache/gravitino-helm --version <VERSION> -n gravitino --create-namespace

# Or pull the chart first
helm pull oci://registry-1.docker.io/apache/gravitino-helm --version <VERSION>
```

## Documentation

For detailed installation instructions, configuration options, and usage examples, please refer to:

📖 [Complete Helm Chart Documentation](https://github.com/apache/gravitino/blob/main/docs/chart.md)

## Quick Links

- [Prerequisites](https://github.com/apache/gravitino/blob/main/docs/chart.md#prerequisites)
- [Installation](https://github.com/apache/gravitino/blob/main/docs/chart.md#installation)
- [Configuration](https://github.com/apache/gravitino/blob/main/docs/chart.md#view-chart-values)
- [Deploy with MySQL](https://github.com/apache/gravitino/blob/main/docs/chart.md#deploying-gravitino-with-mysql-as-the-storage-backend)
- [Uninstall](https://github.com/apache/gravitino/blob/main/docs/chart.md#uninstall-helm-chart)

## Support

- GitHub Issues: https://github.com/apache/gravitino/issues
- Documentation: https://gravitino.apache.org
- Community: dev@gravitino.apache.org
24 changes: 24 additions & 0 deletions dev/charts/gravitino/artifacthub-repo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#
# 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.
#
# Artifact Hub repository metadata file
# https://github.com/artifacthub/hub/blob/master/docs/metadata/artifacthub-repo.yml
repositoryID: c63e9297-5e41-4c6b-a199-39446ab5b3a4
owners:
- name: Apache Gravitino
email: dev@gravitino.apache.org
Loading