Skip to content

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

Merged
google-oss-prow[bot] merged 13 commits into
kubeflow:masterfrom
christian-heusel:synchronize-notebooks-v2-manifests-v2.0.0-alpha.0
May 7, 2026
Merged

synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430
google-oss-prow[bot] merged 13 commits into
kubeflow: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

🐛 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

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>
@christian-heusel
Copy link
Copy Markdown
Contributor Author

@danish9039 can also raise a PR to delete some of the experimental helm charts here and fix the CI/CD. Then this PR here becomes smaller and easier to review.

What do you mean with that? 🤔 The current failures in the helm chart are unrelated to the changes made in this PR 🤗

@juliusvonkohout
Copy link
Copy Markdown
Member

@danish9039 can also raise a PR to delete some of the experimental helm charts here and fix the CI/CD. Then this PR here becomes smaller and easier to review.

What do you mean with that? 🤔 The current failures in the helm chart are unrelated to the changes made in this PR 🤗

Yes so maybe @danish9039 can relief you of this problem and you just have to rebase and not worry.

@danish9039
Copy link
Copy Markdown
Member

@danish9039 can also raise a PR to delete some of the experimental helm charts here and fix the CI/CD. Then this PR here becomes smaller and easier to review.

What do you mean with that? 🤔 The current failures in the helm chart are unrelated to the changes made in this PR 🤗

Yes so maybe @danish9039 can relief you of this problem and you just have to rebase and not worry.

@juliusvonkohout I have raised a PR in which I have updated the image tags that were the cause of CI failiure. #3449 , @christian-heusel can rebase after PR #3449 get merged

@juliusvonkohout
Copy link
Copy Markdown
Member

Please rebase and you can ignore Helm now.

christian-heusel and others added 7 commits April 30, 2026 17:11
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>
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>
Co-authored-by: danish9039 <danishsiddiqui040@gmail.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Comment thread tests/workspaces_install.sh Outdated
Add `seccompProfile` and `runAsNonRoot` to comply with the
`restricted` Pod Security Standard.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Wait for `notebook-controller-deployment` to be available directly after
installation to prevent a race condition where the pod label selector
returns no matching resources when the Notebook CR is created before
the controller is ready.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Adds a default-allow-same-namespace baseline policy and per-component
policies for workspaces-backend and workspaces-frontend, matching the
network isolation pattern used in the kubeflow namespace.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Drop the redundant cert-manager wait (already handled by its own install
script) and the per-component rollout checks, replacing them with a
single pod readiness wait and a deployment availability wait across the
whole namespace.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
Use the new script in both the dedicated workspaces deployment test and
the full integration test.

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
…e_run_test.sh

Assisted-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Heusel <christian@heusel.eu>
@tarekabouzeid
Copy link
Copy Markdown
Member

super great work !
/lgtm

@thesuperzapper
Copy link
Copy Markdown
Member

@juliusvonkohout @tarekabouzeid this should be ready to approve and merge now!

/unhold

We will follow up with a sync of the latest alpha before we cut the final 26.03.1 because 2.0.0-alpha.1 is quite old now and we have upstreamed the patches in our applications/workspace/overlays/istio so they no longer need to be applied in this repo.

@juliusvonkohout
Copy link
Copy Markdown
Member

juliusvonkohout commented May 7, 2026

/approve
Thank you,
lets refine later.

@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: juliusvonkohout

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

The pull request process is described 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

@google-oss-prow google-oss-prow Bot merged commit cf726fa into kubeflow:master May 7, 2026
10 checks passed
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.

6 participants