apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
...
spec:
pruner:
keep: 100
resources:
- pipelinerun
schedule: 0 8 * * *
...
Stale TaskRun
and PipelineRun
objects and their executed instances occupy physical resources that can be used for the active runs. To prevent this waste, Red Hat OpenShift Pipelines provides annotations that cluster administrators can use to automatically prune the unused objects and their instances in various namespaces.
|
The default configuration for periodic pruning of resources associated with pipeline runs is as follows:
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
...
spec:
pruner:
keep: 100
resources:
- pipelinerun
schedule: 0 8 * * *
...
You can override the default pruner configuration for a namespace by using annotations on namespace.
To automatically prune the resources associated with task runs and pipeline runs in a namespace, you can set the following annotations in the namespace:
operator.tekton.dev/prune.schedule
: If the value of this annotation is different from the value specified in the TektonConfig
custom resource definition, a new cron job in that namespace is created.
operator.tekton.dev/prune.skip
: When set to true
, the namespace for which it is configured is not pruned.
operator.tekton.dev/prune.resources
: This annotation accepts a comma-separated list of resources. To prune a single resource such as a pipeline run, set this annotation to "pipelinerun"
. To prune multiple resources, such as task run and pipeline run, set this annotation to "taskrun, pipelinerun"
.
operator.tekton.dev/prune.keep
: Use this annotation to retain a resource without pruning.
operator.tekton.dev/prune.keep-since
: Use this annotation to retain resources based on their age. The value for this annotation must be equal to the age of the resource in minutes. For example, to retain resources which were created not more than five days ago, set keep-since
to 7200
.
The |
operator.tekton.dev/prune.strategy
: Set the value of this annotation to either keep
or keep-since
.
For example, consider the following annotations that retain all task runs and pipeline runs created in the last five days, and deletes the older resources:
...
annotations:
operator.tekton.dev/prune.resources: "taskrun, pipelinerun"
operator.tekton.dev/prune.keep-since: 7200
...
For information on manual pruning of various objects, see Pruning objects to reclaim resources.