Tekton Pipeline Remote Resolution

Remote Resolution is a Tekton beta feature that allows users to fetch tasks and pipelines from remote sources outside the cluster. Tekton provides a few built-in resolvers that can fetch from git repositories, OCI registries etc as well as a framework for writing custom resolvers.

Remote Resolution was initially created as a separate project in TEP-060 and migrated into the core pipelines project in #4710.

Getting Started Tutorial

For new users getting started with Tekton Pipeline remote resolution, check out the resolution-getting-started.md tutorial.

Configuring Built-in Resolvers

These resolvers are enabled by setting the appropriate feature flag in the resolvers-feature-flags ConfigMap in the tekton-pipelines-resolvers namespace. See the section in install.md for details.

The default resolver type can be configured by the default-resolver-type field in the config-defaults ConfigMap (alpha feature). See additional-configs.md for details.

Developer Howto: Writing a Resolver From Scratch

For a developer getting started with writing a new Resolver, see how-to-write-a-resolver.md and the accompanying resolver-template.

Resolver Reference: The interfaces and methods to implement

For a table of the interfaces and methods a resolver must implement along with those that are optional, see resolver-reference.md.

Resolver Cache Configuration

The resolver cache is used to improve performance by caching resolved resources for bundle and git resolver. By default, the cache uses:

  • 5 minutes (“5m”) as the time-to-live (TTL) for cache entries
  • 1000 entries as the maximum cache size

You can override these defaults by editing the resolver-cache-config.yaml ConfigMap in the tekton-pipelines-resolvers namespace. Set the following keys:

  • max-size: Set the maximum number of cache entries (e.g., “500”)
  • default-ttl: Set the default TTL for cache entries (e.g., “10m”, “30s”)

If these values are missing or invalid, the defaults will be used.


Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License.