Skip to content

Add Support for managedBy field in TaskRun and PipelineRun #8891

@khrm

Description

@khrm

Feature request

We should add a "managedBy" field to delegate responsibility of controlling the lifecycle of PipelineRuns/TaskRuns.

The semantics of the field:

  • whenever the value is set, and it does not point to the built-in operator, then skip reconciliation
  • the field is immutable
  • the field is not defaulted

Without this, at present, we have to skip installation of pipelines controller to make external controller work on PipelineRun/TaskRun/

Usecase

Allowing external schedulers like Kueue to manage the lifecycle of TaskRuns and PipelineRuns. This is particularly useful in a multi-cluster environment where a central scheduling component (like MultiKueue) needs to control which workloads run on which cluster, and when. By setting the managedBy field to a custom value, users can prevent the default Tekton controller from acting on these resources, giving full control to the external scheduler.

For context, the efforts to support the field in:

kubernetes/enhancements#4368 (beta)
kubernetes-sigs/jobset#440 (complete)

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions