logo
Alauda DevOps Pipelines Docs
logo
Alauda DevOps Pipelines Docs
Navigation

Overview

Introduction
Architecture
Feature Overview
Quick Start
Lifecycle Policy
Release Notes

Concepts

TektonConfig
TektonPipeline
Install

Upgrade

Upgrade Path
Upgrade Alauda DevOps Pipelines Operator

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

How To

Adjust Dockerfile for Building Task-Compatible Custom Images
Specifying remote pipelines using hub resolvers
Specifying remote tasks using hub resolvers
Use java-image-build-scan-deploy Pipeline

Trouble Shooting

Failed to create pod due to config error when using custom images in Tekton
Permission Issues When Using Custom Images in run-script Task
Unable to Use Multiple PVC Workspaces in Tekton
permissions

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

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

Getting Started
Signed Provenance

How To

Image Signature Verification
Build System Provenance Verification
Source Code Repository Verification
Vulnerability Scanning and Verification
Base Image and SBOM Verification
License Compliance Verification
Keyless Signing Verification

Configure

Chains Configuration
Chains Configuration
Authentication for Chains
Signing Key Configuration

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 PageConcepts
Next PageUnderstanding Tekton Chains

#Core Concepts

#TOC

#Supply Chain Security

Supply chain security refers to protecting the integrity, security, and reliability of the software development lifecycle from development to deployment. Tekton Chains is designed to address supply chain security concerns by providing mechanisms to verify that artifacts produced by CI/CD pipelines have not been tampered with and can be trusted.

#SLSA Framework

SLSA (Supply-chain Levels for Software Artifacts) is a security framework that provides a checklist of standards and controls to prevent tampering, improve integrity, and secure packages and infrastructure. Tekton Chains supports multiple SLSA provenance formats:

  • SLSA v0.2: Supported via slsa/v1 or in-toto formatters
  • SLSA v1.0: Supported via slsa/v2alpha3 and slsa/v2alpha4 formatters

As part of the framework, SLSA has multiple levels of assurances. These levels contain industry-recognized best practices to create four levels of increasing assurance.

Security levels

Track/LevelRequirementsFocus
Build L0(none)(n/a)
Build L1Provenance showing how the package was builtMistakes, documentation
Build L2Signed provenance, generated by a hosted build platformTampering after the build
Build L3Hardened build platformTampering during the build

Tekton can achieve SLSA Level 2 compliance. For more information, please refer to Getting To SLSA Level 2 with Tekton and Tekton Chains

#Signing

Signing is the process of cryptographically signing provenance to ensure its integrity and authenticity. Tekton Chains supports multiple signing methods:

  • x509: Uses a standard x509 certificate and private key
  • Cosign: Uses Sigstore's Cosign tool for signing
  • KMS: Uses cloud provider key management services
  • Keyless: Uses ephemeral keys with Fulcio certificate authority

#Image attestation

Image attestation is used for storing and verifying metadata information related to images. It provides richer supply chain security information, such as:

  • SLSA Provenance
  • SBOM
  • Vulnerability scan results
  • Custom metadata

#SLSA Provenance

SLSA Provenance is metadata containing verifiable information about software artifacts, describing how they were built, what sources were used, and who built them. In Tekton Chains, provenance is cryptographically signed to ensure its integrity and authenticity.

There are two types of provenance in Tekton Chains:

  • Task-level provenance: Captures details about a specific TaskRun execution
  • Pipeline-level provenance: Captures the entire PipelineRun execution, including all child TaskRuns

#SBOM (Software bill of materials)

SBOM is a nested inventory for software, a list of ingredients that make up software components, including:

  • Software components
  • Component versions
  • License information
  • Dependency relationships

SBOM can be in various formats, such as:

  • SPDX
  • CycloneDX

#Vulnerability scan results

Cosign Vulnerability Scan results record the security assessment of the software build process, including:

  • Scanner information (name, version)
    • Vulnerability database information
  • List of discovered vulnerabilities and their severity
  • Remediation recommendations

#Custom metadata

Custom metadata can be added as needed to support specific security requirements.

For example, grype can generate vulnerability scan results, and these results can be uploaded to the image registry as a custom type.

#Attestation verification

The verification mechanism is highly flexible and can be customized to validate any metadata present in the attestation. This means that any information stored in the attestation can be used as validation criteria, allowing organizations to implement precise security controls based on their specific requirements.

The flexibility of attestation verification is demonstrated through various validation methods:

  • Kyverno JMESPath Validation

    • Uses JMESPath syntax for JSON query and validation
  • Rego Policy Validation

    • Leverages Open Policy Agent (OPA) for complex policy enforcement
    • Supports declarative policy rules and custom validation logic
    • Example: Validating builder information and build environment
  • CUE Validation

    • Provides type system and constraint system for validation
    • Enables schema validation and data consistency checks
    • Supports complex data structure validation

#Artifacts

Artifacts in Tekton Chains refer to the inputs and outputs of a build process:

  • Input Artifacts: Resources that influence the build process, such as source code repositories and dependencies
  • Output Artifacts: Resources produced by the build process, such as container images

#Type Hinting

Type hinting is a mechanism used by Tekton Chains to understand the input and output artifacts of a TaskRun or PipelineRun. Type hints are specially named parameters or results that follow specific formats:

  • For Git inputs: CHAINS-GIT_URL and CHAINS-GIT_COMMIT
  • For generic inputs: Parameters or results with the suffix ARTIFACT_INPUTS
  • For image outputs: IMAGES or parameters/results with the suffix IMAGE_URL and IMAGE_DIGEST
  • For generic outputs: Parameters or results with the suffix ARTIFACT_OUTPUTS

#Storage Backends

Storage backends are where Tekton Chains stores the generated provenance and signatures. Supported backends include:

  • Tekton: Stores as annotations on the TaskRun/PipelineRun
  • OCI: Stores in an OCI registry alongside container images
  • GCS: Stores in Google Cloud Storage
  • DocDB: Stores in a document database
  • Grafeas: Stores in Grafeas/Container Analysis

#Controller

The Tekton Chains controller is the core component that observes TaskRun and PipelineRun executions, captures relevant information, and generates, signs, and stores provenance. It runs as a Kubernetes deployment in the tekton-pipelines namespace.