Skip to main content
The Cluster Resolver fetches Tekton resources that are already deployed in the same Kubernetes cluster, enabling resource reuse across namespaces.

Resolver Type

This resolver responds to type cluster.

Parameters

string
required
The kind of resource to fetch.Options: task, pipeline, stepaction
string
required
The name of the resource to fetch.Example: some-pipeline, some-task
string
required
The namespace containing the resource.Example: default, other-namespace
string
default:"auto"
Optional cache mode for the resolver.Options: always, never, auto

Requirements

  • A cluster running Tekton Pipeline v0.41.0 or later
  • Built-in remote resolvers installed
  • The enable-cluster-resolver feature flag set to true in the resolvers-feature-flags ConfigMap
  • Beta features enabled

Configuration

The Cluster Resolver uses the cluster-resolver-config ConfigMap in the tekton-pipelines-resolvers namespace.

Configuration Options

default-kind

Default resource kind if not specified (e.g., task, pipeline)

default-namespace

Default namespace if not specified (e.g., default)

allowed-namespaces

Comma-separated list of allowed namespaces (empty = all allowed)

blocked-namespaces

Comma-separated list of blocked namespaces (* = block all except allowed)

Namespace Access Control

Control which namespaces the resolver can access:

Cache Configuration

The cluster resolver supports caching, but only when explicitly enabled with cache: always:
Cluster resources (Tasks, Pipelines, etc.) do not have immutable references like Git commit hashes or bundle digests. Automatic caching is disabled by default to prevent stale data.
Configure default cache mode:

Global Cache Configuration

Usage Examples

Task Resolution

Task Resolution with Caching

Task Resolution without Caching

Pipeline Resolution

StepAction Resolution

Cross-Namespace Task Reuse

ResolutionRequest Status

The ResolutionRequest.Status.RefSource field captures source metadata:

uri

Namespace-scoped resource URI with UID (format: <resource-uri>@<uid>)

digest

SHA-256 checksum of the resource spec content

Understanding the URI Format

The URI follows Kubernetes resource URI conventions:
Example:

Understanding the Digest

The digest is a hex-encoded SHA-256 checksum of the resource’s spec field only. This enables supply chain verification tools like Tekton Chains to detect malicious changes, even if metadata (like annotations) is modified.
The entrypoint field is empty because path information is already available in the URI field.

Use Cases

Shared Libraries

Create a central namespace with reusable Tasks and Pipelines

Multi-Tenancy

Allow teams to share common resources across namespaces

Platform Teams

Platform teams provide standard tasks to application teams

Testing

Reference test resources from dedicated test namespaces

Best Practices

Access Control

Use allowed-namespaces to restrict which namespaces can be accessed

Cache Carefully

Only use cache: always for truly immutable resources

Naming Conventions

Use clear naming conventions for shared resources

RBAC

Ensure the resolver ServiceAccount has read access to target namespaces
The Cluster Resolver is ideal for creating a “library” namespace of reusable Tasks and Pipelines that multiple teams can reference.