Tekton Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Tekton is a cloud-native solution for building CI/CD pipelines. Tekton installs and runs as an extension on your Kubernetes cluster and uses the well-established Kubernetes resource model. Tekton workloads execute inside Kubernetes containers. It is implemented as a set of Kubernetes Custom Resources. It has several components: Tekton Pipelines, Tekton CLI and Tekton Catalog. Once deployed, Tekton can be accessed via Tekton CLI commands or API calls. Tekton is part of the CD Foundation, a Linux Foundation project.

Task

Task

ClusterTask

A task is available in a certain namespace, while a ClusterTask is available across the entire cluster. A ClusterTask behaves identically to a task. When declaring a ClusterTask in the pipeline definition, the kind sub-field of the taskRef should be explicitly set to ClusterTask. If not specified, kind defaults to Task.

apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
[...]
spec:
  tasks:
    - name: some-cluster-task
      taskRef:
        name: some-task
        kind: ClusterTask
 ...

Custom Task and Run

Custom Task and Run

Step

Step

TaskRun

Include discussion on pod templates:

TaskRun

Pipeline

Pipeline

PipelineRun

PipelineRun

Workspaces

Workspaces

Resource

Resources

Result

Results

Events

Events

Bundles

Bundles

Conditions

https://tekton.dev/docs/pipelines/conditions/

Conditions are deprecated, use when expressions instead.

Parameters

Parameters

Resource Management

This section contains a discussion on LimitRange.

Resource Management

Security

Security

Metrics

Tekton Metrics

Tekton Components

Tekton Pipelines

https://github.com/tektoncd/pipeline/blob/main/docs/README.md

Tekton Pipelines is the component that implements the core functionality of Tekton and sets the foundation for other components. It is implemented as a set of Kubernetes Custom Resources.

Tekton Pipeline Runtime

Tekton Pipelines Controller

Tekton Pipelines Webhook

Tekton Pipeline Operations

Tekton CLI

https://github.com/tektoncd/cli/blob/main/README.md

Tekton CLI provides the command interface called tkn.

TO PROCESS:

Tekton CLI Operations

Tekton API

Tekton APIs are currently available for Pipelines and Triggers allow you to programmatically interact with the Tekton components.

Tekton Catalog

https://tekton.dev/docs/catalog/
https://github.com/tektoncd/catalog/blob/v1beta1/README.md

Tekton Catalog is a repository of community-contributed Tekton building blocks.

Tekton Hub

https://hub.tekton.dev
https://github.com/tektoncd/hub/blob/main/README.md

Tekton Hub is a web GUI to access Tekton Catalog.

Tekton Triggers

https://github.com/tektoncd/triggers/blob/main/README.md

Tekton Triggers provide triggers, which allow instantiating pipelines based on events (a PR merge, etc.)

TO PROCESS: https://tekton.dev/docs/triggers/

Trigger

Implemented as part of the Tekton Triggers component.

Tekton Dashboard

https://github.com/tektoncd/dashboard/blob/main/README.md
https://tekton.dev/docs/dashboard/

Tekton Dashboard is the web GUI that displays information about pipeline execution.

Tekton Operator

https://tekton.dev/docs/operator/
https://github.com/tektoncd/operator/blob/main/README.md

Tekton Operator is the implementation of the Kubernetes Operator pattern that assists with the operation of the Tekton projects.

HA Support

Tekton Operations | HA Support

Programming Model

Process Task Authoring Recommendations: https://github.com/tektoncd/catalog/blob/main/recommendations.md

Variables

TO PROCESS:

Code Examples

TO PROCESS:

Start the list here:

  • How to do this
  • How to do that

Hermetic Builds

https://tekton.dev/docs/pipelines/hermetic/

Playground

https://github.com/ovidiuf/playground/tree/master/tekton