Skip to content

helm: add Kubeflow Dashboard chart#3524

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

helm: add Kubeflow Dashboard chart#3524
danish9039 wants to merge 5 commits into
kubeflow:masterfrom
danish9039:gsoc/dashboard-wrapper-chart

Conversation

@danish9039

Copy link
Copy Markdown
Member

Summary of Changes

Adds the Kubeflow Dashboard Helm wrapper chart as a co-located application chart under applications/dashboard/helm.

This PR keeps the first reviewable slice focused on Kustomize parity for the customer-facing Dashboard platform install path. It retains only the platform scenario, which maps to applications/dashboard/overlays/istio, and removes the exploratory split Dashboard CI scenarios from the chart PR scope.

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

The chart is placed under applications/dashboard/helm because Dashboard 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/dashboard/upstream, while the Helm chart lives as a sibling under applications/dashboard/helm.

Dependencies

Conceptually follows the foundation and wrapper 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/dashboard/helm
./tests/helm_kustomize_compare.sh kubeflow-dashboard platform
./tests/helm_kustomize_compare_all.sh kubeflow-dashboard
bash -n scripts/synchronize-dashboard-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/dashboard/helm
./tests/helm_kustomize_compare_all.sh kubeflow-dashboard

Copilot AI review requested due to automatic review settings July 2, 2026 22:48
@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 the Kubeflow Dashboard application and wires it into the existing Helm↔Kustomize render-parity validation and synchronization flow.

Changes:

  • Introduce applications/dashboard/helm as a static, scenario-gated Helm wrapper chart rendering the current Dashboard overlays/istio (“platform”) install.
  • Extend Helm/Kustomize comparison scripts to include the new kubeflow-dashboard component and scenario.
  • Update the Dashboard synchronization script to also refresh the Helm chart appVersion and regenerated static platform.yaml template; update the comparison workflow to install Helm 4.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/helm_kustomize_compare.sh Adds kubeflow-dashboard component wiring for parity comparison.
tests/helm_kustomize_compare.py Allows kubeflow-dashboard as a supported component in the comparison tool.
tests/helm_kustomize_compare_all.sh Adds kubeflow-dashboard to the “all” comparison matrix.
scripts/synchronize-dashboard-manifests.sh Extends upstream sync automation to also refresh Helm chart metadata and static template output.
applications/dashboard/helm/values.yaml Defines default chart values (scenario selection).
applications/dashboard/helm/templates/validate.yaml Adds scenario validation to fail fast on unsupported values.
applications/dashboard/helm/templates/platform.yaml Provides the static Kustomize-parity rendered payload for the “platform” scenario.
applications/dashboard/helm/README.md Documents install shape, caveats, and parity validation commands.
applications/dashboard/helm/ci/values-platform.yaml CI fixture values for the “platform” scenario.
applications/dashboard/helm/Chart.yaml Introduces the Dashboard wrapper chart metadata.
.github/workflows/helm-kustomize-comparison.yml Triggers parity CI for Dashboard changes and installs Helm v4.2.2 via setup action.

Comment thread tests/helm_kustomize_compare_all.sh Outdated
declare -a failed_components=()

for comp in katib hub kserve-models-web-app; do
for comp in katib hub kserve-models-web-app kubeflow-dashboard; do

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 in the latest commit.

Comment thread tests/helm_kustomize_compare.py Outdated
Comment on lines +283 to +284
print("Usage: python compare.py <kustomize_file> <helm_file> <component> <scenario> [namespace] [--verbose]")
print("Components: katib, hub, kserve-models-web-app")
print("Components: katib, hub, kserve-models-web-app, kubeflow-dashboard")

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 in the latest commit.

sed -i "s|^appVersion:.*|appVersion: ${COMMIT}|" "$chart_yaml"
fi

temporary_platform_template="$(mktemp)"

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 in the latest commit.

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.

Comment on lines 369 to +372
"Usage: python compare.py <kustomize_file> <helm_file> <component> <scenario> [namespace] [--verbose]"
)
print("Components: katib, hub, kserve-models-web-application, cert-manager")
print(
"Components: katib, hub, kserve-models-web-application, cert-manager, kubeflow-dashboard"
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/dashboard-wrapper-chart branch from bd02c7a to c3b6c0c Compare July 5, 2026 14:56
Signed-off-by: danish9039 <danishsiddiqui040@gmail.com>
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