Add support for dsl.ResourceOp
See original GitHub issueThe KFP-Tekton compiler does not currently support dsl.ResourceOp
since Tekton does not provide native support for manipulating Kubernetes resources.
Argo provides ResourceTemplate
to support “resource operations” which the Kubeflow Pipelines SDK wrapped in class Resource
/ResourceOp
@afrittoli suggested to implement a standard (set of) Resource Tasks that could be maintained under the tektoncd/catalog
project which provides a library for often reused tasks.
Proposed implementation
In order to streamline that implementation from a compiler perspective, we could follow the precedence laid out by Argo’s ResourceTemplate
, and create a Tekton Task with the following parameters:
action
:['get', 'create', 'apply', 'delete', 'replace', 'patch']
– the action to perform to the resourcemerge_strategy
:['strategic', 'merge', 'json']
– the strategy used to merge a patch, defaults to “strategic”success_condition
: a label selector expression which describes thesuccess
conditionfailure_condition
: a label selector expression which describes thefailure
conditionmanifest
: the kubernetes manifest
Link to issue in tektoncd/catalog
Task(s) to manage kubernetes resources in a cluster #233
Additional information
Excerpt from KFP/Argo-vs-Tekton capabilities spreadsheet
KFP DSL (kfp.dsl) | Argo Workflow (Current Implementation) | Tekton v0.10.0 (Potential implementation) | Notes | Tekton Backend |
---|---|---|---|---|
ResourceOp | ResourceTemplate | Tasks to create, patch, delete, etc. resourcesThe tasks have to be defined, and they could live in the catalog. This is not natively supported by Tekton. | Tekton could define a ResourceTask , similar to what Argo does with ResourceTemplate , but it is not required to implement ResourceOp. |
Workaround |
Issue Analytics
- State:
- Created 3 years ago
- Comments:15 (14 by maintainers)
Top GitHub Comments
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! Links: app homepage, dashboard and code for this bot.
For now, we don’t have to set
ownerReference
for the users since it’s also not part of the Argo feature.