Description
As part of kubeflow/internal-acls#618 (giving @kimwnasptd and @thesuperzapper write access to the kubeflow/kubeflow
repo), we were asked by the @kubeflow/kubeflow-steering-committee to make a plan for the future of the kubeflow/kubeflow
repo.
Background
All components that currently live in kubeflow/kubeflow
(under the ./components/
folder) are owned and maintained by @kubeflow/wg-notebooks-leads.
People have identified a few issues with this:
- I can make development harder:
- We want to release our components more frequently than Kubeflow itself (which may create confusion for users, if they see a
2.X.X
release on thekubeflow/kubeflow
repo) - Until recently, we didn't even have write access to the repo (e.g. could not create new branches, tags, or cherry-pick commits)
- We want to release our components more frequently than Kubeflow itself (which may create confusion for users, if they see a
- New users are sometimes confused about where to find source code
Options
There is not a clear "best option" for the future of the kubeflow/kubeflow
repo, but here are the 3 ones I can see.
NOTE: any plan that involves moving code will break ALL pending PRs on that code, in addition to many historical links (unless we include README files to say the code is moved).
Option 1: do nothing
We could just leave everything as is.
The existing code has lived for so long in its current location, and we can address most concerns with better documentation.
Option 2: move non-core components
REMOVED
Option 3: move everything ⭐
I think there are 2 isolatable sections of Kubeflow that live in kubeflow/kubeflow
right now:
- Kubeflow "Dashboard" (Dashboard, Profiles, Auth)
- Kubeflow "Notebooks" (Notebooks 1.0, Notebooks 2.0, Tensorboards, Volumes)
That would leave us with the following:
kubeflow/kubeflow
:- NONE
kubeflow/dashboard
- For "Central Components" (multi-user Kubeflow)
access-management
(KFAM, Auth)admission-webhook
(PodDefaults) (used by both Kubeflow Notebooks and Kubeflow Pipelines)centraldashboard
centraldashboard-angular
profile-controller
kubeflow/notebooks
- For "Notebooks 1.0"
crud-web-apps
(UIs for: Volumes, Notebooks, Tensorboards*)notebook-controller
pvcviewer-controller
tensorboard-controller
*will be removed in Kubeflow 1.10example-notebook-servers
(pre-built Docker images for Notebooks 1.0)
- For "Notebooks 2.0"
workspace-controller
workspace-spawner-ui
example-workspace-images
(pre-built Docker images for Notebooks 2.0)
- For "Notebooks 1.0"
Metadata
Metadata
Assignees
Labels
Type
Projects
Status