This is the home of the catalog of Red Hat Tekton resources. The repository contains a catalog of Task resources (someday Pipelines 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 Tasks 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.yamlThe 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.yamlSkipping 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.