Skip to content

helm: add Kubeflow Notebooks chart#3525

Draft
danish9039 wants to merge 5 commits into
kubeflow:masterfrom
danish9039:gsoc/kubeflow-notebooks-chart
Draft

helm: add Kubeflow Notebooks chart#3525
danish9039 wants to merge 5 commits into
kubeflow:masterfrom
danish9039:gsoc/kubeflow-notebooks-chart

Conversation

@danish9039

Copy link
Copy Markdown
Member

Summary of Changes

Adds the Kubeflow Notebooks v1 Helm wrapper chart as a co-located application chart under applications/notebooks-v1/helm.

This PR keeps the first reviewable slice focused on Kustomize parity for the customer-facing Notebooks platform install path. It retains the platform scenario, which maps to applications/notebooks-v1/overlays/istio, and does not introduce standalone, split-component, or broad customization modes in this initial chart PR.

The PR also updates Helm/Kustomize comparison wiring to the new chart path, uses Helm 4 in the comparison workflow, and extends scripts/synchronize-notebooks-v1-manifests.sh so future Notebooks upstream syncs also refresh the Helm chart appVersion and regenerated static platform template.

The chart is placed under applications/notebooks-v1/helm because Notebooks v1 is an official application component, and this is the application-side equivalent of placing common wrappers under common/<component>/helm. The sync script owns applications/notebooks-v1/upstream, while the Helm chart lives as a sibling under applications/notebooks-v1/helm.

Dependencies

Conceptually follows the foundation, wrapper, and Dashboard chart PRs for runtime installation order:

Render parity validation for this PR is self-contained.

Related Issues

Part of the Project 5 Helm chart work.

Contributor Checklist

  • I have tested these changes with kustomize. See Installation Prerequisites.
  • All commits are signed-off to satisfy the DCO check.
  • I have considered adding my company to the adopters page to support Kubeflow and help the community, since I expect help from the community for my issue (see 1. and 2.).

Validation

helm lint applications/notebooks-v1/helm
./tests/helm_kustomize_compare.sh kubeflow-notebooks platform
./tests/helm_kustomize_compare_all.sh kubeflow-notebooks
bash -n scripts/synchronize-notebooks-v1-manifests.sh tests/helm_kustomize_compare.sh tests/helm_kustomize_compare_all.sh
python3 -m py_compile tests/helm_kustomize_compare.py
git diff --check

Also verified with temporary Helm v4.2.2:

helm lint applications/notebooks-v1/helm
./tests/helm_kustomize_compare_all.sh kubeflow-notebooks

Copilot AI review requested due to automatic review settings July 2, 2026 22:49
@google-oss-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign juliusvonkohout for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Welcome to the Kubeflow Community Distribution Repository

Thanks for opening your first PR. Your contribution means a lot to the Kubeflow community.

Before making more PRs:
Please ensure your PR follows our Contributing Guide.
Please also be aware that many components are synchronized from upstream via the scripts in /scripts.
So in some cases you have to fix the problem in the upstream repositories first, but you can use a PR against kubeflow/community-distribution to test the platform integration.

Community Resources:

Thanks again for helping to improve Kubeflow.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a co-located Helm wrapper chart for Kubeflow Notebooks v1 under applications/notebooks-v1/helm, and wires it into the existing Helm/Kustomize render-parity comparison and synchronization workflow so future upstream refreshes also regenerate the chart payload.

Changes:

  • Introduce kubeflow-notebooks Helm wrapper chart (static Kustomize-parity “platform” scenario).
  • Extend Helm/Kustomize comparison scripts to include the new kubeflow-notebooks component/scenario.
  • Update the Notebooks v1 synchronization script and CI workflow to keep the chart’s appVersion and rendered platform template refreshed (and to install Helm v4.2.2 for the comparison job).

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
applications/notebooks-v1/helm/Chart.yaml New chart metadata for kubeflow-notebooks.
applications/notebooks-v1/helm/README.md Installation and parity-comparison instructions for the new chart.
applications/notebooks-v1/helm/values.yaml Default values, including the scenario switch.
applications/notebooks-v1/helm/ci/values-platform.yaml CI fixture values for the platform scenario.
applications/notebooks-v1/helm/templates/platform.yaml Generated static template containing the platform render payload.
applications/notebooks-v1/helm/templates/validate.yaml Scenario validation guardrail for supported values.
tests/helm_kustomize_compare.sh Adds kubeflow-notebooks wiring (chart path, kustomize overlay, values, namespace).
tests/helm_kustomize_compare_all.sh Adds kubeflow-notebooks to the “all components” scenario matrix and help text.
tests/helm_kustomize_compare.py Allows kubeflow-notebooks as a recognized component in the comparison tool.
scripts/synchronize-notebooks-v1-manifests.sh Extends sync to also update chart appVersion and regenerate templates/platform.yaml.
.github/workflows/helm-kustomize-comparison.yml Triggers on Notebooks changes and installs Helm v4.2.2 for parity checks.

Comment on lines 213 to 219
elif component == "hub":
return set() # No extra resources in Helm for Model Registry
elif component == "kserve-models-web-app":
return set()
elif component == "kubeflow-notebooks":
return set()
else:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Fixed by preserving Notebooks app labels.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.

update_readme "$MANIFESTS_DIRECTORY" "$source_text" "$destination_text"
}
TARGET_DIR="applications/notebooks-v1/upstream/"
TARGET_DIRECTORY="applications/notebooks-v1/upstream/"
@danish9039 danish9039 force-pushed the gsoc/kubeflow-notebooks-chart branch from 5c7e6d9 to d2148f8 Compare July 5, 2026 14:56
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
@danish9039 danish9039 force-pushed the gsoc/kubeflow-notebooks-chart branch from 4925c00 to 1447480 Compare July 8, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants