Skip to content

notebooks: document Workspaces concepts and architecture - #4474

Open
HarshPopat23 wants to merge 1 commit into
kubeflow:masterfrom
HarshPopat23:docs-workspaces-overview-copy
Open

notebooks: document Workspaces concepts and architecture#4474
HarshPopat23 wants to merge 1 commit into
kubeflow:masterfrom
HarshPopat23:docs-workspaces-overview-copy

Conversation

@HarshPopat23

@HarshPopat23 HarshPopat23 commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Summary

  • Adds a concise Core concepts and architecture section to the Kubeflow Workspaces overview explaining the roles and scopes of WorkspaceKind and Workspace, as well as component responsibilities (Frontend, Backend, and Controller).
  • Streamlines copy updates to focus strictly on objective editorial corrections:
    • Corrects heading grammar: "What do Kubeflow Workspaces offer?"
    • Removes the incorrect article in "a convenient access" -> "convenient access".
    • Eliminates repetitive phrasing: "examples for popular examples" -> "examples for popular IDEs".
    • Fixes missing colon delimiter and corrects closed compound "endusers" -> "end users".
    • Preserves upstream sentence structure without subjective tone rewrites.

Why

Maintainer feedback on #4474 indicated that subjective wording changes alone did not clearly improve the overview. Adding a foundational architecture summary addresses a concrete documentation gap by clarifying how cluster-scoped configuration (WorkspaceKind), user workloads (Workspace), and runtime controllers interact, while retaining upstream phrasing and resolving typographical issues.

Technical sources

Verified against the notebooks-v2 branch of kubeflow/notebooks:

  • workspaces/controller/api/v1beta1/workspacekind_types.go: WorkspaceKind cluster scope, spawner config, pod templates, activity and filter rules.
  • workspaces/controller/api/v1beta1/workspace_types.go: Workspace namespace scope, kind reference, user configuration.
  • workspaces/frontend/README.md: Web UI responsibilities.
  • workspaces/backend/README.md: Backend-for-frontend (BFF) service role.
  • workspaces/controller/README.md: Reconciliation of custom resources.
  • workspaces/controller/internal/controller/workspace_controller.go: Ownership and reconciliation of StatefulSet, Service, ServiceAccount, RoleBindings, and conditional Istio VirtualService.

Verification

  • Ran git diff --check (no whitespace errors).
  • Ran python scripts/validate-urls.py -d content/en/docs/components/workspaces (all links in overview.md return 200).
  • Confirmed changes are isolated solely to content/en/docs/components/workspaces/overview.md.

Related documentation epic: kubeflow/notebooks#701

@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 andyatmiami 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

@google-oss-prow

Copy link
Copy Markdown

Hi @HarshPopat23. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@github-actions

Copy link
Copy Markdown

🚫 This command cannot be processed. Only organization members or owners can use the commands.

@HarshPopat23

Copy link
Copy Markdown
Contributor Author

cc : @christian-heusel

@HarshPopat23
HarshPopat23 force-pushed the docs-workspaces-overview-copy branch from b070ffd to 30d41aa Compare August 28, 2026 18:00
@christian-heusel

Copy link
Copy Markdown
Member

cc : @christian-heusel

Please only explicitly tag me when you didn't get a response in a reasonable timeframe! 🤗

@christian-heusel christian-heusel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hey @HarshPopat23, thanks for striving to make the Kubeflow Workspaces documentation better! 🚀

I gave your changeset a brief review, however I'm a bit unsure whether any of these changes are actually an improvement over the previous version 🤔

@Arhell Arhell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/ok-to-test

@HarshPopat23 HarshPopat23 changed the title notebooks: improve wording in Kubeflow Workspaces overview notebooks: document Workspaces concepts and architecture Aug 29, 2026
Signed-off-by: HarshPopat23 <musichk61@gmail.com>
Comment on lines +40 to +46
### Component responsibilities

| Component | Responsibility |
| --- | --- |
| **Frontend** | User interface for creating, monitoring, and managing Workspaces. |
| **Backend** | Backend-for-frontend API used by the UI. |
| **Controller** | Reconciles `Workspace` and `WorkspaceKind` resources and manages the runtime Kubernetes resources. The controller currently owns a `StatefulSet`, `Service`, `ServiceAccount`, `RoleBindings`, and optionally an Istio `VirtualService`. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think this should be explained on this page, we plan to have a separate (far more detailed) page for the architecture 🤔

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ohk so should i make detailed page and connect lik on this page or will look letter after this pr?

Comment on lines -24 to +28
- **Support for any web-based IDE**, with first-class examples for popular examples such as
- **Support for any web-based IDE**, with first-class examples for popular IDEs such as
[JupyterLab](https://github.com/jupyterlab/jupyterlab), [Visual Studio Code
(code-server)](https://github.com/coder/code-server), and
[RStudio](https://github.com/rstudio/rstudio).
- **Persona-based design** Cluster admins curate the available environments through the
- **Persona-based design**: Cluster admins curate the available environments through the

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are these needed/sensible changes? 🤔

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Ya but i am just reading the docs and try to connect with the other docs which i have read erlier...
and feel like i should do that..
no worries i will remove it.

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.

3 participants