refactor(k8s): organize Helm templates into base/aws/on-prem#5757
Open
aicam wants to merge 3 commits into
Open
refactor(k8s): organize Helm templates into base/aws/on-prem#5757aicam wants to merge 3 commits into
aicam wants to merge 3 commits into
Conversation
Group the chart's templates by where they apply so the layout makes the
deployment surface obvious at a glance:
templates/common/ resources every deployment needs (services, gateway,
postgres/lakefs/lakekeeper, computing-unit pool, RBAC)
templates/onprem/ self-hosted-only resources (in-cluster MinIO)
templates/aws/ AWS/EKS-only resources (added in later PRs; placeholder)
Helm renders templates/** recursively, so this is purely organizational:
`helm template` output is byte-identical to before the move (verified, modulo
the chart's pre-existing per-render random LakeFS keys). A templates/README.md
documents the convention and a .helmignore keeps the doc and .gitkeep
placeholder from being loaded as manifests.
Also bring values-development.yaml back in line with values.yaml (the ground
truth), which had drifted:
- image source: docker.io/apache + 1.3.0-incubating-SNAPSHOT (was the stale
ghcr.io/apache + latest), so both value files pull from the same place;
- add the AUTH_JWT_SECRET entry to texeraEnvVars. values.yaml has it but the
dev profile omitted it, so the computing-unit manager started without the
secret and k8s computing-unit creation crashed with NoSuchElementException
(None.get) in ComputingUnitManagingResource. Adding it (same dev-only
default as values.yaml) makes CU creation work under the dev profile.
No behavior change to the default (on-prem) install.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
a1fcbab to
bd9fa60
Compare
Contributor
Automated Reviewer SuggestionsBased on the
|
Open
2 tasks
Ma77Ball
approved these changes
Jun 22, 2026
Ma77Ball
left a comment
Contributor
There was a problem hiding this comment.
Overall LGTM!! Please make sure the helm chart and Docker can still be built, but otherwise I think it can be merged and looks like good work.
bobbai00
requested changes
Jun 23, 2026
bobbai00
left a comment
Contributor
There was a problem hiding this comment.
Rename onprem to on-prem, common to base. Make sure you also update the README.md under the templates folder accordingly
…-development - Rename templates/common -> templates/base and templates/onprem -> templates/on-prem per review (@bobbai00), and update templates/README.md accordingly. - Revert values-development.yaml to apache/main: drop the imageRegistry/imageTag override (@Ma77Ball, @bobbai00) and the hardcoded AUTH_JWT_SECRET (@Ma77Ball), keeping this PR a pure mechanical reorg. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Thanks for the review @bobbai00 @Ma77Ball — addressed in ca0a4c7:
Verification: |
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.
What changes were proposed in this PR?
This is a refactoring of the Helm chart under
bin/k8s/— it reorganizes the flattemplates/directory into a clear, self-documenting layout, and brings the development values overlay back in sync with the source-of-truthvalues.yaml. It is the first in a planned series of small, non-breaking PRs that make the chart cleanly deployable on AWS/EKS while keeping on-prem/local as the unchanged default.1. Template folder reorganization (behavior-neutral). Helm renders
templates/**recursively, so moving files into subdirectories does not change rendered output. Templates are now grouped two ways:templates/common/(shared by every deployment),templates/onprem/(minio-persistence.yaml), andtemplates/aws/(placeholder for AWS-only, value-gated templates added in later PRs; empty for now).common/, by component — one subfolder per service holding all of its manifests, e.g.common/access-control-service/,common/gateway/,common/workflow-computing-unit-manager/,common/workflow-computing-unit-pool/, etc.A
templates/README.mddocuments the convention, and.helmignoreis added so*.md/.gitkeepare not loaded as manifests.2.
values-development.yamlrealigned withvalues.yaml. The dev overlay had drifted from the source of truth:imageRegistry/imageTagupdated fromghcr.io/apache/latesttodocker.io/apache/1.3.0-incubating-SNAPSHOTto matchvalues.yaml.AUTH_JWT_SECRETdev-default that already exists invalues.yamlbut was missing from the dev overlay. Without it, creating a Kubernetes computing unit fails with aNoSuchElementException(None.get) inComputingUnitManagingResource, which readsAUTH_JWT_SECRETfrom the environment unconditionally.No values were renamed or removed and
templates/aws/is empty, so the default on-prem/local install is unchanged.Any related issues, documentation, discussions?
Closes #5892 (refactor sub-task).
Part of #5891 — unify AWS (EKS) and on-premise Kubernetes deployment under
bin/k8s(parent feature).Follows the design discussion in #5641.
This is the first of a planned series of incremental, non-breaking PRs to add AWS/EKS deployment support to the chart; later PRs build on this structure (pluggable object storage, node placement, AWS load balancer, computing-unit warm pool, eksctl/runbook). The new
bin/k8s/templates/README.mddocuments thecommon/aws/onpremand per-component conventions.How was this PR tested?
This is a chart refactor, so it was verified to be a no-op and then exercised end-to-end:
helm template texera bin/k8s -f bin/k8s/values-development.yamlwas captured before and after the file moves. The output is identical — 102 resources both times — with the only differences being the# Source:provenance comments (the new paths) and a per-render randomized secret value.helm lint bin/k8spasses.apacheimages): the reorganized chart installs, all core pods reachRunning, the UI loads and authenticates, dataset upload + preview work (file-service + MinIO), and Kubernetes computing-unit creation succeeds and goes green — exercising theAUTH_JWT_SECRETfix.No unit tests were added because the change is limited to Helm chart file organization and values, which is validated by the render-diff and
helm lintabove rather than by JVM unit tests.Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 4.8)