Skip to content

tektoncd/catalog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,177 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Tekton Catalog

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.

Discovering resources

Artifact Hub

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.

Catalog Structure

  1. 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
    
  2. Resource YAML file includes following changes

  • Labels include the version of the resource.
  • Annotations include minimum pipeline version supported by the resource, tags associated with the resource and displayName of 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.

Using Tasks

First, install a Task onto your cluster:

$ kubectl apply -f golang/build.yaml
task.tekton.dev/golang-build created

You can see which Tasks are installed using kubectl as well:

$ kubectl get tasks
NAME           AGE
golang-build   3s

With 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-source

Next, create the TaskRun you defined:

$ kubectl apply -f example-run.yaml
taskrun.tekton.dev/example-run created

You 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
...

Using Tasks through Bundles

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-source

Quick Start (Development)

make 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 task

Contributing and Support

If 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

Status of the Project

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.

About

Catalog of shared Tasks and Pipelines.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors