-
Notifications
You must be signed in to change notification settings - Fork 66
Description
Certification
- I certify I am an Epic Owner for Kubeflow Notebooks 2.0 and expected to create planning-related issues.
Description
The frontend
component is a NodeJS application that has a package.json
file that defines various run
targets to assist in building and testing code. This differs from the controller
and backend
golang components - which has a Makefile
for each component that handles not just building and testing, but also deploying the code to a cluster.
npm
and package.json
is a very natural framework for UI development - so we do NOT want to change anything with that workflow. However, in deploying the application, we want alignment/familiarity across the components. For instance, a client simply wishing to deploy Kubeflow Notebooks 2.0 (but not be a contributor to the codebase) - its unnecessary to force them to use npm
. make
a more common, cross-cutting application to standardize on.
You can easily observe the missing functionality present in the frontend
by looking at a few sources that advise developer to manually run commands for various utilities:
- feat(ws): containerize frontend component #394 (comment)
- https://github.com/andyatmiami/kubeflow-notebooks/wiki/kubeflow-notebooks-within-Central-Dashboard#frontend
From reviewing both the backend
and controller
Makefile
- you can easily identify common/core scaffolding that should be included in the frontend
Makefile
- https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/backend/Makefile
- https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/controller/Makefile
Specific to frontend
- we want to expose the following targets/rules in the Makefile
docker-build
docker-push
docker-buildx
deploy
undeploy
ℹ️ Please note that other "helper" targets may need to be defined to support these more core developer-facing targets.
Acceptance Criteria
-
Makefile
exists at root ofworkspaces/frontend
directory fornotebooks-v2
branch -
Makefile
adheres common patterns/targets present incontroller
andbackend
-
Makefile
exposes following targets to assist in working on remote clustersdocker-build
docker-push
docker-buildx
deploy
undeploy
Metadata
Metadata
Assignees
Labels
Type
Projects
Status