feat: add promptql-shelf helm chart#55
Open
rohankmr414 wants to merge 5 commits into
Open
Conversation
This helm chart will deploy lakekeeper and trino and run a bootstrap script to provision an iceberg warehouse
There was a problem hiding this comment.
Pull request overview
This PR introduces a new Helm chart (promptql-shelf) that orchestrates the deployment of Lakekeeper and Trino on Kubernetes, providing automated setup for Iceberg-based data lakehouse infrastructure. The chart supports multiple cloud providers (AWS, GCP, Azure) and includes initialization jobs for database creation and warehouse provisioning.
Changes:
- Created a new Helm chart with dependencies on Lakekeeper and Trino charts
- Added pre-install and post-install jobs for automated database setup and warehouse bootstrapping
- Implemented cloud-provider-specific configurations for storage and catalog integration
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/promptql-shelf/Chart.yaml | Defines the chart metadata and declares dependencies on common, lakekeeper, and trino charts |
| charts/promptql-shelf/.helmignore | Specifies files to exclude from the chart package |
| charts/promptql-shelf/values.yaml | Provides comprehensive configuration options for Lakekeeper, Trino, cloud providers, and resources |
| charts/promptql-shelf/templates/lakekeeper-pg-encryption-secret.yaml | Creates a Kubernetes secret for the Postgres encryption key |
| charts/promptql-shelf/templates/lakekeeper-preinstall-migration.yaml | Pre-install job that ensures the Lakekeeper database exists before deployment |
| charts/promptql-shelf/templates/lakekeeper-bootstrap.yaml | Post-install job that bootstraps Lakekeeper and provisions cloud-specific warehouses |
| charts/promptql-shelf/templates/trino-catalog-configmap.yaml | Configures Trino catalog settings for Iceberg, TPC-DS, and TPC-H with cloud-specific options |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new Helm chart for
promptql-shelf, providing Kubernetes deployment automation for Lakekeeper and Trino, including their configuration, secrets, and bootstrap/migration jobs. The chart is highly configurable, supporting multiple cloud providers (AWS, GCP, Azure) and external database integration. Key highlights include templated resource definitions, cloud-aware configuration, and pre/post-install hooks for smooth initialization.Helm Chart Structure and Core Resources:
Chart.yamldefining thepromptql-shelfchart, its dependencies (lakekeeperandtrino), and metadata..helmignorefile to exclude unnecessary files from the chart package, improving cleanliness and security.values.yamlwith configuration options for Lakekeeper, Trino, cloud providers, external databases, and resource limits.Lakekeeper Initialization and Security:
lakekeeper-preinstall-migration.yaml) to ensure the Lakekeeper Postgres database exists before installation.lakekeeper-bootstrap.yaml) that automates Lakekeeper system bootstrapping and warehouse provisioning for AWS, GCP, or Azure, based on configuration.lakekeeper-pg-encryption-secret.yaml) for securely storing the Lakekeeper Postgres encryption key, with support for conditional creation.Trino Catalog Integration:
trino-catalog-configmap.yaml) that configures Trino catalogs for Iceberg, TPC-DS, and TPC-H, with cloud-specific settings for S3, GCS, or Azure.