Skip to content

synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430

Draft
christian-heusel wants to merge 6 commits intokubeflow:masterfrom
christian-heusel:synchronize-notebooks-v2-manifests-v2.0.0-alpha.0
Draft

synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430
christian-heusel wants to merge 6 commits intokubeflow:masterfrom
christian-heusel:synchronize-notebooks-v2-manifests-v2.0.0-alpha.0

Conversation

@christian-heusel
Copy link
Copy Markdown
Contributor

@christian-heusel christian-heusel commented Mar 31, 2026

Pull Request Template for Kubeflow Manifests

✏️ Summary of Changes

Do the initial sync for the experimental notebooks v2 manifests.

  • Update kubeflow/notebooks manifests from v2.0.0-alpha.0
  • chore: Setup plumbing needed for notebooks-v2
  • chore: Add sidebar link for notebooks-v2
  • Update kubeflow/notebooks manifests from v2.0.0-alpha.1

📦 Dependencies

none

🐛 Related Issues

none

✅ 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.).

cc @andyatmiami @thesuperzapper

Copilot AI review requested due to automatic review settings March 31, 2026 01:24
@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 kimwnasptd 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

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces the initial synchronization of experimental Kubernetes Notebook v2 manifests from the upstream kubeflow/notebooks repository at version v2.0.0-alpha.0. The PR includes a synchronization script, comprehensive controller/backend/frontend manifests with Istio integration, sample configurations, and a patch to add a notebooks-v2 entry to the central dashboard sidebar (currently commented out with a pre-GA warning).

Changes:

  • Created a synchronization script (scripts/synchronize-notebooks-v2-manifests.sh) to automate future manifest updates
  • Added complete experimental notebooks-v2 manifests (backend, frontend, controller) with Istio networking integration
  • Included sample WorkspaceKind and Workspace resources demonstrating usage
  • Added centraldashboard configuration patch to expose notebooks-v2 in the UI
  • Updated example kustomization to document notebooks-v2 availability (with pre-GA warnings and commented out)

Reviewed changes

Copilot reviewed 76 out of 77 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/synchronize-notebooks-v2-manifests.sh Script to automate synchronization of upstream notebooks-v2 manifests
experimental/notebooks-v2/kustomization.yaml Root kustomization composing backend, controller, and frontend with image tag fixes
experimental/notebooks-v2/backend/ Backend service manifests with Istio overlay and RBAC configuration
experimental/notebooks-v2/controller/ Workspaces controller with CRDs, webhooks, and cert-manager integration
experimental/notebooks-v2/frontend/ Frontend UI deployment with Istio ingress routing
experimental/notebooks-v2/centraldashboard/ ConfigMap patch adding notebooks-v2 menu items to central dashboard
example/kustomization.yaml Documentation comments for optional notebooks-v2 deployment

Comment thread scripts/synchronize-notebooks-v2-manifests.sh Outdated
Comment thread scripts/synchronize-notebooks-v2-manifests.sh Outdated
Comment thread applications/workspaces/overlays/istio/kustomization.yaml Outdated
@thesuperzapper
Copy link
Copy Markdown
Member

@christian-heusel I think the best structure is to keep everything under applications, in a folder called workspaces.

Structure should be:

applications:
  - workspaces:
       - upstream:
           - controller:
               - base, overlays, components, etc
           - backend:
               - base, overlays, components, etc
           - frontend:
               - base, overlays, components, etc
      - overlays:
           - istio:
               - xyz_patch.yaml (if needed can be included).
               - kustomization.yaml (points to the `overlays/istio` of each upstream)

Then we have a single sync target under upstream.

@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch 2 times, most recently from cab81d8 to e32edf7 Compare April 1, 2026 12:25
Comment thread applications/workspaces/overlays/istio/kustomization.yaml Outdated
@christian-heusel christian-heusel marked this pull request as ready for review April 1, 2026 12:35
@google-oss-prow google-oss-prow bot requested a review from kimwnasptd April 1, 2026 12:35
@christian-heusel
Copy link
Copy Markdown
Contributor Author

/hold

christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 1, 2026
Link: kubeflow#3430 (comment)
Link: kubeflow#3429 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from e32edf7 to d3d678c Compare April 1, 2026 17:04
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 1, 2026
Link: kubeflow/manifests#3430 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 1, 2026
Link: kubeflow#3430 (comment)
Link: kubeflow#3429 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
google-oss-prow bot pushed a commit to kubeflow/notebooks that referenced this pull request Apr 2, 2026
Comment thread applications/workspaces/components/centraldashboard/centraldashboard-config.yaml Outdated
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 2, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
christian-heusel added a commit to christian-heusel/notebooks that referenced this pull request Apr 2, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
google-oss-prow bot pushed a commit to kubeflow/notebooks that referenced this pull request Apr 2, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)

Signed-off-by: Christian Heusel <christian@heusel.eu>
thesuperzapper pushed a commit to kubeflow/notebooks that referenced this pull request Apr 7, 2026
thesuperzapper pushed a commit to kubeflow/notebooks that referenced this pull request Apr 7, 2026
Without this we're running into `ImagePullBackOff` issues in the release
manifests and need to manually fix the tags there.

Link: kubeflow/manifests#3430 (comment)

Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from d3d678c to 9afe2a9 Compare April 8, 2026 18:00
@christian-heusel christian-heusel changed the title synchronize notebooks v2 manifests v2.0.0 alpha.0 synchronize notebooks v2 manifests v2.0.0 alpha.1 Apr 8, 2026
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from 9afe2a9 to 72c8d1e Compare April 8, 2026 18:04
@christian-heusel christian-heusel changed the title synchronize notebooks v2 manifests v2.0.0 alpha.1 synchronize kubeflow workspaces manifests v2.0.0 alpha.1 Apr 8, 2026
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 8, 2026
Link: kubeflow#3430 (comment)
Link: kubeflow#3429 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from 72c8d1e to e1ac53a Compare April 9, 2026 12:32
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 9, 2026
Link: kubeflow#3430 (comment)
Link: kubeflow#3429 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>
@juliusvonkohout
Copy link
Copy Markdown
Member

juliusvonkohout pushed a commit that referenced this pull request Apr 11, 2026
* Update kubeflow/notebooks manifests from v1.11.0-rc.1

Signed-off-by: Christian Heusel <christian@heusel.eu>

* Restructure the notebooks-v1 component manifests

Link: #3430 (comment)
Link: #3429 (comment)
Signed-off-by: Christian Heusel <christian@heusel.eu>

---------

Signed-off-by: Christian Heusel <christian@heusel.eu>
@juliusvonkohout
Copy link
Copy Markdown
Member

if you want you can also kill the notebooks v1 helm charts in this PR. Since we will kill v1 there is no potential to upstream them in the future.

Comment thread applications/workspaces/components/centraldashboard/centraldashboard-config.yaml Outdated
Signed-off-by: Christian Heusel <christian@heusel.eu>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Adds a GitHub Actions workflow that deploys all three Workspaces
components (controller, backend, frontend)  and verifies the access
permissions to the backend API through the Istio ingress gateway.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 16, 2026
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel marked this pull request as draft April 16, 2026 20:03
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from e1ac53a to d08b4fa Compare April 16, 2026 20:03
christian-heusel added a commit to christian-heusel/manifests that referenced this pull request Apr 16, 2026
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from d08b4fa to 11ec53b Compare April 16, 2026 20:08
Link: kubeflow#3430 (comment)
Suggested-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Adds a second integration test that spawns a Workspace and runs a
pipeline inside it, mirroring `pipeline_run_from_notebook.yaml` for the
Notebooks Workspaces.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
@christian-heusel christian-heusel force-pushed the synchronize-notebooks-v2-manifests-v2.0.0-alpha.0 branch from 11ec53b to 79ea0ae Compare April 16, 2026 20:22
@juliusvonkohout
Copy link
Copy Markdown
Member

/retest
Maybe also @danish9039 can help.

@danish9039
Copy link
Copy Markdown
Member

danish9039 commented Apr 19, 2026

@christian-heusel failures here are a combination of the prerelease image-tag mismatch (v2.0.0-alpha.1 in manifests https://github.com/kubeflow/manifests/pull/3430/changes#diff-2145495ad76e99d7bebb590b3ab3c4fb6dec9b87f0092b3ff4c7adf9cd36311dR20 vs 2.0.0-alpha.1 in GHCR) plus stale workflow assumptions in the new tests

global all-namespaces pod wait that times out on unrelated KinD dependencies https://github.com/kubeflow/manifests/pull/3430/changes#diff-8b3cd760feec7fb87c30efb305a6f3031f13ede999a21dcf1aa2c7bc5a88e8acR51

should wait first for cert-manager pods and then for pods in the only in kubeflow-workspaces namespace

kubectl wait --for=condition=Ready pods -n cert-manager --all --timeout=120s
        kubectl wait --for=condition=Ready pods \
          -n kubeflow-workspaces --all \
          --timeout=600s


controller test hitting the old /workspaces/api/v1/namespaces/{ns}/workspaces route https://github.com/kubeflow/manifests/pull/3430/changes#diff-8b3cd760feec7fb87c30efb305a6f3031f13ede999a21dcf1aa2c7bc5a88e8acR76 instead of /workspaces/api/v1/workspaces/{ns}

pipeline test assuming the workspace pod is always named test-0 even though the controller now generates that name dynamically .https://github.com/kubeflow/manifests/pull/3430/changes#diff-0dbda89ab22f251a228374464802a7f6b04345db1a5292dcbbb8b264b876f255R84

i have fixed and validated the changes required ( see commits on my fork danish9039@d76d396 )

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.

5 participants