* Relax the requirement that component inputs/outputs must appear
on the command line.
This change enables component builders to define their implementation
(i.e. the container arg and command) independent of the actual
component inputs/outputs defined in component.yaml. The latter will be
used when determining inputs/outputs during compilation.
Only works for tasks that turn into ContainerOps during compilation.
Naturally, does not work for ContainerOps (which have no inputs/outputs
anyway).
* fix bugs, update goldens.
* Fix issue with inputs.
* merge and update.
* Restore compiler yamls.
* Disambiguate parameters and artifacts in component bridge.
* Restore goldens from HEAD.
* restore compiler_tests.py to HEAD.
* str-ify pipeline params.
* cr comments.
* Enable the use of v2 Executor from KFP package.
This avoids the need to paste Executor code for v2 components into
the entrypoint of lightweight components.
* Update tests.
* quote package path.
* quote package path.
* escape fragment
* Update golden files.
* update goldens.
* Cleanup.
* More cleanup.
* update goldens.
* style updates.
* clean up sample tests.
* fix trailing comma
* Try using signed urls.
* fix
* fix presubmit
* try /bin/bash for Makefile shell
* undo signed url change.
Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
* Add runtime resource request for GPUs
* clean up
* Updated docks and add check
* updated with test
* remove from branch
* run tests
* fix gpu vendor format
* Update after feedback
* add unit tet
* remove integration test
* clean up
* Clean up
* Updated to resource_constraints instead of resource
* fix uri placeholder in v2 compatible mode
* fix tests
* fix path generation
* fix tests
* fix test
* cleanup
* clean up
* fix test
* fix test
* fix test
* fix(launcher): handle parameter values with special characters stably
* include new test case
* add tensorboard minio test case
* fix go unit tests
* update test golden
* address feedback
* fix tests
* Introduce ServiceAccountTokenVolumeCredentials
Part of kubeflow/pipelines#5138
This is a subclass of TokenCredentials and implements the logic of
retrieving a service account token provided via a ProjectedVolume.
The 'get_token()' method reads and doesn't store the token as the
kubelet is refreshing it quite often.
Relevant docs:
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection
* Attemp to use credentials when in-cluster
If the KFP client detects it's running inside a pod and the user hasn't
provided any credentials, it now attempts to set up credentials based on
a projected service account token.
* Move credentials to kfp.auth module
Also change some names and values to avoid "ml-pipeline" references.
* Import kfp.auth lazily during the Client init
* Have credentials handle errors internally
* Let ServiceAccountTokenVolumeCredentials handle OSErrors internally
* Have the default-creds-setter only check if credentials provide a
valid value
* Use Configuration's 'refresh_api_key_hook' instead of having duplicate
code
* Remove dead code
* Add kfp.auth in the setup.py
* Move abstraction to the 'refresh_api_key_hook' method
* Updt argoproj/argo URLs to argoproj/argo-workflows
* Update link to workflows.ts
* Update license.txt to reduce # of changed lines
* Revert changes to backend Dockerfile & license.txt
* Update license.txt, keep line endings
* feat(sdk/dsl/compiler): support --mode flag which can turn on v2 compatible mode
* override compiler default mode using KF_PIPELINES_COMPILER_MODE env var
* update V1_LEGACY to V1
* add unit tests
* address feedback
* clean up
* cleanup again
* use absl.testing.parameterized for table driven tests
* update
* Update deprecated download_as_string to download_as_bytes
* Add more usage
* chore: Change python/kfp/cli from relative to absolute path
* chore: Change python/kfp/compiler from relative to absolute path
* added resource request at runtime
* fixed things
* Update to use read only parameter insteadt
* added test case and better example
* Updated again
* add the validation
* add to the test suit
* work in progress
* update after feedback
* fix the test
* clean up
* clean up
* fix the path
* add the test again
* clean up
* fix tests
* feedback fix
* comment out and clean up
* Add link and Python 3.8/3.9 classifiers to setup.py
The link should appear on PyPI: https://pypi.org/project/kfp/#description
* use "The Kubeflow Authors" in setup.py
* Include more links in Python package description