Skip to main content
The Bundle Resolver fetches Tekton resources from OCI bundles stored in container registries, enabling secure and versioned distribution of Tasks and Pipelines.

Resolver Type

This resolver responds to type bundles.

Parameters

string
required
The bundle URL pointing at the OCI image to fetch.Example: gcr.io/tekton-releases/catalog/upstream/golang-build:0.1Example with digest: docker.io/myuser/task@sha256:053a6cb9f3711d4527dd0d37ac610e8727ec0288a898d5dfbd79b25bcaa29828
string
required
The name of the resource to pull out of the bundle.Example: golang-build, hello-world
string
required
The resource kind to pull out of the bundle.Options: task, pipeline
string
The name of the secret to use when constructing registry credentials.Example: registry-credentials
string
default:"auto"
Controls caching behavior for the resolved resource.Options: always, never, auto

Requirements

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

Configuration

The Bundle Resolver uses the bundleresolver-config ConfigMap in the tekton-pipelines-resolvers namespace.

Configuration Options

backoff-duration

Initial duration for a backoff (e.g., 500ms, 2s)

backoff-factor

Factor by which sleep duration increases (e.g., 2.5, 4.0)

backoff-jitter

Random sleep addition between 0 and duration × jitter (e.g., 0.1, 0.5)

backoff-steps

Number of backoff attempts (e.g., 3, 7)

backoff-cap

Maximum backoff duration (e.g., 10s, 20s)

default-kind

Default layer kind in bundle image (e.g., task, pipeline)

Caching Options

The bundle resolver supports caching to improve performance: Configure default cache mode in the bundleresolver-config ConfigMap:

Global Cache Configuration

Configure cache size and TTL using the resolver-cache-config ConfigMap:

Usage Examples

Task Resolution by Digest

Task Resolution by Tag

Task Resolution with Private Registry

Pipeline Resolution

Task Resolution with Always Cache

Task Resolution with Never Cache

Creating Registry Credentials

For private registries, create a secret with registry credentials:

ResolutionRequest Status

The ResolutionRequest.Status.RefSource field captures source metadata:

uri

Image repository URI without tag or digest

digest

Map of algorithm to hex-encoded image digest

entryPoint

Resource name in the OCI bundle

Best Practices

Use Digests

Reference bundles by digest for immutable, reproducible builds

Enable Caching

Use cache: auto or cache: always for frequently used bundles

Secure Credentials

Store registry credentials in Kubernetes secrets

Version Bundles

Tag bundle images with semantic versions
When using cache: auto (default), only bundles pulled by digest are cached. This ensures cached content is immutable.
The Tekton Catalog does not currently publish pipelines as OCI bundles. Use the Hub or Git resolvers for pipelines.