Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where should we take ClusterTasks next? #4476

Closed
4 tasks
ghost opened this issue Jan 12, 2022 · 7 comments · Fixed by #5545
Closed
4 tasks

Where should we take ClusterTasks next? #4476

ghost opened this issue Jan 12, 2022 · 7 comments · Fixed by #5545
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@ghost
Copy link

ghost commented Jan 12, 2022

Feature request

We've discussed the possible future of ClusterTasks in our API Working Group but haven't created an issue for it yet as far as I can see. The intention for this issue is to act as the focal point for discussion around the feature, its future, and where we see it going within the context of Tekton Pipelines' other features.

Background

ClusterTask is a CRD that Tekton Pipelines provides that is the cluster-scoped equivalent of a Task. It shares all of the same fields as a Task but can be referenced regardless of the namespace that a TaskRun is executing in. By contrast a Task can only be referred to by a TaskRun in the same namespace.

While ClusterTask has been part of the codebase for a long time it's unclear precisely how much use it actually sees in practice. In our own dogfooding of Tekton Pipelines we don't currently leverage the resource but it does get exercised by unit and integration testing.

There have been some requests for a cluster-scoped Pipeline (#1876, #4432) and as part of those discussions there have definitely been a number of messages in support of ClusterTasks too. At the same time Tekton has introduced support for Bundles (an OCI image with Tasks and Pipelines, stored in a registry) that seems to provide a lot of the same benefit as cluster-scoped Task / Pipeline resources (accessible regardless of the namespace that a TaskRun or PipelineRun is executing in). More recently we've also been making moves to expand the number of places that Tekton Pipelines can access Tasks and Pipelines from, such as git repositories.

Next Steps

  • Solicit feedback from the community on usage of ClusterTask
  • Present the results from this feedback to the API WG
  • Assess overlap of ClusterTasks with other features Tekton Pipelines is pursuing
  • ... figure out the next next steps ...
@ghost ghost added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 12, 2022
@ghost ghost mentioned this issue Jan 12, 2022
17 tasks
@vdemeester
Copy link
Member

One quick note there, OpenShift Pipelines ships with several ClusterTask by default, so any user of OpenShift Pipelines might be using them — and we know some of them use it a lot. That said, one of our goal is to migrate from ClusterTask to oci bundle once those are considered stable.

@lbernick lbernick moved this to Todo in Pipelines V1 Jan 13, 2022
@lbernick lbernick moved this from Todo to Done in Pipelines V1 Feb 17, 2022
@jerop jerop added the area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) label Feb 17, 2022
@ghost
Copy link
Author

ghost commented Mar 25, 2022

Using Remote Resolution it's possible to emulate ClusterTasks and ClusterPipelines. Here's a resolver that does exactly this: https://github.com/sbwsg/clusterresolver

This works by keeping all the "Cluster-Scoped" Tasks and Pipelines in one private namespace. The Resolver has exclusive access to those resources and returns them to anyone who asks from any namespace. So an operator/admin can add or remove "ClusterTask" and "ClusterPipeline" by applying or deleteing the Tasks and Pipelines from that private namespace.

@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 23, 2022
@jerop
Copy link
Member

jerop commented Jun 23, 2022

we still need to figure this out

/remove-lifecycle stale

@tekton-robot tekton-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 23, 2022
@lbernick
Copy link
Member

/lifecycle frozen

I'd like to propose deprecating ClusterTasks, now that remote resolution (+ the cluster resolver) will be moving into Pipelines. @abayer WDYT?

@tekton-robot tekton-robot added the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Jul 26, 2022
abayer added a commit to abayer/tektoncd-pipeline that referenced this issue Aug 31, 2022
Relates to tektoncd#4476 and https://github.com/tektoncd/community/blob/main/teps/0096-pipelines-v1-api.md

This resolver replaces `ClusterTask`s going forward.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
abayer added a commit to abayer/tektoncd-pipeline that referenced this issue Aug 31, 2022
Relates to tektoncd#4476 and https://github.com/tektoncd/community/blob/main/teps/0096-pipelines-v1-api.md

This resolver replaces `ClusterTask`s going forward.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
abayer added a commit to abayer/tektoncd-pipeline that referenced this issue Aug 31, 2022
Relates to tektoncd#4476 and https://github.com/tektoncd/community/blob/main/teps/0096-pipelines-v1-api.md

This resolver replaces `ClusterTask`s going forward.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
abayer added a commit to abayer/tektoncd-pipeline that referenced this issue Sep 1, 2022
Relates to tektoncd#4476 and https://github.com/tektoncd/community/blob/main/teps/0096-pipelines-v1-api.md

This resolver replaces `ClusterTask`s going forward.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
tekton-robot pushed a commit that referenced this issue Sep 6, 2022
Relates to #4476 and https://github.com/tektoncd/community/blob/main/teps/0096-pipelines-v1-api.md

This resolver replaces `ClusterTask`s going forward.

Signed-off-by: Andrew Bayer <andrew.bayer@gmail.com>
@lbernick
Copy link
Member

@abayer have clusterTasks been officially deprecated? I'm happy to open a PR deprecating them now that the cluster resolver is in pipelines

@abayer
Copy link
Contributor

abayer commented Sep 22, 2022

Not officially, I don't believe, so yeah, that'd be great!

@lbernick lbernick mentioned this issue Sep 22, 2022
6 tasks
Repository owner moved this from Todo to Done in Tekton Pipelines Roadmap Oct 6, 2022
Repository owner moved this from Todo to Done in Tekton Community Roadmap Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/roadmap Issues that are part of the project (or organization) roadmap (usually an epic) kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
Status: Done
Status: Done
Status: Done
Development

Successfully merging a pull request may close this issue.

5 participants