* move v1 api to v1beta1 package and folder * fix test * update README.md * update README.md * update readme |
||
|---|---|---|
| .. | ||
| hack | ||
| v1beta1 | ||
| .gitignore | ||
| Dockerfile | ||
| Makefile | ||
| README.md | ||
| build_kfp_server_api_python_package.sh | ||
README.md
Kubeflow Pipelines API
Before You Start
Tools needed:
- Docker
- Make
Set environment variable API_VERSION to the version that you want to generate. We use v1beta1 as example here.
export API_VERSION="v1beta1"
Auto-generation of Go client and swagger definitions
Use make generate command to generate clients using a pre-built api-generator image:
make generate
Code will be generated in:
./${API_VERSION}/go_client./${API_VERSION}/go_http_client./${API_VERSION}/swagger
Note: ./${API_VERSION}/swagger/pipeline.upload.swagger.json is manually created, while the rest ./${API_VERSION}/swagger/*.swagger.json are auto generated.
Auto-generation of Python client
This will generate the Python client for the API version specified in the environment variable.
./build_kfp_server_api_python_package.sh
Code will be generated in ./${API_VERSION}/python_http_client.
Auto-generation of API reference documentation
This directory contains API definitions. They are used to generate the API reference on kubeflow.org.
-
Use the tools bootprint-openapi and html-inline to generate the API reference from kfp_api_single_file.swagger.json. These instructions have shown how to generate a single self-contained html file which is the API reference, from a json file.
-
Use the above generated html to replace the html section, which is below the title section, in the file kubeflow-pipeline-api-spec.html
Note: whenever the API definition changes (i.e., the file kfp_api_single_file.swagger.json changes), the API reference needs to be updated.
Auto-generation of api generator image
make push
When you update the Dockerfile, to make sure others are using the same image as you do:
- push a new version of the api generator image to gcr.io/ml-pipeline-test/api-generator:latest.
- update the PREBUILT_REMOTE_IMAGE var in Makefile to point to your new image.
- push a new version of the release tools image to gcr.io/ml-pipeline-test/release:latest, run
make pushin test/release/Makefile.