logo
Alauda DevOps Pipelines Docs
logo
Alauda DevOps Pipelines Docs
Navigation

Overview

Introduction
Architecture
Feature Overview
Lifecycle Policy
Quick Start
Release Notes

Concepts

TektonConfig
TektonPipeline
Install
Upgrade

Configure

Adjusting Optional Configuration Items of Subcomponents
Configuring Resource Quotas for Pipeline Components
Pod Template Configuration Guide
Regular Cleanup of TaskRun and PipelineRun Resources

How To

Deploying tekton-pipelines in a global cluster through TektonConfig

Pipelines

Introduction
Architecture

Concepts

Tasks
TaskRuns
Pipelines
PipelineRuns
StepActions
Resolvers
Workspaces
Pod Templates
Quick Start
permissions

how_to

Adjust Dockerfile for Building Task-Compatible Custom Images

trouble_shooting

Failed to create pod due to config error when using custom images in Tekton

Triggers

Introduction
Architecture

Core Concepts

Core Concepts
EventListener
Trigger
Interceptor
TriggerBinding
TriggerTemplate
Quick Start

How To

Setup EventListener
Use GitLab Event Triggers
Create TriggerTemplate

Troubleshooting

The Pipeline is not automatically triggered
Permission Description

Hub

Introduction
Architecture

Core Concepts

Concepts
Understanding Tekton Hub
Permission Description

Configure

Tekton Hub Configuration
Adding Custom Catalogs

Tutorials

Creating a Custom Catalog
Writing Tasks for Tekton Hub
Writing Pipelines for Tekton Hub

Results

Introduction
Architecture

Concepts

Core Concepts
Tekton Results
Quick Start
permissions

Configure

Database Configuration

Supply Chain Security

Introduction
Architecture

Concepts

Core Concepts
Understanding Tekton Chains
Quick Start

API Reference

Introduction

Kubernetes APIs

Pipelines

Pipeline [tekton.dev/v1]
Task [tekton.dev/v1]
PipelineRun [tekton.dev/v1]
TaskRun [tekton.dev/v1]
ClusterTask [tekton.dev/v1]
Run [tekton.dev/v1]
CustomRun [tekton.dev/v1]
StepAction [tekton.dev/v1]
VerificationPolicy [tekton.dev/v1alpha1]
ResolutionRequest [resolution.tekton.dev/v1beta1]

Triggers

Trigger [triggers.tekton.dev/v1beta1]
TriggerTemplate [triggers.tekton.dev/v1beta1]
EventListener [triggers.tekton.dev/v1beta1]
TriggerBinding [triggers.tekton.dev/v1beta1]
Interceptor [triggers.tekton.dev/v1alpha1]
ClusterTriggerBinding [triggers.tekton.dev/v1beta1]
ClusterInterceptor [triggers.tekton.dev/v1alpha1]

Operator

TektonConfig [operator.tekton.dev/v1alpha1]
TektonInstallerSet [operator.tekton.dev/v1alpha1]
TektonPipeline [operator.tekton.dev/v1alpha1]
TektonTrigger [operator.tekton.dev/v1alpha1]
TektonChain [operator.tekton.dev/v1alpha1]
TektonHub [operator.tekton.dev/v1alpha1]
TektonResult [operator.tekton.dev/v1alpha1]
TektonInstallerSet [operator.tekton.dev/v1alpha1]
OpenShift Pipelines as Code [operator.tekton.dev/v1alpha1]

Advanced APIs

Results

Introduction to API Usage
Results List
Results Details
Result records List
Result logs List
📝 Edit this page on GitHub
Previous PageResults
Next PageArchitecture

#Introduction

Tekton Results is designed to help users logically group the historical records of CI/CD workloads and separate long-term Results storage from the Pipeline controller. This allows you to:

  • Provide custom Results metadata about CI/CD workflows that are not available in Tekton TaskRun/PipelineRun CRDs (e.g., post-run actions)
  • Group related workloads together (e.g., bundling related TaskRuns and PipelineRuns into a single unit)
  • Make long-term Results history independent of the Pipeline CRD controller, thereby freeing etcd resources for run executions.
  • Store logs generated by TaskRun/PipelineRun so that completed runs can be cleaned up to save resources.

Additional background and design motivation can be found in TEP-0021.

#TOC

#Overview

Tekton Results consists of two main components:

  • An API-queriable gRPC API server backed by persistent storage (see the project source code in proto/v1alpha2 for the latest API specifications).
  • A watcher controller used to monitor and report updates of TaskRuns and PipelineRuns to the API server.

#Lifecycle of Results

  1. Users create TaskRuns or PipelineRuns through the Kubernetes API as usual.
  2. The Results Watcher listens for changes to all TaskRuns/PipelineRuns.
  3. If a TaskRun/PipelineRun changes, the watcher updates (or creates) the corresponding Record using the Results API (it will also create a Result if needed).
    • The watcher also annotates the original TaskRun/PipelineRun with an identifier.
  4. Users can directly fetch/query Results/Records data from the API. Once the TaskRun/PipelineRun completes and is successfully stored in the Results API, the original CRD objects can be safely deleted from the cluster.

#Data Model

  • A record is a single instance of data. These are typically execution data (e.g., PipelineRun, TaskRun, logs) but may also reference other data about events/executions. Records are designed to flexibly support any information that tools wish to provide about CI events.
  • Results are aggregators of records, allowing users to reference groups of records as a single entity. For example, you might have a Results grouping the following records:
    • The source event that triggered the operation (e.g., a pull request, a push).
    • The created PipelineRun.
    • The TaskRuns created in response to the PipelineRun.
    • The receipt of cloud events.
    • The receipt of source status updates.

(Note: The watcher currently does not support all these types of data, but they are examples of the data we intend to support.)