---
# System prepended metadata

title: Operator pitch
tags: [tektoncd]

---

# Operator pitch

###### tags: `tektoncd`

Installation and upgrade of Tekton Pipeline including dashboard installation or tasks in catalog repo is currently a manual process. Kubernetes Operator provides us with a framework to simplify this tedious job. Operator also provides us with a great way to move between version when there are breaking changes (alpha1 -> beta1). 


Operator was introduced in this [blog post](https://coreos.com/blog/introducing-operator-framework) and is documented at [OperatorHub.io](https://operatorhub.io/getting-started).

> The goal of an Operator is to put operational knowledge into software. Previously this knowledge only resided in the minds of administrators, various combinations of shell scripts or automation software like Ansible. It was outside of your Kubernetes cluster and hard to integrate. With Operators, we changed that.

With the [Operator Lifecycle Manager](https://github.com/operator-framework/operator-lifecycle-manager) and [OperatorHub.io](https://operatorhub.io/) it makes it easier for admins to manage their cluster.


Operators got a lot of traction at Red Hat after OpenShift 4 was redesigned around it. Soon after, we started working on Operators to simplify installation of Knative and Tekton. see:

- https://github.com/openshift/tektoncd-pipeline-operator/
- https://github.com/openshift-knative/

Starting with the Knative `Serving` project, Knative has adopted the operators upstream.

> Knative Serving Operator is a project aiming to deploy and manage Knative Serving in an automated way.

- https://github.com/knative/serving-operator

The Tekton Operator recently recieved external contributions around [installation of Dashboard](https://github.com/openshift/tektoncd-pipeline-operator/pull/24) as an [addon](https://github.com/openshift/tektoncd-pipeline-operator/pull/23) which lead us to believe that adoption of the may be useful for the community and hence the proposal for Tekton to adopt Operator. 

As a starting point, we could use [tektoncd-pipeline-operator](https://github.com/openshift/tektoncd-pipeline-operator/) and move it under the `tektoncd` organization.

/cc @sthaha @nikhil-thomas 
