This is the home of the catalog of Red Hat Tekton resources. The repository contains a catalog of Task
resources (someday Pipeline
s and more), designed to be reusable in many Pipelines, authored and supported by Red Hat.
These Task
and Pipeline
are coming from the external repositories releases, maintained by different teams from Red Hat and partners. See here to know where they are pulled from.
As of today, they are indexed by ArtifactHub in several catalogs:
- redhat-tekton-tasks
- redhat-tekton-pipelines
- redhat-tekton-experimental-tasks
- redhat-tekton-experimental-pipelines
The main
branch of the repository contains the configuration and tooling to maintain the catalog. The p
branch is where the the catalog gets "persisted" and should be consumed.
Each Task
is provided in a separate directory along with README.md
and Kubernetes manifests, you can choose which Task
s to install on your cluster. A directory can hold one task and multiple versions.
The layout of this repository (branch p
) the follows the Tekton Catalog Organization (TEP-0003).
This section explains how to use the catalog (p
branch) with the help of various tools like Tekton Resolvers as well as Pipelines as Code.
Tekton Git Resolver retrives the resources directly from this repository p
branch, like the following TaskRun
example:
---
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: task-git
spec:
taskRef:
resolver: git
params:
- name: url
value: https://github.com/openshift-pipelines/tektoncd-catalog
- name: revision
value: p
- name: pathInRepo
value: tasks/task-git/0.1.0/task-git.yaml
The same approach work for PipelineRun
resources.
Make sure Pipeline-as-Code (PaC) is installed and ready on your cluster. For OpenShift Pipelines, you can define a TektonConfig
with this catalog by default, i.e:
---
apiVersion: operator.tekton.dev/v1alpha1
kind: TektonConfig
metadata:
name: config
spec:
pipeline:
git-resolver-config:
default-url: https://github.com/openshift-pipelines/tektoncd-catalog
default-revision: p
fetch-timeout: 1m
Then, on the repositories being watched by PaC you can consume this catalog resources like the following example:
---
apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
name: task-git
spec:
taskRef:
resolver: git
params:
- name: pathInRepo
value: tasks/task-git/0.1.0/task-git.yaml
Skipping the repository url
and revision
from .spec.taskRef.params[]
.
Alternatively the same notation supported described on Tekton Git Resolver section is supported by PaC.
The Tekton resources on this repository are following the policies defined here, on a adding new external repositories references please observe these linting rules first.
External repositories must define a catalog.yaml
manifest, which describes all the Tekton resource on the repository revision, release page or tag, guiding the automation through its directory structure.
To provide your tasks and pipelines to this published version of this repository (the p
branch), please follow this workflow.