Operator

Tekton Pipelines

Kubernetes-native CI/CD. Pipelines are custom resources in your cluster, and every task runs as a pod. Install it once with the OpenShift Pipelines Operator.

  • Operator-managed install
  • Each TaskRun is a pod
  • Pipelines as YAML in Git
  • No central CI server

No credit card required · Free during the Alpha phase · View pricing

Tekton Pipelines · OpenShift Pipelines OperatorPLATFORM STACKYour pipelinesTask · Pipeline · PipelineRun · TriggersYOU OPERATEOperatorSubscription · TektonConfig · controllersYOU OPERATERun podsOne pod per TaskRun · workspace volumesYOU OPERATEKubernetes platformOKD/OpenShift · Operator Lifecycle ManagerGRN-MANAGEDHosts & networkNetherlands · 100% renewableGRN-MANAGED GRN.CLOUD

Overview

Build, test and deploy with pipelines that run inside the cluster.

Tasks and Pipelines

A Task is a sequence of steps, each a container. A Pipeline orders Tasks and passes parameters and results between them.

Runs are pods

A PipelineRun creates one TaskRun per Task, and each TaskRun runs as a pod in your namespace. Shared files move through workspaces backed by volumes.

Event-driven

Tekton Triggers start runs from Git webhooks. Pipelines-as-Code runs the pipelines kept in a repository's .tekton/ directory on pull requests and pushes.

Deployment

Installed and upgraded by an Operator through Operator Lifecycle Manager (OLM).

Subscription

OperatorHub → OpenShift Pipelines, update channel

TektonConfig

Operator deploys Pipelines, Triggers and Pipelines-as-Code

Task + Pipeline

Your definitions, applied to your namespace

PipelineRun

TaskRun pods execute and report status

  • Cluster-scoped install — the Operator installs once per cluster, in openshift-operators, and serves all namespaces. Subscribing to an Operator needs cluster-admin rights on your cluster.
  • Operator-managed components — the Operator creates the TektonConfig resource and runs the Pipelines and Triggers controllers in openshift-pipelines. Upgrades follow the Subscription's update channel.
  • Per-namespace identity — a pipeline service account is created in each namespace for runs to use. Grant it only the roles a pipeline needs.
  • CLI — tkn starts runs, follows logs and lists history.
bash — oc / tkn
# 1. subscribe to the Operator (cluster-admin)
$ oc apply -f - <<'EOF'
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: openshift-pipelines-operator
  namespace: openshift-operators
spec:
  channel: latest
  name: openshift-pipelines-operator-rh
  source: redhat-operators
  sourceNamespace: openshift-marketplace
EOF

# 2. define a Task in your namespace and run it
$ oc apply -f - <<'EOF'
apiVersion: tekton.dev/v1
kind: Task
metadata:
  name: hello
spec:
  steps:
    - name: hello
      image: registry.access.redhat.com/ubi9/ubi-minimal
      script: echo "hello from a TaskRun pod"
EOF
$ tkn task start hello --showlog

Platform integration

Pipelines run where your workloads run.

  • Cluster capacity — TaskRun pods are scheduled on your cluster's nodes and count against the namespace's quotas and limits. There are no separate CI minutes.
  • Workspaces — share a cloned repository or build cache between Tasks with a workspace backed by a PersistentVolumeClaim, or a volumeClaimTemplate for a fresh volume per run.
  • Builds and deploys — build images in-cluster and roll out the result to applications such as Node.js or Apache HTTP in the same cluster.
  • Console — pipelines, runs and logs are visible in the web console's Pipelines view, alongside the workloads they deploy.
  • Alternative — if your team works in GitLab, GitLab CI with in-cluster runners covers the same ground.

Run CI/CD as Kubernetes resources.

Install the OpenShift Pipelines Operator from OperatorHub, then apply your first Task.

Hosted in the Netherlands · EU data residency · 100% renewable energy