backend/

directory
v1.7.0-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2021 License: Apache-2.0

README

This directory contains code for the components that comprise the Kubeflow Pipelines backend.

Building & Testing

To run all unittests for backend:

go test -v -cover ./backend/...

The API server itself can be built using:

go build -o /tmp/apiserver backend/src/apiserver/*.go

Building APIServer image locally

The API server image can be built from the root folder of the repo using:

export API_SERVER_IMAGE=api_server
docker build -f backend/Dockerfile . --tag $API_SERVER_IMAGE

Deploy APIServer with the image you own build

Run

kubectl edit deployment.v1.apps/ml-pipeline -n kubeflow

You'll see the field reference the api server docker image. Change it to point to your own build, after saving and closing the file, apiserver will restart with your change.

Building client library and swagger files

After making changes to proto files, the Go client libraries, Python client libraries and swagger files need to be regenerated and checked-in. Refer to backend/api for details.

Updating licenses info

  1. Install go-licenses tool from https://github.com/Bobgy/go-licenses/releases, and refer to its documentation for how to use it.

  2. Run the tool to update all licenses:

    make all
    

Visualization Server Instructions

Updating python dependencies

pip-tools is used to manage python dependencies. To update dependencies, edit requirements.in and run ./update_requirements.sh <requirements.in >requirements.txt to update and pin the transitive dependencies.

Directories

Path Synopsis
api
go_client
Package go_client is a reverse proxy.
Package go_client is a reverse proxy.
src
apiserver/filter
Package filter contains types and methods for parsing and applying filters to resources being queried by a ListXXX request.
Package filter contains types and methods for parsing and applying filters to resources being queried by a ListXXX request.
apiserver/list
Package list contains types and methods for performing ListXXX operations.
Package list contains types and methods for performing ListXXX operations.
crd/controller/viewer
Package main is the main binary for running the Viewer Kubernetes CRD controller.
Package main is the main binary for running the Viewer Kubernetes CRD controller.
crd/controller/viewer/reconciler
Package reconciler describes a Reconciler for working with Viewer CRDs.
Package reconciler describes a Reconciler for working with Viewer CRDs.
crd/pkg/apis/scheduledworkflow/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
crd/pkg/apis/viewer
Package viewer contains types that define the Viewer CRD for Kubeflow Pipelines.
Package viewer contains types that define the Viewer CRD for Kubeflow Pipelines.
crd/pkg/apis/viewer/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
crd/pkg/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
crd/pkg/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
crd/pkg/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
crd/pkg/client/clientset/versioned/typed/scheduledworkflow/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL