* added model and storage layer for task
* added create task api
* added api to list tasks
* modified task proto and fixed nits
* renamed variable
* fixed ut
* fixed UT
* added UT for api_converter and resource manager
* added UT for api_converter and resource manager
* fixed BE UT
* added task storage layer UT
* changed UT
* fixed foreign key typo
* added some draft code for replay argo result
* added kfp client in v2
* deleted unused code
* run go mode
* upgraded go version in go v2 test
* run go mod tidy
* added cache client
* fixed nits
* fetched MLMD output parameter
* store output artifacts metadata from cache
* added mlmd pipeline context, exuection and output event
* fixed grpc endpoint of mlpipeline
* fixed task backend bug and fixed launcher connect bug
* fixed cache bug
* added cache info
* fixed unused test
* fixed backend test
* fixed v2 build
* refactored launcher
* removed unused code
* fixed typo
* chore(backend): tidy go.mod and update tools.go
* go install, instead of go get
* fix problems reported by go vet
* simplify some ide reported redundant syntax
* license is not required for generated code
* remove licenses for generated code
* cleanup
* remove license more
* rm unused BUILD.bazel files
* fixed generate_api.sh
* reimport error.proto
* Changes:
* add kfp v2 hello world sample
* generate go proto code
* code to unmarshal via jsonpb
* generate container spec
* add root DAG task and Makefile to run in argo
* env setup to quickly build driver container
* generate mlmd grpc golang client
* mlmd grpc client usage example
* driver-dag: put execution and context
* driver dag: put context only when execution is a DAG
* driver task: resolve parameter from parent execution
* chain dag driver with task driver
* driver: output argo parameters
* driver: build driver docker image
* driver: push image to dev registry
* compiler: root dag driver compiler
* mlmd doc
* driver: use task spec and executor spec as driver input instead
* driver: pod spec patch output for type EXECUTOR
* compiler: passing - parameter placeholder with hello world example
* include generated argo workflow in source control
* driver no longer outputs parameters
* publisher: publish parameters to execution custom properties
* driver, publisher: execution state
* publisher: remove built binary from repo
* sample: add producer consumer sample
* sample: producer consumer sample with only parameters
* e2e output parameter support
* e2e: driver resolves input parameter from tasks in the same DAG
* compiler: convert KFP task dependency to argo task dependency
* feat: refactor publisher so it can run as an entrypoint
* build: entrypoint image
* feat: executor and publisher in one container via entrypoint rewriting
* fixed compile error (#1)
* add licenses
* update readme
Co-authored-by: capri-xiyue <52932582+capri-xiyue@users.noreply.github.com>
* Set current namespace in local KFP context if running from notebook
* Create "~/.config/kfp/" instead of ".config/kfp/"
At first it was assumed the `get_user_namespace` command would be executed from the home directory.
* Create local context file if it doesn't exist during set_user_namespace
* Grab path from LOCAL_KFP_CONTEXT when creating folder
Instead of harcoding the os.mkdirs path to `~/.config/kfp` it now grabs it from the LOCAL_KFP_CONTEXT. Also, removed path creation in `get_user_namespace` as that is now handled in `set_user_namespace`. Also, it now checks if the path exists rather than the local_context_file to remove the situation where it tries to create ~/.config/kfp/ because the context.json doesn't exist when the path does.
* add multi-user setting to healthz api
* Add http prefix to health api url
* move healtz api call to own function and fix multi_user boolean
* Fix HEALTH_PATH declaration
* Move check to Client __init__ and change get_kfp_healthz to avoid breaking in case of old apiserver image
* Add multi_user to frontend healthz
* Expose multi_user in frontend and add integration test
* Fix integration test
* Fix host hardcoding and error handling
* Handle empty API response, check if API up to date
* Fix response return
* remove API check due to empty response
* retry API call if first response empty
* retry getting healthz api if no response
* change health_api to https
The healthz_api has been returning empty responses which might be caused by sending an http request to an https endpoint. Although requests handles redirects, this commit is to test if this solves the issue.
* Add some debug info to healthz exception
* add url to debug and lower retries to 1
* Use api_client to get healthz data
* Debug info for API response
* Follow API redirect history
* Fix indentation
* Add healthz proto
* Try getting healthz api with new python backend
* Add installation of kfp_server_api in tests
* Fix incorrect setup location
* Replace old .get with new http backend .multi_user
* Code clean up
* Small fixes and TimeOutError for retries healthz api
* Remove changes to go dependencies
* Send empty proto request and fix exception client
* Remove unused commit_sha and tag_name
* skeleton of code
* commit resource spec in IR proto
* add resource setter
* add accelerator setters
* fix unit conversion
* fix attribute proxy
* add and fix unittests
* add e2e test
* clean up
* clean up
* clean up
* clean up
* bypass subclass overriding
* clean up
* clean up
* clean up
* resolve comments
* add pipeline spec api proto
* Update pipeline_spec.proto
Add the schema of the pipeline spec.
* Update pipeline_spec.proto
Update the component I/O interfaces and renamed several places.
* Update pipeline_spec.proto
Minor comment and name changes.
* Move the IR into v2alpha1 folder