Repository: tektoncd/operator
Pull request #654 (2022-03-04 13:13:57)

Updates Hub components name by adding prefix as `tekton-hub`
Signed-off-by: Puneet Punamiya <ppunamiy@redhat.com>

# Changes

<!-- 🎉🎉🎉 Thank you for the PR!!! 🎉🎉🎉 -->

<!-- Describe your changes here- ideally you can get that description straight from
your descriptive commit message(s)! -->

# Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

- [ ] Includes [tests](https://github.com/tektoncd/community/blob/master/standards.md#principles) (if functionality changed/added)
- [ ] Includes [docs](https://github.com/tektoncd/community/blob/master/standards.md#principles) (if user facing)
- [ ] Commit messages follow [commit message best practices](https://github.com/tektoncd/community/blob/master/standards.md#commit-messages)

_See [the contribution guide](https://github.com/tektoncd/operator/blob/master/CONTRIBUTING.md) for more details._

# Release Notes

<!--
Describe any user facing changes here, or delete this block.

Examples of user facing changes:
- API changes
- Bug fixes
- Any changes in behavior
- Changes requiring upgrade notices or deprecation warnings

For pull requests with a release note:

```release-note
Your release note here
```

For pull requests that require additional action from users switching to the new release, include the string "action required" (case insensitive) in the release note:

```release-note
action required: your release note here
```

For pull requests that don't need to be mentioned at release time, use the `/release-note-none` Prow command to add the `release-note-none` label to the PR. You can also write the string "NONE" as a release note in your PR description:

```release-note
NONE
```
-->


tekton-robot: [APPROVALNOTIFIER] This PR is **NOT APPROVED**

This pull-request has been approved by:
To complete the [pull request process](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process), please assign **vdemeester**
You can assign the PR to them by writing `/assign @vdemeester` in a comment when ready.

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=tektoncd%2Foperator).

<details open>
Needs approval from an approver in each of these files:

- **[OWNERS](https://github.com/tektoncd/operator/blob/main/OWNERS)**

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":["vdemeester"]} -->
PuneetPunamiya: /hold
Keeping the patch in hold till we have Hub 1.7 released
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`
pull-tekton-operator-integration-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1499735014072389633/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`
pull-tekton-operator-integration-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1499735014072389633/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`
pull-tekton-operator-integration-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1499735014072389633/) | `/test pull-tekton-operator-integration-tests`
pull-tekton-operator-build-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-build-tests/1499735014076583937/) | `/test pull-tekton-operator-build-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-unit-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-unit-tests/1499735014076583936/) | `/test pull-tekton-operator-unit-tests`
pull-tekton-operator-integration-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1499735014072389633/) | `/test pull-tekton-operator-integration-tests`
pull-tekton-operator-build-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-build-tests/1499735014076583937/) | `/test pull-tekton-operator-build-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
nikhil-thomas: /approve
tekton-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/tektoncd/operator/pull/654#issuecomment-1059158640" title="Approved">nikhil-thomas</a>*

The full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands?repo=tektoncd%2Foperator).

The pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)

<details >
Needs approval from an approver in each of these files:

- ~~[OWNERS](https://github.com/tektoncd/operator/blob/main/OWNERS)~~ [nikhil-thomas]

Approvers can indicate their approval by writing `/approve` in a comment
Approvers can cancel approval by writing `/approve cancel` in a comment
</details>
<!-- META={"approvers":[]} -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-build-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-build-tests/1499735014076583937/) | `/test pull-tekton-operator-build-tests`
pull-tekton-operator-integration-tests | 16f3a7eb55bad78f1b12134ad1afd649f2eb67f5 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500667029198213120/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following tests **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-build-tests | e937168c4681cc73a46b41f73258e9e3b8e74252 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-build-tests/1499735014076583937/) | `/test pull-tekton-operator-build-tests`
pull-tekton-operator-integration-tests | 16f3a7eb55bad78f1b12134ad1afd649f2eb67f5 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500667029198213120/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500721891399176193/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500721891399176193/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
PuneetPunamiya: /retest
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500732209420570624/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500732209420570624/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
PuneetPunamiya: /retest
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500794367567204352/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
PuneetPunamiya: /test pull-tekton-operator-integration-tests

tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500812614161141760/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->
tekton-robot: @PuneetPunamiya: The following test **failed**, say `/retest` to rerun them all:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
pull-tekton-operator-integration-tests | 19b63f8806e76004b5000c20bfe839e027398689 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/654/pull-tekton-operator-integration-tests/1500812614161141760/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/654). [Your PR dashboard](https://prow.tekton.dev/pr/PuneetPunamiya).

<details>

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
</details>
<!-- test report -->

Patch:
diff --git a/Makefile b/Makefile
index 4c7439dbc..82ef8013e 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@ TEKTON_TRIGGERS_VERSION ?= latest
 TEKTON_DASHBOARD_VERSION ?= latest
 TEKTON_RESULTS_VERSION ?= v0.4.0 # latest returns an older version hence hard coding to v0.3.1 for now (tektoncd/results#138)
 PAC_VERSION ?= 0.5.3
-TEKTON_HUB_VERSION ?= v1.6.0 # latest doesn't returns any version hence hard coding to v1.6.0 for now
+TEKTON_HUB_VERSION ?= v1.7.0 # latest doesn't returns any version hence hard coding to v1.7.0 for now
 TEKTON_CHAINS_VERSION ?= latest
 
 $(BIN)/ko: PACKAGE=github.com/google/ko
diff --git a/docs/README.md b/docs/README.md
index e8070b8d9..36ee8ff18 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -72,11 +72,11 @@ To install Operator there are multiple ways
 
   You can clone and repository and install the Operator. You can find the instruction in [here](../DEVELOPMENT.md)
 
-After installing the Operator, to install the required Tekton Component such as Tekton Pipeline, Tekton Triggers, Tekton Chains.
+After installing the Operator, to install the required Tekton Component such as Tekton Pipeline, Tekton Triggers.
 
 Create an instance of `TektonConfig` which will create the required components. You can find more details and the available configuration in [TektonConfig](TektonConfig.md).
 
-NOTE: `TektonResult` is an optional component added recently and is not installed through `TektonConfig` currently. You can find the installation steps in its [doc](TektonResult.md).
+NOTE: `TektonResult` and `TektonChain` are optional components and are not installed through `TektonConfig` currently. You can find the installation steps in their docs.
 
 
 ## Understanding Tekton Operator
diff --git a/docs/TektonChain.md b/docs/TektonChain.md
index 806e58138..0b36cc6f1 100644
--- a/docs/TektonChain.md
+++ b/docs/TektonChain.md
@@ -8,17 +8,40 @@ weight: 9
 
 TektonChain custom resource allows user to install and manage [Tekton Chains][chains].
 
-It is recommended to install the components through [TektonConfig](./TektonConfig.md).
-
-The TektonChain CR is as below:
-```yaml
-apiVersion: operator.tekton.dev/v1alpha1
-kind: TektonChain
-metadata:
-  name: chain
-spec:
-  targetNamespace: tekton-pipelines
-```
-You can install this component using [TektonConfig](./TektonConfig.md) by choosing appropriate `profile`.
+TektonChain is an optional component and currently cannot be installed through TektonConfig. It has to be installed separately.
+
+To install TektonChain on your cluster follow steps as given below:
+
+- Make sure Tekton Pipelines is installed on your cluster, using the Operator.
+
+- Create the TektonChain CR.
+
+    - On Kubernetes, TektonChain CR is as below:
+
+    ```yaml
+    apiVersion: operator.tekton.dev/v1alpha1
+    kind: TektonChain
+    metadata:
+      name: chain
+    spec:
+      targetNamespace: tekton-pipelines
+    ```
+
+    - On OpenShift, TektonChain CR is as below:
+
+    ```yaml
+    apiVersion: operator.tekton.dev/v1alpha1
+    kind: TektonChain
+    metadata:
+      name: chain
+    spec:
+      targetNamespace: openshift-pipelines
+    ```
+
+- Check the status of installation using following command:
+
+    ```sh
+    kubectl get tektonchains.operator.tekton.dev
+    ```
 
 [chains]:https://github.com/tektoncd/chains
diff --git a/docs/TektonConfig.md b/docs/TektonConfig.md
index 4dddcb414..eb9b9f095 100644
--- a/docs/TektonConfig.md
+++ b/docs/TektonConfig.md
@@ -13,10 +13,10 @@ Operator provides support for installing and managing following operator compone
 
 - [TektonPipeline](./TektonPipeline.md)
 - [TektonTrigger](./TektonTrigger.md)
-- [TektonChain](./TektonChain.md)
 
 Other than the above components depending on the platform operator also provides support for
-
+- On both Kubernetes and OpenShift
+    - [TektonChain](./TektonChain.md)
 - On Kubernetes
     - [TektonDashboard](./TekonDashboard.md)
 - On OpenShift
@@ -74,13 +74,12 @@ By default, namespace would be `tekton-pipelines` for Kubernetes and `openshift-
 
 This allows user to choose which all components to install on the cluster.
 There are 3 profiles available:
-- `all`: This profile will install all components (TektonPipeline, TektonTrigger and TektonChain)
+- `all`: This profile will install all components (TektonPipeline and TektonTrigger)
 - `basic`:  This profile will install only TektonPipeline and TektonTrigger component
 - `lite`: This profile will install only TektonPipeline component
 
 On Kubernetes, `all` profile will install `TektonDashboard` and on OpenShift `TektonAddon` will be installed.
 
-
 ### Config
 
 Config provides fields to configure deployments created by the Operator.
diff --git a/hack/fetch-releases.sh b/hack/fetch-releases.sh
index 262d23778..a7ce00d59 100755
--- a/hack/fetch-releases.sh
+++ b/hack/fetch-releases.sh
@@ -140,11 +140,7 @@ release_yaml_hub() {
 
     fileName=${component}.yaml
 
-    [[ ${component} == "api" ]] && fileName=${component}-k8s.yaml
-    [[ ${component} == "api" ]] && [[ ${TARGET} == "openshift" ]] && fileName=${component}-openshift.yaml
-
-    [[ ${component} == "ui" ]] && fileName=${component}-k8s.yaml
-    [[ ${component} == "ui" ]] && [[ ${TARGET} == "openshift" ]] && fileName=${component}-openshift.yaml
+    [[ ${component} == "api" ]] || [[ ${component} == "ui" ]] && fileName=${component}-${TARGET}.yaml
 
     url="https://github.com/tektoncd/hub/releases/download/${version}/${fileName}"
     echo $url
diff --git a/operatorhub/openshift/config.yaml b/operatorhub/openshift/config.yaml
index e605c8e4d..e42fb17d1 100644
--- a/operatorhub/openshift/config.yaml
+++ b/operatorhub/openshift/config.yaml
@@ -153,7 +153,13 @@ image-substitutions:
     containerTargets:
     - deploymentName: tekton-operator-webhook
       containerName: tekton-operator-webhook
-
+- image: registry.redhat.io/openshift-pipelines/pipelines-chains-controller-rhel8@
+  replaceLocations:
+    envTargets:
+      - deploymentName: openshift-pipelines-operator
+        containerName: openshift-pipelines-operator
+        envKeys:
+          - IMAGE_CHAINS_TEKTON_CHAINS_CONTROLLER
 # add thrid party images which are not replaced by operator
 # but pulled directly by tasks here
 defaultRelatedImages: []
diff --git a/pkg/apis/operator/v1alpha1/tektonhub_defaults.go b/pkg/apis/operator/v1alpha1/tektonhub_defaults.go
index 5b14e5dce..3065e34c7 100644
--- a/pkg/apis/operator/v1alpha1/tektonhub_defaults.go
+++ b/pkg/apis/operator/v1alpha1/tektonhub_defaults.go
@@ -24,11 +24,11 @@ import (
 func (th *TektonHub) SetDefaults(ctx context.Context) {
 
 	if th.Spec.Db.DbSecretName == "" {
-		th.Spec.Db.DbSecretName = "db"
+		th.Spec.Db.DbSecretName = "tekton-hub-db"
 	}
 
 	if th.Spec.Api.ApiSecretName == "" {
-		th.Spec.Api.ApiSecretName = "api"
+		th.Spec.Api.ApiSecretName = "tekton-hub-api"
 	}
 
 	if th.Spec.CommonSpec.TargetNamespace == "" {
diff --git a/pkg/apis/operator/v1alpha1/tektonhub_validation.go b/pkg/apis/operator/v1alpha1/tektonhub_validation.go
index 5c43dd74c..52baf6130 100644
--- a/pkg/apis/operator/v1alpha1/tektonhub_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektonhub_validation.go
@@ -54,7 +54,7 @@ func (th *TektonHub) Validate(ctx context.Context) (errs *apis.FieldError) {
 }
 
 func (db *DbSpec) validate(path string) (errs *apis.FieldError) {
-	if db.DbSecretName != "" && db.DbSecretName != "db" {
+	if db.DbSecretName != "" && db.DbSecretName != "tekton-hub-db" {
 		return errs.Also(apis.ErrInvalidValue(db.DbSecretName, path+".DbSecretName"))
 	}
 	return errs
@@ -73,7 +73,7 @@ func (api *ApiSpec) validate(path string) (errs *apis.FieldError) {
 		errs = errs.Also(apis.ErrMissingField(path + ".HubConfigUrl"))
 	}
 
-	if api.ApiSecretName != "" && api.ApiSecretName != "api" {
+	if api.ApiSecretName != "" && api.ApiSecretName != "tekton-hub-api" {
 		return errs.Also(apis.ErrInvalidValue(api.ApiSecretName, path+".ApiSecretName"))
 	}
 
diff --git a/pkg/reconciler/kubernetes/tektonchain/controller.go b/pkg/reconciler/kubernetes/tektonchain/controller.go
index 2b4076cd1..821c84eb7 100644
--- a/pkg/reconciler/kubernetes/tektonchain/controller.go
+++ b/pkg/reconciler/kubernetes/tektonchain/controller.go
@@ -27,7 +27,6 @@ import (
 	tektonChainreconciler "github.com/tektoncd/operator/pkg/client/injection/reconciler/operator/v1alpha1/tektonchain"
 	"github.com/tektoncd/operator/pkg/reconciler/common"
 	"k8s.io/client-go/tools/cache"
-	//kubeclient "knative.dev/pkg/client/injection/kube/client"
 	"knative.dev/pkg/configmap"
 	"knative.dev/pkg/controller"
 	"knative.dev/pkg/injection"
diff --git a/pkg/reconciler/kubernetes/tektonhub/tektonhub.go b/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
index dfbc8068d..cea2baf4e 100644
--- a/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
+++ b/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
@@ -56,11 +56,13 @@ type Reconciler struct {
 }
 
 var (
-	apiConfigMapName       string = "api"
-	errKeyMissing          error  = fmt.Errorf("secret doesn't contains all the keys")
+	errKeyMissing          error = fmt.Errorf("secret doesn't contains all the keys")
 	namespace              string
-	uiConfigMapName        string = "ui"
 	errconfigMapKeyMissing error  = fmt.Errorf("configMap doesn't contains all the keys")
+	db                     string = fmt.Sprintf("%s-%s", hubprefix, "db")
+	dbMigration            string = fmt.Sprintf("%s-%s", hubprefix, "db-migration")
+	api                    string = fmt.Sprintf("%s-%s", hubprefix, "api")
+	ui                     string = fmt.Sprintf("%s-%s", hubprefix, "ui")
 	// Check that our Reconciler implements controller.Reconciler
 	_ tektonhubconciler.Interface = (*Reconciler)(nil)
 	_ tektonhubconciler.Finalizer = (*Reconciler)(nil)
@@ -74,14 +76,11 @@ var (
 )
 
 const (
+	hubprefix               = "tekton-hub"
 	dbInstallerSet          = "DbInstallerSet"
 	dbMigrationInstallerSet = "DbMigrationInstallerSet"
 	apiInstallerSet         = "ApiInstallerSet"
 	uiInstallerSet          = "UiInstallerSet"
-	dbComponent             = "tekton-hub-db"
-	apiComponent            = "tekton-hub-api"
-	uiComponent             = "tekton-hub-ui"
-	dbMigrationComponent    = "tekton-hub-db-migration"
 	createdByValue          = "TektonHub"
 )
 
@@ -199,7 +198,7 @@ func (r *Reconciler) manageUiComponent(ctx context.Context, th *v1alpha1.TektonH
 	if !exist {
 		th.Status.MarkUiInstallerSetNotAvailable("UI installer set not available")
 		uiLocation := filepath.Join(hubDir, "ui")
-		err := r.setupAndCreateInstallerSet(ctx, uiLocation, th, uiInstallerSet, version, uiComponent)
+		err := r.setupAndCreateInstallerSet(ctx, uiLocation, th, uiInstallerSet, version, ui)
 		if err != nil {
 			return err
 		}
@@ -232,7 +231,7 @@ func (r *Reconciler) manageApiComponent(ctx context.Context, th *v1alpha1.Tekton
 	if !exist {
 		th.Status.MarkApiInstallerSetNotAvailable("API installer set not available")
 		apiLocation := filepath.Join(hubDir, "api")
-		err := r.setupAndCreateInstallerSet(ctx, apiLocation, th, apiInstallerSet, version, apiComponent)
+		err := r.setupAndCreateInstallerSet(ctx, apiLocation, th, apiInstallerSet, version, api)
 		if err != nil {
 			return err
 		}
@@ -256,7 +255,7 @@ func (r *Reconciler) manageDbMigrationComponent(ctx context.Context, th *v1alpha
 	if !exist {
 		dbMigrationLocation := filepath.Join(hubDir, "db-migration")
 		th.Status.MarkDatabasebMigrationFailed("DB migration installerset not available")
-		err = r.setupAndCreateInstallerSet(ctx, dbMigrationLocation, th, dbMigrationInstallerSet, version, dbMigrationComponent)
+		err = r.setupAndCreateInstallerSet(ctx, dbMigrationLocation, th, dbMigrationInstallerSet, version, dbMigration)
 		if err != nil {
 			return err
 		}
@@ -286,7 +285,7 @@ func (r *Reconciler) manageDbComponent(ctx context.Context, th *v1alpha1.TektonH
 	if !exist {
 		th.Status.MarkDbInstallerSetNotAvailable("DB installer set not available")
 		dbLocation := filepath.Join(hubDir, "db")
-		err := r.setupAndCreateInstallerSet(ctx, dbLocation, th, dbInstallerSet, version, dbComponent)
+		err := r.setupAndCreateInstallerSet(ctx, dbLocation, th, dbInstallerSet, version, db)
 		if err != nil {
 			return err
 		}
@@ -361,20 +360,20 @@ func (r *Reconciler) validateApiDependencies(ctx context.Context, th *v1alpha1.T
 		}
 	}
 
-	_, err = r.getConfigMap(ctx, apiConfigMapName, namespace, apiConfigMapKeys)
+	_, err = r.getConfigMap(ctx, api, namespace, apiConfigMapKeys)
 	if err != nil {
 		if apierrors.IsNotFound(err) {
-			configMap := createApiConfigMap(apiConfigMapName, namespace, th)
+			configMap := createApiConfigMap(api, namespace, th)
 			_, err = r.kubeClientSet.CoreV1().ConfigMaps(namespace).Create(ctx, configMap, metav1.CreateOptions{})
 			if err != nil {
 				logger.Error(err)
-				th.Status.MarkApiDependencyMissing(fmt.Sprintf("%s configMap is missing", apiConfigMapName))
+				th.Status.MarkApiDependencyMissing(fmt.Sprintf("%s configMap is missing", api))
 				return err
 			}
 			return nil
 		}
 		if err == errKeyMissing {
-			th.Status.MarkApiDependencyMissing(fmt.Sprintf("%s configMap is missing the keys", apiConfigMapName))
+			th.Status.MarkApiDependencyMissing(fmt.Sprintf("%s configMap is missing the keys", api))
 			return err
 		} else {
 			logger.Error(err)
@@ -389,20 +388,20 @@ func (r *Reconciler) validateUiConfigMap(ctx context.Context, th *v1alpha1.Tekto
 	logger := logging.FromContext(ctx)
 
 	uiConfigMapKeys := []string{"API_URL", "AUTH_BASE_URL", "API_VERSION", "REDIRECT_URI"}
-	_, err := r.getConfigMap(ctx, uiConfigMapName, namespace, uiConfigMapKeys)
+	_, err := r.getConfigMap(ctx, ui, namespace, uiConfigMapKeys)
 	if err != nil {
 		if apierrors.IsNotFound(err) {
-			configMap := createUiConfigMap(uiConfigMapName, namespace, th)
+			configMap := createUiConfigMap(ui, namespace, th)
 			_, err = r.kubeClientSet.CoreV1().ConfigMaps(namespace).Create(ctx, configMap, metav1.CreateOptions{})
 			if err != nil {
 				logger.Error(err)
-				th.Status.MarkUiDependencyMissing(fmt.Sprintf("%s configMap is missing", uiConfigMapName))
+				th.Status.MarkUiDependencyMissing(fmt.Sprintf("%s configMap is missing", ui))
 				return err
 			}
 			return nil
 		}
 		if err == errconfigMapKeyMissing {
-			th.Status.MarkUiDependencyMissing(fmt.Sprintf("%s configMap is missing the keys", uiConfigMapName))
+			th.Status.MarkUiDependencyMissing(fmt.Sprintf("%s configMap is missing the keys", ui))
 			return err
 		} else {
 			logger.Error(err)
diff --git a/pkg/reconciler/openshift/tektonhub/extension.go b/pkg/reconciler/openshift/tektonhub/extension.go
index dd7d00700..ef89f910c 100644
--- a/pkg/reconciler/openshift/tektonhub/extension.go
+++ b/pkg/reconciler/openshift/tektonhub/extension.go
@@ -44,9 +44,9 @@ import (
 )
 
 const (
-	tektonHubAPIResourceKey  string = "api"
-	tektonHubAuthResourceKey string = "auth"
-	tektonHubUiResourceKey   string = "ui"
+	hubprefix               string = "tekton-hub"
+	tektonHubAPIResourceKey string = "api"
+	tektonHubUiResourceKey  string = "ui"
 )
 
 var replaceVal = map[string]string{
@@ -55,6 +55,11 @@ var replaceVal = map[string]string{
 	"POSTGRES_PASSWORD": "POSTGRESQL_PASSWORD",
 }
 
+var (
+	api string = fmt.Sprintf("%s-%s", hubprefix, "api")
+	ui  string = fmt.Sprintf("%s-%s", hubprefix, "ui")
+)
+
 func OpenShiftExtension(ctx context.Context) common.Extension {
 	logger := logging.FromContext(ctx)
 	mfclient, err := mfc.NewClient(injection.GetConfig(ctx))
@@ -110,21 +115,21 @@ func (oe openshiftExtension) PreReconcile(ctx context.Context, tc v1alpha1.Tekto
 	}
 
 	// Get the host of API route
-	apiRoute, err := getRouteHost(&apiRouteManifest, tektonHubAPIResourceKey)
+	apiRoute, err := getRouteHost(&apiRouteManifest, api)
 	if err != nil {
 		return err
 	}
 	th.Status.SetApiRoute(fmt.Sprintf("https://%s", apiRoute))
 
 	// Get the host of Auth route
-	authRoute, err := getRouteHost(&apiRouteManifest, tektonHubAuthResourceKey)
+	authRoute, err := getRouteHost(&apiRouteManifest, "tekton-hub-auth")
 	if err != nil {
 		return err
 	}
 	th.Status.SetAuthRoute(fmt.Sprintf("https://%s", authRoute))
 
 	// Update the secrets of API with the Auth Route value
-	if err := oe.updateApiSecret(ctx, authRoute, targetNs); err != nil {
+	if err := oe.updateApiSecret(ctx, th, authRoute, targetNs); err != nil {
 		return err
 	}
 
@@ -150,7 +155,7 @@ func (oe openshiftExtension) PreReconcile(ctx context.Context, tc v1alpha1.Tekto
 		return err
 	}
 
-	uiRoute, err := getRouteHost(&uiRouteManifest, "ui")
+	uiRoute, err := getRouteHost(&uiRouteManifest, ui)
 	if err != nil {
 		return err
 	}
@@ -169,9 +174,10 @@ func (oe openshiftExtension) Finalize(context.Context, v1alpha1.TektonComponent)
 }
 
 // Updates the AUTH_BASE_URL in the API secret with the Auth Route value
-func (oe openshiftExtension) updateApiSecret(ctx context.Context, authRoute, namespace string) error {
-	secret, err := oe.kubeClientSet.CoreV1().Secrets(namespace).Get(ctx, tektonHubAPIResourceKey, metav1.GetOptions{})
+func (oe openshiftExtension) updateApiSecret(ctx context.Context, th *v1alpha1.TektonHub, authRoute, namespace string) error {
+	secret, err := oe.kubeClientSet.CoreV1().Secrets(namespace).Get(ctx, api, metav1.GetOptions{})
 	if err != nil {
+		th.Status.MarkApiDependencyMissing(fmt.Sprintf("API secret is not present %v", err.Error()))
 		return err
 	}
 
diff --git a/pkg/reconciler/shared/tektonconfig/chain/chain.go b/pkg/reconciler/shared/tektonconfig/chain/chain.go
deleted file mode 100644
index 5b0786f73..000000000
--- a/pkg/reconciler/shared/tektonconfig/chain/chain.go
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
-Copyright 2022 The Tekton Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package chain
-
-import (
-	"context"
-	"errors"
-	"fmt"
-	"reflect"
-
-	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
-	op "github.com/tektoncd/operator/pkg/client/clientset/versioned/typed/operator/v1alpha1"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
-	apierrs "k8s.io/apimachinery/pkg/api/errors"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	"k8s.io/apimachinery/pkg/util/wait"
-)
-
-func EnsureTektonChainExists(ctx context.Context, clients op.TektonChainInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonChain, error) {
-	tcCR, err := GetChain(ctx, clients, v1alpha1.ChainResourceName)
-	if err != nil {
-		if !apierrs.IsNotFound(err) {
-			return nil, err
-		}
-		// if TektonChain CR is not found in the cluster, then create one
-		_, err = CreateChain(ctx, clients, config)
-		if err != nil {
-			return nil, err
-		}
-		return nil, v1alpha1.RECONCILE_AGAIN_ERR
-	}
-
-	// so TektonChain CR does exist in the cluster, checking if any updates are required.
-	// if the chain spec is changed then update the instance
-	tcCR, err = UpdateChain(ctx, tcCR, config, clients)
-	if err != nil {
-		return nil, err
-	}
-
-	ok, err := isTektonChainReady(tcCR, err)
-	if err != nil {
-		return nil, err
-	}
-	if !ok {
-		return nil, v1alpha1.RECONCILE_AGAIN_ERR
-	}
-
-	return tcCR, err
-}
-
-func GetChain(ctx context.Context, clients op.TektonChainInterface, name string) (*v1alpha1.TektonChain, error) {
-	return clients.Get(ctx, name, metav1.GetOptions{})
-}
-
-func CreateChain(ctx context.Context, clients op.TektonChainInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonChain, error) {
-	ownerRef := *metav1.NewControllerRef(config, config.GroupVersionKind())
-	tcCR := &v1alpha1.TektonChain{
-		ObjectMeta: metav1.ObjectMeta{
-			Name:            v1alpha1.ChainResourceName,
-			OwnerReferences: []metav1.OwnerReference{ownerRef},
-		},
-		Spec: v1alpha1.TektonChainSpec{
-			CommonSpec: v1alpha1.CommonSpec{
-				TargetNamespace: config.Spec.TargetNamespace,
-			},
-			Config: config.Spec.Config,
-		},
-	}
-	_, err := clients.Create(ctx, tcCR, metav1.CreateOptions{})
-	if err != nil {
-		return nil, err
-	}
-	return tcCR, err
-}
-
-func UpdateChain(ctx context.Context, tcCR *v1alpha1.TektonChain, config *v1alpha1.TektonConfig, clients op.TektonChainInterface) (*v1alpha1.TektonChain, error) {
-	// if the chain spec is changed then update the instance
-	updated := false
-
-	if config.Spec.TargetNamespace != tcCR.Spec.TargetNamespace {
-		tcCR.Spec.TargetNamespace = config.Spec.TargetNamespace
-		updated = true
-	}
-
-	if !reflect.DeepEqual(tcCR.Spec.Config, config.Spec.Config) {
-		tcCR.Spec.Config = config.Spec.Config
-		updated = true
-	}
-
-	if tcCR.ObjectMeta.OwnerReferences == nil {
-		ownerRef := *metav1.NewControllerRef(config, config.GroupVersionKind())
-		tcCR.ObjectMeta.OwnerReferences = []metav1.OwnerReference{ownerRef}
-		updated = true
-	}
-
-	if updated {
-		_, err := clients.Update(ctx, tcCR, metav1.UpdateOptions{})
-		if err != nil {
-			return nil, err
-		}
-		return nil, v1alpha1.RECONCILE_AGAIN_ERR
-	}
-	return tcCR, nil
-}
-
-// isTektonChainReady will check the status conditions of the TektonChain and return true if the TektonChain is ready.
-func isTektonChainReady(s *v1alpha1.TektonChain, err error) (bool, error) {
-	upgradePending, errInternal := common.CheckUpgradePending(s)
-	if err != nil {
-		return false, errInternal
-	}
-	if upgradePending {
-		return false, v1alpha1.DEPENDENCY_UPGRADE_PENDING_ERR
-	}
-	return s.Status.IsReady(), err
-}
-
-// TektonChainCRDelete deletes TektonChain CR to see if all resources will be deleted
-func TektonChainCRDelete(ctx context.Context, clients op.TektonChainInterface, name string) error {
-	if _, err := GetChain(ctx, clients, v1alpha1.ChainResourceName); err != nil {
-		// nothing to delete if CR does not exist in the cluster
-		if apierrs.IsNotFound(err) {
-			return nil
-		}
-		return err
-	}
-	if err := clients.Delete(ctx, name, metav1.DeleteOptions{}); err != nil {
-		return fmt.Errorf("TektonChain %q failed to delete: %v", name, err)
-	}
-	err := wait.PollImmediate(common.Interval, common.Timeout, func() (bool, error) {
-		_, err := clients.Get(ctx, name, metav1.GetOptions{})
-		if apierrs.IsNotFound(err) {
-			return true, nil
-		}
-		return false, err
-	})
-	if err != nil {
-		return fmt.Errorf("Timed out waiting on TektonChain to delete %v", err)
-	}
-	return verifyNoTektonChainCR(ctx, clients)
-}
-
-func verifyNoTektonChainCR(ctx context.Context, clients op.TektonChainInterface) error {
-	chains, err := clients.List(ctx, metav1.ListOptions{})
-	if err != nil {
-		return err
-	}
-	if len(chains.Items) > 0 {
-		return errors.New("Unable to verify cluster-scoped resources are deleted if any TektonChain exists")
-	}
-	return nil
-}
-
-func GetTektonConfig() *v1alpha1.TektonConfig {
-	return &v1alpha1.TektonConfig{
-		ObjectMeta: metav1.ObjectMeta{
-			Name: v1alpha1.ConfigResourceName,
-		},
-		Spec: v1alpha1.TektonConfigSpec{
-			Profile: "all",
-			CommonSpec: v1alpha1.CommonSpec{
-				TargetNamespace: "tekton-pipelines",
-			},
-		},
-	}
-}
diff --git a/pkg/reconciler/shared/tektonconfig/controller.go b/pkg/reconciler/shared/tektonconfig/controller.go
index bb308d29c..66031b73f 100644
--- a/pkg/reconciler/shared/tektonconfig/controller.go
+++ b/pkg/reconciler/shared/tektonconfig/controller.go
@@ -26,7 +26,6 @@ import (
 	mf "github.com/manifestival/manifestival"
 	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	operatorclient "github.com/tektoncd/operator/pkg/client/injection/client"
-	tektonChaininformer "github.com/tektoncd/operator/pkg/client/injection/informers/operator/v1alpha1/tektonchain"
 	tektonConfiginformer "github.com/tektoncd/operator/pkg/client/injection/informers/operator/v1alpha1/tektonconfig"
 	tektonInstallerinformer "github.com/tektoncd/operator/pkg/client/injection/informers/operator/v1alpha1/tektoninstallerset"
 	tektonPipelineinformer "github.com/tektoncd/operator/pkg/client/injection/informers/operator/v1alpha1/tektonpipeline"
@@ -92,11 +91,6 @@ func NewExtensibleController(generator common.ExtensionGenerator) injection.Cont
 			Handler:    controller.HandleAll(impl.EnqueueControllerOf),
 		})
 
-		tektonChaininformer.Get(ctx).Informer().AddEventHandler(cache.FilteringResourceEventHandler{
-			FilterFunc: controller.FilterController(&v1alpha1.TektonConfig{}),
-			Handler:    controller.HandleAll(impl.EnqueueControllerOf),
-		})
-
 		tektonInstallerinformer.Get(ctx).Informer().AddEventHandler(cache.FilteringResourceEventHandler{
 			FilterFunc: controller.FilterController(&v1alpha1.TektonConfig{}),
 			Handler:    controller.HandleAll(impl.EnqueueControllerOf),
diff --git a/pkg/reconciler/shared/tektonconfig/tektonconfig.go b/pkg/reconciler/shared/tektonconfig/tektonconfig.go
index 55fdc750b..3fa2fc518 100644
--- a/pkg/reconciler/shared/tektonconfig/tektonconfig.go
+++ b/pkg/reconciler/shared/tektonconfig/tektonconfig.go
@@ -26,7 +26,6 @@ import (
 	clientset "github.com/tektoncd/operator/pkg/client/clientset/versioned"
 	tektonConfigreconciler "github.com/tektoncd/operator/pkg/client/injection/reconciler/operator/v1alpha1/tektonconfig"
 	"github.com/tektoncd/operator/pkg/reconciler/common"
-	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/chain"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/pipeline"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/trigger"
 	"k8s.io/apimachinery/pkg/api/errors"
@@ -145,21 +144,6 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tc *v1alpha1.TektonConfi
 		}
 	}
 
-	// Create TektonChain CR if profile is all
-	if tc.Spec.Profile == v1alpha1.ProfileAll {
-		if _, err := chain.EnsureTektonChainExists(ctx, r.operatorClientSet.OperatorV1alpha1().TektonChains(), tc); err != nil {
-			tc.Status.MarkComponentNotReady(fmt.Sprintf("TektonChain: %s", err.Error()))
-			r.enqueueAfter(tc, 10*time.Second)
-			return err
-		}
-	} else {
-		if err := chain.TektonChainCRDelete(ctx, r.operatorClientSet.OperatorV1alpha1().TektonChains(), v1alpha1.ChainResourceName); err != nil {
-			tc.Status.MarkComponentNotReady(fmt.Sprintf("TektonChain: %s", err.Error()))
-			r.enqueueAfter(tc, 10*time.Second)
-			return err
-		}
-	}
-
 	if err := common.Prune(ctx, r.kubeClientSet, tc); err != nil {
 		tc.Status.MarkComponentNotReady(fmt.Sprintf("tekton-resource-pruner: %s", err.Error()))
 		logger.Error(err)


Test patch:
diff --git a/pkg/apis/operator/v1alpha1/tektonhub_default_test.go b/pkg/apis/operator/v1alpha1/tektonhub_default_test.go
index c85021241..fa50eb18b 100644
--- a/pkg/apis/operator/v1alpha1/tektonhub_default_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonhub_default_test.go
@@ -35,12 +35,12 @@ func TestSetDefault(t *testing.T) {
 		Spec: TektonHubSpec{
 			Api: ApiSpec{
 				HubConfigUrl:  "https://hubconfig.url",
-				ApiSecretName: "api",
+				ApiSecretName: "tetkon-hub-api",
 			},
 		},
 	}
 	th.SetDefaults(context.TODO())
-	if th.Spec.Db.DbSecretName != "db" {
+	if th.Spec.Db.DbSecretName != "tekton-hub-db" {
 		t.Error("Setting default failed for TektonHub (spec.db.dbSecretName)")
 	}
 	if th.Spec.TargetNamespace != "tekton-pipelines" {
diff --git a/pkg/apis/operator/v1alpha1/tektonhub_validation_test.go b/pkg/apis/operator/v1alpha1/tektonhub_validation_test.go
index 130245ffc..2be2247dd 100644
--- a/pkg/apis/operator/v1alpha1/tektonhub_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonhub_validation_test.go
@@ -87,10 +87,10 @@ func Test_ValidateTektonHub_MissingHubConfigUrl(t *testing.T) {
 		},
 		Spec: TektonHubSpec{
 			Db: DbSpec{
-				DbSecretName: "db",
+				DbSecretName: "tekton-hub-db",
 			},
 			Api: ApiSpec{
-				ApiSecretName: "api",
+				ApiSecretName: "tekton-hub-api",
 			},
 		},
 	}
@@ -111,7 +111,7 @@ func Test_ValidateTektonHub_InvalidDbSecretName(t *testing.T) {
 				DbSecretName: "invalid-value",
 			},
 			Api: ApiSpec{
-				ApiSecretName: "api",
+				ApiSecretName: "tekton-hub-api",
 				HubConfigUrl:  "https://hubconfigurl.com",
 			},
 		},
@@ -130,7 +130,7 @@ func Test_ValidateTektonHub_InvalidApiSecretName(t *testing.T) {
 		},
 		Spec: TektonHubSpec{
 			Db: DbSpec{
-				DbSecretName: "db",
+				DbSecretName: "tekton-hub-db",
 			},
 			Api: ApiSpec{
 				ApiSecretName: "invalid-value",
@@ -152,10 +152,10 @@ func Test_ValidateTektonHub_InvalidHubConfigUrl(t *testing.T) {
 		},
 		Spec: TektonHubSpec{
 			Db: DbSpec{
-				DbSecretName: "db",
+				DbSecretName: "tekton-hub-db",
 			},
 			Api: ApiSpec{
-				ApiSecretName: "api",
+				ApiSecretName: "tekton-hub-api",
 				HubConfigUrl:  "hubconfigurl",
 			},
 		},
diff --git a/pkg/reconciler/shared/tektonconfig/chain/chain_test.go b/pkg/reconciler/shared/tektonconfig/chain/chain_test.go
deleted file mode 100644
index e2f2e546c..000000000
--- a/pkg/reconciler/shared/tektonconfig/chain/chain_test.go
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2022 The Tekton Authors
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package chain
-
-import (
-	"testing"
-
-	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
-	"github.com/tektoncd/operator/pkg/client/injection/client/fake"
-	util "github.com/tektoncd/operator/pkg/reconciler/common/testing"
-	ts "knative.dev/pkg/reconciler/testing"
-)
-
-func TestTektonChainCreateAndDeleteCR(t *testing.T) {
-	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
-	c := fake.Get(ctx)
-	tConfig := GetTektonConfig()
-	_, err := EnsureTektonChainExists(ctx, c.OperatorV1alpha1().TektonChains(), tConfig)
-	util.AssertNotEqual(t, err, nil)
-	// recheck chain creation
-	_, err = EnsureTektonChainExists(ctx, c.OperatorV1alpha1().TektonChains(), tConfig)
-	util.AssertNotEqual(t, err, nil)
-	err = TektonChainCRDelete(ctx, c.OperatorV1alpha1().TektonChains(), v1alpha1.ChainResourceName)
-	util.AssertEqual(t, err, nil)
-}
-
-func TestTektonChainCRDelete(t *testing.T) {
-	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
-	c := fake.Get(ctx)
-	err := TektonChainCRDelete(ctx, c.OperatorV1alpha1().TektonChains(), v1alpha1.ChainResourceName)
-	util.AssertEqual(t, err, nil)
-}
diff --git a/test/e2e/common/00_tektonconfigdeployment_test.go b/test/e2e/common/00_tektonconfigdeployment_test.go
index c5647275f..ce3c6e189 100644
--- a/test/e2e/common/00_tektonconfigdeployment_test.go
+++ b/test/e2e/common/00_tektonconfigdeployment_test.go
@@ -121,11 +121,6 @@ func runFeatureTest(t *testing.T, clients *utils.Clients, tc *v1alpha1.TektonCon
 			}
 		}
 
-		// make sure chain is created
-		if _, err := clients.Operator.TektonChains().Get(context.TODO(), v1alpha1.ChainResourceName, metav1.GetOptions{}); err != nil {
-			t.Fatalf("failed to get tektonchain")
-		}
-
 		// change the profile and make sure it is reflected on the cluster
 		// ALL -> BASIC
 		tc.Spec.Profile = v1alpha1.ProfileBasic
@@ -153,11 +148,6 @@ func runFeatureTest(t *testing.T, clients *utils.Clients, tc *v1alpha1.TektonCon
 				t.Fatalf("expected error but got nil, tektondashboard not deleted")
 			}
 		}
-
-		// make sure chain is deleted
-		if _, err := clients.Operator.TektonChains().Get(context.TODO(), v1alpha1.ChainResourceName, metav1.GetOptions{}); err == nil {
-			t.Fatalf("expected error but got nil, tektonchain not deleted")
-		}
 	})
 
 	t.Run("change-spec-configuration-and-validate", func(t *testing.T) {