pipelines/frontend
Humair Khan 732a3f26f5
docs(frontend): add ui dev docs (#11931)
Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>
2025-05-27 17:19:12 +00:00
..
.storybook feat(frontend): v2 Execution Node element. Partial #6280 (#6407) 2021-08-21 13:55:55 -07:00
.vscode Initial commit of the kubeflow/pipeline project. 2018-11-02 14:02:31 -07:00
docs/images docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
mock-backend chore: Address CVEs (#11514) 2025-01-15 17:41:13 +00:00
public Assigned copyright to the project authors (#5587) 2021-05-05 13:53:22 +08:00
scripts docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
server chore(deps): bump axios from 1.6.0 to 1.8.2 in /frontend/server (#11732) 2025-04-02 13:06:33 +00:00
src feat(frontend): Add "Always Use Latest Version" option for recurring runs (fixes #11581) (#11755) 2025-05-08 13:10:40 +00:00
third_party fix(frontend): Batch upgrade for fundamental dependency blocks. (Node, CRA, tailwind and more) Fix #7148 (#7144) 2022-01-07 23:07:15 +00:00
.eslintrc.yaml chore(frontend): Generate TypeScript v2 API client (#8834) 2023-02-10 22:22:29 +00:00
.gitignore fix(frontend): Replace license-checker with yarn licenses. (#8101) 2022-08-05 15:56:15 +00:00
.nvmrc chore(frontend): update kubernetes client version to 0.12.1 (#11737) 2025-03-11 15:00:39 +00:00
.prettierignore chore(frontend): Migrate kubeflow/frontend to KFP frontend. Fix #5705 (#5963) 2021-07-03 04:16:49 -07:00
.prettierrc.yaml [Frontend] Prettier config to be consistent with existing code style (#2409) 2019-10-16 23:10:39 -07:00
CONTRIBUTING.md docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
Dockerfile docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
OWNERS chore: update all owners files (#11886) 2025-05-02 14:47:04 +00:00
README.md docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
analyze_bundle.js Assigned copyright to the project authors (#5587) 2021-05-05 13:53:22 +08:00
craco.config.js chore(frontend): Integrate with tailwindcss. Fix #6264 (#6265) 2021-08-09 10:00:27 -07:00
global-setup.js [UI] Also cloning recurring run schedule, fixes #3761 (#3840) 2020-05-25 05:03:12 -07:00
package-lock.json chore(deps): bump minimist from 1.2.5 to 1.2.8 in /frontend (#11846) 2025-04-21 22:15:30 +00:00
package.json docs(frontend): add ui dev docs (#11931) 2025-05-27 17:19:12 +00:00
swagger-config.json Initial commit of the kubeflow/pipeline project. 2018-11-02 14:02:31 -07:00
tailwind.config.js fix(frontend): Replace license-checker with yarn licenses. (#8101) 2022-08-05 15:56:15 +00:00
tsconfig.json fix(frontend): Batch upgrade for fundamental dependency blocks. (Node, CRA, tailwind and more) Fix #7148 (#7144) 2022-01-07 23:07:15 +00:00
tsconfig.prod.json Use string literals for reference resource relation and for reference resource type in frontend (#2453) 2019-10-22 20:54:13 -07:00
tsconfig.test.json Initial commit of the kubeflow/pipeline project. 2018-11-02 14:02:31 -07:00

README.md

Kubeflow Pipelines Frontend

This section of the codebase contains the Kubeflow Pipelines (KFP) Frontend.

Quick Start Development

This guide will get you started with development on KFP standalone mode.

Prerequisites

You will need the following installed in your environment:

[!Note] MAC users have reported positive experiences using Docker + Colima when using Kind environments. Consider using a similar setup if you are on a MAC and encountering issues with Docker VM.

Deploy KFP

Clone and then deploy KFP:

git clone https://github.com/kubeflow/pipelines.git ${WORKING_DIRECTORY}
cd ${WORKING_DIRECTORY}
make -C backend kind-cluster-agnostic

The above command will deploy KFP in standalone mode. You can access the KFP UI by port-forwarding the KFP UI Kubernetes Service:

kubectl -n kubeflow  port-forward svc/ml-pipeline-ui 3000:80

Navigate to http://127.0.0.1:3000 to view the UI. You will see something like the following:

KFP UI

Try uploading and running a pipeline and confirm it works! You can use one of the already uploaded templates. You can also follow the KFP docs for instructions on how to write and submit a pipeline. You can use http://127.0.0.1:3000 as your Client(host=...) value.

Local Development

Now that you have had a chance to check out the UI, we will now scale this UI down and run the UI ourselves locally.

Scale the UI down by running the following:

# End the port-forwarding by pressing ctrl+D in your terminal, then run:
kubectl -n kubeflow scale --replicas=0 deployment/ml-pipeline-ui

You can confirm that the previous http://127.0.0.1:3000 link no longer works.

Now navigate to the KFP frontend folder and install your NPM dependencies:

cd ${WORKING_DIRECTORY}/frontend
npm ci

Now run the following:

npm run start:proxy-and-server

You should see the following output

Server listening at http://localhost:3001

Follow this link, and you should be directed to the KFP UI the same as before, except this time you are using the UI running in your local environment!

If you enjoy hot reloading when developing the client side React code, you can subsequently run the following command:

npm run start

You should see something like the following output:

You can now view pipelines-frontend in the browser.

  Local:            http://localhost:3000
...

Follow this link, it should also take you to the same UI. The difference here is that whenever you change client side (React) code locally, you will automatically get the new changes in your browser without having to restart your server.

Contributing

For a more comprehensive guide on contributing, please read CONTRIBUTING.md.