synchronize kubeflow workspaces manifests v2.0.0 alpha.1#3430
Conversation
There was a problem hiding this comment.
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 |
16265d1 to
fd04a9f
Compare
|
@christian-heusel I think the best structure is to keep everything under 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 |
cab81d8 to
e32edf7
Compare
|
/hold |
Link: kubeflow#3430 (comment) Link: kubeflow#3429 (comment) Signed-off-by: Christian Heusel <christian@heusel.eu>
e32edf7 to
d3d678c
Compare
Link: kubeflow/manifests#3430 (comment) Signed-off-by: Christian Heusel <christian@heusel.eu>
Link: kubeflow#3430 (comment) Link: kubeflow#3429 (comment) Signed-off-by: Christian Heusel <christian@heusel.eu>
Link: kubeflow/manifests#3430 (comment) Signed-off-by: Christian Heusel <christian@heusel.eu>
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>
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>
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>
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 |
|
Please rebase and you can ignore Helm now. |
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>
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>
490144d to
dfdb494
Compare
|
super great work ! |
|
@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 |
|
/approve |
|
[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 DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Pull Request Template for Kubeflow Manifests
✏️ Summary of Changes
Do the initial sync for the experimental notebooks v2 manifests.
📦 Dependencies
🐛 Related Issues
none
✅ Contributor Checklist
cc @andyatmiami @thesuperzapper