If you want v1alpha1 resources, you need to go to the
v1alpha1
branch. The
main branch
is synced with
v1beta1 since
2020, 19th June.
This repository contains a catalog of Task and Pipeline resources
(and StepActions), which are designed to be reusable in many
pipelines.
Each Task is provided in a separate directory along with a README.md and a
Kubernetes manifest, so you can choose which Tasks to install on your
cluster. A directory can hold one task and multiple versions.
See our project roadmap.
The recommended way to search and discover Tekton resources is
Artifact Hub. The tasks
in this catalog are published there under the
tekton-catalog-tasks
repository, and individual maintained tasks (e.g.
git-clone)
are increasingly published from their own repositories.
Warning
The previous Tekton Hub (hub.tekton.dev) is
deprecated and the hosted service is no longer running. Use
Artifact Hub instead.
-
Each resource follows the following structure
./task/ π the kind of the resource /argocd π definition file must have same name /0.1 /OWNERS π owners of this resource /README.md /argocd.yaml π the file name should match the resource name /samples/deploy-to-k8s.yaml /0.2/... /golang-build /OWNERS /README.md /0.1 /README.md /golang-build.yaml /samples/golang-build.yaml -
Resource YAML file includes following changes
- Labels include the version of the resource.
- Annotations include
minimum pipeline versionsupported by the resource,tagsassociated with the resource anddisplayNameof the resource
labels:
app.kubernetes.io/version: "0.1" π Version of the resource
annotations:
tekton.dev/pipelines.minVersion: "0.12.1" π Min Version of pipeline resource is compatible
tekton.dev/categories: CLI π Comma separated list of categories
tekton.dev/tags: "ansible, cli" π Comma separated list of tags
tekton.dev/displayName: "Ansible Tower Cli" π displayName can be optional
tekton.dev/platforms: "linux/amd64,linux/s390x" π Comma separated list of platforms, can be optional
spec:
description: |-
ansible-tower-cli task simplifies
workflow, jobs, manage users... π Summary
Ansible Tower (formerly βAWXβ) is a ...
Note : Categories are a generalized list. The historical list and the procedure to add new categories are documented in the (now archived) tektoncd/hub repository.
First, install a Task onto your cluster:
$ kubectl apply -f golang/build.yaml
task.tekton.dev/golang-build createdYou can see which Tasks are installed using kubectl as well:
$ kubectl get tasks
NAME AGE
golang-build 3sWith the Task installed, you can define a TaskRun that runs that Task,
being sure to provide values for required input parameters and resources:
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: example-run
spec:
taskRef:
name: golang-build
params:
- name: package
value: github.com/tektoncd/pipeline
workspaces:
- name: source
persistentVolumeClaim:
claimName: my-sourceNext, create the TaskRun you defined:
$ kubectl apply -f example-run.yaml
taskrun.tekton.dev/example-run createdYou can check the status of the TaskRun using kubectl:
$ kubectl get taskrun example-run -oyaml
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: example-run
spec:
...
status:
completionTime: "2019-04-25T18:10:09Z"
conditions:
- lastTransitionTime: "2019-04-25T18:10:09Z"
status: True
type: Succeeded
...Tekton Bundles allow storing Tasks as bundles in a container registry, instead of as custom resources in a Kubernetes cluster.
With bundles, it is possible to reference any task in the catalog without installing it first, using the bundle resolver.
Tasks are available at ghcr.io/tektoncd/catalog/upstream/tasks/<task-name>:<task-version>.
For example:
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
name: example-run
spec:
taskRef:
resolver: bundles
params:
- name: bundle
value: ghcr.io/tektoncd/catalog/upstream/tasks/golang-build:0.1
- name: name
value: golang-build
- name: kind
value: task
params:
- name: package
value: github.com/tektoncd/pipeline
workspaces:
- name: source
persistentVolumeClaim:
claimName: my-sourcemake setup # one-command setup: installs pre-commit hooks and linters
make lint # run all linters (yamllint + gofmt)
make test TASK=git-clone VERSION=0.9 # run e2e test for a single taskIf you want to contribute to this repository, please see our contributing guidelines.
If you are looking for support, enter an issue or join our Slack workspace
Note
This catalog is not deprecated, but it is in the process of
changing. The project is moving toward a distributed catalog model
β individual resources published from their own repositories (see
tektoncd-catalog) and discovered
through Artifact Hub,
rather than a single monolithic repository. A TEP formalizing this
direction and the associated migration path is being prepared, and the
roadmap is being refreshed accordingly. Expect changes to
how resources are versioned, maintained, and contributed. Follow along
(or get involved) via the
issues and the
Tekton community meetings.
You might run into issues β if you do, please don't be shy about letting us know, or better yet, contribute a fix or feature.
See our project roadmap.