Repository: tektoncd/operator
Pull request #501 (2021-11-11 09:16:53)

Validates component CR name in webhook
  - This patch adds a check where it validates the name
    of the component CR before applying it on the cluster

  - This patch also moves all the constants to `pkg/apis/const.go`

Fixes: #497

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)
- [x] 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 **savitaashture**
You can assign the PR to them by writing `/assign @savitaashture` 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":["savitaashture"]} -->
tekton-robot: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458725536288215042/artifacts/line-cov.html#file0) | 95.0% | 95.5% | 0.5
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458725536288215042/artifacts/line-cov.html#file1) | 88.2% | 88.9% | 0.7
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458725536288215042/artifacts/line-cov.html#file3) | 76.9% | 80.0% | 3.1
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458725536288215042/artifacts/line-cov.html#file4) | 90.0% | 91.7% | 1.7

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

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

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | 2a82756e24c90235baa58441021dbc5d6f6f1e4f | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-unit-tests/1458725536292409344/) | `/test pull-tekton-operator-unit-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458730317748637699/artifacts/line-cov.html#file0) | 95.0% | 95.5% | 0.5
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458730317748637699/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458730317748637699/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458730317748637699/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458730317748637699/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

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

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

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | 4cbadef9817e632d28f5350b031b503cdd7e3609 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-unit-tests/1458730317748637698/) | `/test pull-tekton-operator-unit-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458732078869778434/artifacts/line-cov.html#file0) | 95.0% | 90.9% | -4.1
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458732078869778434/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458732078869778434/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458732078869778434/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458732078869778434/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

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

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

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | a28d935eb5e9e1c1bf554a508ba1b50b65a489d9 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-integration-tests/1458732078869778432/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | a28d935eb5e9e1c1bf554a508ba1b50b65a489d9 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-integration-tests/1458738874263015424/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | a28d935eb5e9e1c1bf554a508ba1b50b65a489d9 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-integration-tests/1458738874263015424/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458753847265595393/artifacts/line-cov.html#file0) | 95.0% | 90.9% | -4.1
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458753847265595393/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458753847265595393/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458753847265595393/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458753847265595393/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

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

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

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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 | df78e1fd5dab0b918bf026e2dfeb1717ae626c05 | [link](https://tekton-releases.appspot.com/build/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-integration-tests/1458753847265595392/) | `/test pull-tekton-operator-integration-tests`

[Full PR test history](https://tekton-releases.appspot.com/pr/tektoncd_operator/501). [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: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458777755398180866/artifacts/line-cov.html#file0) | 95.0% | 90.9% | -4.1
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458777755398180866/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458777755398180866/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458777755398180866/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1458777755398180866/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

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/501#issuecomment-966787154" 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: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459025386703687680/artifacts/line-cov.html#file0) | 95.0% | 90.9% | -4.1
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459025386703687680/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459025386703687680/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459025386703687680/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459025386703687680/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

tekton-robot: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459026519169961987/artifacts/line-cov.html#file0) | 95.0% | 90.9% | -4.1
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459026519169961987/artifacts/line-cov.html#file1) | 88.2% | 86.1% | -2.1
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459026519169961987/artifacts/line-cov.html#file2) | 100.0% | 85.7% | -14.3
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459026519169961987/artifacts/line-cov.html#file3) | 76.9% | 73.3% | -3.6
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459026519169961987/artifacts/line-cov.html#file4) | 90.0% | 83.3% | -6.7

tekton-robot: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459073453595299842/artifacts/line-cov.html#file0) | 95.0% | 87.0% | -8.0
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459073453595299842/artifacts/line-cov.html#file1) | 88.2% | 83.8% | -4.5
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459073453595299842/artifacts/line-cov.html#file2) | 100.0% | 75.0% | -25.0
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459073453595299842/artifacts/line-cov.html#file3) | 76.9% | 68.8% | -8.2
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1459073453595299842/artifacts/line-cov.html#file4) | 90.0% | 76.9% | -13.1

tekton-robot: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460551693862178818/artifacts/line-cov.html#file0) | 95.0% | 87.0% | -8.0
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460551693862178818/artifacts/line-cov.html#file1) | 88.2% | 83.8% | -4.5
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460551693862178818/artifacts/line-cov.html#file2) | 100.0% | 75.0% | -25.0
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460551693862178818/artifacts/line-cov.html#file3) | 76.9% | 68.8% | -8.2
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460551693862178818/artifacts/line-cov.html#file4) | 90.0% | 76.9% | -13.1

tekton-robot: The following is the coverage report on the affected files.
Say `/test pull-tekton-operator-go-coverage` to re-run this coverage report

File | Old Coverage | New Coverage | Delta
---- |:------------:|:------------:|:-----:
[pkg/apis/operator/v1alpha1/tektonaddon_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460557355736371200/artifacts/line-cov.html#file0) | 95.0% | 87.0% | -8.0
[pkg/apis/operator/v1alpha1/tektonconfig_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460557355736371200/artifacts/line-cov.html#file1) | 88.2% | 83.8% | -4.5
[pkg/apis/operator/v1alpha1/tektondashboard_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460557355736371200/artifacts/line-cov.html#file2) | 100.0% | 75.0% | -25.0
[pkg/apis/operator/v1alpha1/tektonpipeline_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460557355736371200/artifacts/line-cov.html#file3) | 76.9% | 68.8% | -8.2
[pkg/apis/operator/v1alpha1/tektontrigger_validation.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/501/pull-tekton-operator-go-coverage/1460557355736371200/artifacts/line-cov.html#file4) | 90.0% | 76.9% | -13.1


Patch:
diff --git a/pkg/apis/operator/v1alpha1/const.go b/pkg/apis/operator/v1alpha1/const.go
index 1ef9aaa73..02da1c189 100644
--- a/pkg/apis/operator/v1alpha1/const.go
+++ b/pkg/apis/operator/v1alpha1/const.go
@@ -16,7 +16,9 @@ limitations under the License.
 
 package v1alpha1
 
-import "fmt"
+import (
+	"fmt"
+)
 
 var (
 	// RECONCILE_AGAIN_ERR
@@ -62,3 +64,12 @@ var (
 		PipelineTemplatesParam: defaultParamValue,
 	}
 )
+
+var (
+	PipelineResourceName  = "pipeline"
+	TriggerResourceName   = "trigger"
+	DashboardResourceName = "dashboard"
+	AddonResourceName     = "addon"
+	ConfigResourceName    = "config"
+	ResultResourceName    = "result"
+)
diff --git a/pkg/apis/operator/v1alpha1/tektonaddon_validation.go b/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
index 48d8c2180..4379bdcd9 100644
--- a/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"context"
+	"fmt"
 
 	"knative.dev/pkg/apis"
 )
@@ -28,6 +29,11 @@ func (ta *TektonAddon) Validate(ctx context.Context) (errs *apis.FieldError) {
 		return nil
 	}
 
+	if ta.GetName() != AddonResourceName {
+		errMsg := fmt.Sprintf("metadata.name,  Only one instance of TektonAddon is allowed by name, %s", AddonResourceName)
+		errs = errs.Also(apis.ErrInvalidValue(ta.GetName(), errMsg))
+	}
+
 	if ta.Spec.TargetNamespace == "" {
 		errs = errs.Also(apis.ErrMissingField("spec.targetNamespace"))
 	}
diff --git a/pkg/apis/operator/v1alpha1/tektonconfig_validation.go b/pkg/apis/operator/v1alpha1/tektonconfig_validation.go
index d5ee1802e..89af6703c 100644
--- a/pkg/apis/operator/v1alpha1/tektonconfig_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektonconfig_validation.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"context"
+	"fmt"
 
 	"knative.dev/pkg/apis"
 )
@@ -28,6 +29,11 @@ func (tc *TektonConfig) Validate(ctx context.Context) (errs *apis.FieldError) {
 		return nil
 	}
 
+	if tc.GetName() != ConfigResourceName {
+		errMsg := fmt.Sprintf("metadata.name,  Only one instance of TektonConfig is allowed by name, %s", ConfigResourceName)
+		errs = errs.Also(apis.ErrInvalidValue(tc.GetName(), errMsg))
+	}
+
 	if tc.Spec.TargetNamespace == "" {
 		errs = errs.Also(apis.ErrMissingField("spec.targetNamespace"))
 	}
diff --git a/pkg/apis/operator/v1alpha1/tektondashboard_validation.go b/pkg/apis/operator/v1alpha1/tektondashboard_validation.go
index 186f8473d..a3665ac97 100644
--- a/pkg/apis/operator/v1alpha1/tektondashboard_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektondashboard_validation.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"context"
+	"fmt"
 
 	"knative.dev/pkg/apis"
 )
@@ -28,6 +29,11 @@ func (td *TektonDashboard) Validate(ctx context.Context) (errs *apis.FieldError)
 		return nil
 	}
 
+	if td.GetName() != DashboardResourceName {
+		errMsg := fmt.Sprintf("metadata.name,  Only one instance of TektonDashboard is allowed by name, %s", DashboardResourceName)
+		errs = errs.Also(apis.ErrInvalidValue(td.GetName(), errMsg))
+	}
+
 	if td.Spec.TargetNamespace == "" {
 		errs = errs.Also(apis.ErrMissingField("spec.targetNamespace"))
 	}
diff --git a/pkg/apis/operator/v1alpha1/tektonpipeline_validation.go b/pkg/apis/operator/v1alpha1/tektonpipeline_validation.go
index 94578665c..d8dd6376a 100644
--- a/pkg/apis/operator/v1alpha1/tektonpipeline_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektonpipeline_validation.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"context"
+	"fmt"
 
 	"knative.dev/pkg/apis"
 )
@@ -28,6 +29,11 @@ func (tp *TektonPipeline) Validate(ctx context.Context) (errs *apis.FieldError)
 		return nil
 	}
 
+	if tp.GetName() != PipelineResourceName {
+		errMsg := fmt.Sprintf("metadata.name, Only one instance of TektonPipeline is allowed by name, %s", PipelineResourceName)
+		errs = errs.Also(apis.ErrInvalidValue(tp.GetName(), errMsg))
+	}
+
 	if tp.Spec.TargetNamespace == "" {
 		errs = errs.Also(apis.ErrMissingField("spec.targetNamespace"))
 	}
diff --git a/pkg/apis/operator/v1alpha1/tektontrigger_validation.go b/pkg/apis/operator/v1alpha1/tektontrigger_validation.go
index e3e58b513..45983feb9 100644
--- a/pkg/apis/operator/v1alpha1/tektontrigger_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektontrigger_validation.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"context"
+	"fmt"
 
 	"knative.dev/pkg/apis"
 )
@@ -28,6 +29,11 @@ func (tr *TektonTrigger) Validate(ctx context.Context) (errs *apis.FieldError) {
 		return nil
 	}
 
+	if tr.GetName() != TriggerResourceName {
+		errMsg := fmt.Sprintf("metadata.name,  Only one instance of TektonTrigger is allowed by name, %s", TriggerResourceName)
+		errs = errs.Also(apis.ErrInvalidValue(tr.GetName(), errMsg))
+	}
+
 	if tr.Spec.TargetNamespace == "" {
 		errs = errs.Also(apis.ErrMissingField("spec.targetNamespace"))
 	}
diff --git a/pkg/reconciler/common/common.go b/pkg/reconciler/common/common.go
index 1a84c75bb..4e6d18261 100644
--- a/pkg/reconciler/common/common.go
+++ b/pkg/reconciler/common/common.go
@@ -27,19 +27,10 @@ import (
 )
 
 var (
+	Interval = 10 * time.Second
+	Timeout  = 1 * time.Minute
 	// DefaultSA is the default service account
-	DefaultSA             = "pipeline"
-	PipelineResourceName  = "pipeline"
-	TriggerResourceName   = "trigger"
-	DashboardResourceName = "dashboard"
-	AddonResourceName     = "addon"
-	ConfigResourceName    = "config"
-	ResultResourceName    = "result"
-	ProfileLite           = "lite"
-	ProfileBasic          = "basic"
-	ProfileAll            = "all"
-	Interval              = 10 * time.Second
-	Timeout               = 1 * time.Minute
+	DefaultSA = "pipeline"
 )
 
 const (
@@ -68,7 +59,7 @@ func PipelineReady(informer informer.TektonPipelineInformer) (*v1alpha1.TektonPi
 }
 
 func getPipelineRes(informer informer.TektonPipelineInformer) (*v1alpha1.TektonPipeline, error) {
-	res, err := informer.Lister().Get(PipelineResourceName)
+	res, err := informer.Lister().Get(v1alpha1.PipelineResourceName)
 	return res, err
 }
 
@@ -90,6 +81,6 @@ func TriggerReady(informer informer.TektonTriggerInformer) (*v1alpha1.TektonTrig
 }
 
 func getTriggerRes(informer informer.TektonTriggerInformer) (*v1alpha1.TektonTrigger, error) {
-	res, err := informer.Lister().Get(TriggerResourceName)
+	res, err := informer.Lister().Get(v1alpha1.TriggerResourceName)
 	return res, err
 }
diff --git a/pkg/reconciler/kubernetes/tektonconfig/extension.go b/pkg/reconciler/kubernetes/tektonconfig/extension.go
index 75132d759..d68a27772 100644
--- a/pkg/reconciler/kubernetes/tektonconfig/extension.go
+++ b/pkg/reconciler/kubernetes/tektonconfig/extension.go
@@ -46,20 +46,20 @@ func (oe kubernetesExtension) PreReconcile(context.Context, v1alpha1.TektonCompo
 func (oe kubernetesExtension) PostReconcile(ctx context.Context, comp v1alpha1.TektonComponent) error {
 	configInstance := comp.(*v1alpha1.TektonConfig)
 
-	if configInstance.Spec.Profile == common.ProfileAll {
+	if configInstance.Spec.Profile == v1alpha1.ProfileAll {
 		return extension.CreateDashboardCR(comp, oe.operatorClientSet.OperatorV1alpha1())
 	}
 
-	if configInstance.Spec.Profile == common.ProfileLite || configInstance.Spec.Profile == common.ProfileBasic {
-		return extension.TektonDashboardCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonDashboards(), common.DashboardResourceName)
+	if configInstance.Spec.Profile == v1alpha1.ProfileLite || configInstance.Spec.Profile == v1alpha1.ProfileBasic {
+		return extension.TektonDashboardCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonDashboards(), v1alpha1.DashboardResourceName)
 	}
 
 	return nil
 }
 func (oe kubernetesExtension) Finalize(ctx context.Context, comp v1alpha1.TektonComponent) error {
 	configInstance := comp.(*v1alpha1.TektonConfig)
-	if configInstance.Spec.Profile == common.ProfileAll {
-		return extension.TektonDashboardCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonDashboards(), common.DashboardResourceName)
+	if configInstance.Spec.Profile == v1alpha1.ProfileAll {
+		return extension.TektonDashboardCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonDashboards(), v1alpha1.DashboardResourceName)
 	}
 	return nil
 }
diff --git a/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard.go b/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard.go
index 3cb4b237a..7beb6d6d8 100644
--- a/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard.go
+++ b/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard.go
@@ -38,7 +38,7 @@ func CreateDashboardCR(instance v1alpha1.TektonComponent, client operatorv1alpha
 	if _, err := ensureTektonDashboardExists(client.TektonDashboards(), configInstance); err != nil {
 		return errors.New(err.Error())
 	}
-	if _, err := waitForTektonDashboardState(client.TektonDashboards(), common.DashboardResourceName,
+	if _, err := waitForTektonDashboardState(client.TektonDashboards(), v1alpha1.DashboardResourceName,
 		isTektonDashboardReady); err != nil {
 		log.Println("TektonDashboard is not in ready state: ", err)
 		return err
@@ -47,7 +47,7 @@ func CreateDashboardCR(instance v1alpha1.TektonComponent, client operatorv1alpha
 }
 
 func ensureTektonDashboardExists(clients op.TektonDashboardInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonDashboard, error) {
-	tdCR, err := GetDashboard(clients, common.DashboardResourceName)
+	tdCR, err := GetDashboard(clients, v1alpha1.DashboardResourceName)
 	if err == nil {
 		// if the dashboard spec is changed then update the instance
 		updated := false
@@ -83,7 +83,7 @@ func ensureTektonDashboardExists(clients op.TektonDashboardInterface, config *v1
 	if apierrs.IsNotFound(err) {
 		tdCR = &v1alpha1.TektonDashboard{
 			ObjectMeta: metav1.ObjectMeta{
-				Name: common.DashboardResourceName,
+				Name: v1alpha1.DashboardResourceName,
 			},
 			Spec: v1alpha1.TektonDashboardSpec{
 				CommonSpec: v1alpha1.CommonSpec{
@@ -128,7 +128,7 @@ func isTektonDashboardReady(s *v1alpha1.TektonDashboard, err error) (bool, error
 
 // TektonDashboardCRDelete deletes tha TektonDashboard to see if all resources will be deleted
 func TektonDashboardCRDelete(clients op.TektonDashboardInterface, name string) error {
-	if _, err := GetDashboard(clients, common.DashboardResourceName); err != nil {
+	if _, err := GetDashboard(clients, v1alpha1.DashboardResourceName); err != nil {
 		if apierrs.IsNotFound(err) {
 			return nil
 		}
diff --git a/pkg/reconciler/kubernetes/tektonpipeline/tektonpipeline.go b/pkg/reconciler/kubernetes/tektonpipeline/tektonpipeline.go
index c09a92882..aa99dba31 100644
--- a/pkg/reconciler/kubernetes/tektonpipeline/tektonpipeline.go
+++ b/pkg/reconciler/kubernetes/tektonpipeline/tektonpipeline.go
@@ -31,6 +31,7 @@ import (
 	corev1 "k8s.io/api/core/v1"
 	apierrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"knative.dev/pkg/apis"
 	"knative.dev/pkg/logging"
 	pkgreconciler "knative.dev/pkg/reconciler"
@@ -106,9 +107,9 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tp *v1alpha1.TektonPipel
 	logger := logging.FromContext(ctx)
 	tp.Status.InitializeConditions()
 
-	if tp.GetName() != common.PipelineResourceName {
+	if tp.GetName() != v1alpha1.PipelineResourceName {
 		msg := fmt.Sprintf("Resource ignored, Expected Name: %s, Got Name: %s",
-			common.PipelineResourceName,
+			v1alpha1.PipelineResourceName,
 			tp.GetName(),
 		)
 		logger.Error(msg)
@@ -262,6 +263,11 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tp *v1alpha1.TektonPipel
 	// Mark PostReconcile Complete
 	tp.Status.MarkPostReconcilerComplete()
 
+	// Update the object for any spec changes
+	if _, err := r.operatorClientSet.OperatorV1alpha1().TektonPipelines().Update(ctx, tp, v1.UpdateOptions{}); err != nil {
+		return err
+	}
+
 	return nil
 }
 
@@ -312,7 +318,7 @@ func makeInstallerSet(tp *v1alpha1.TektonPipeline, manifest mf.Manifest, tpSpecH
 	ownerRef := *metav1.NewControllerRef(tp, tp.GetGroupVersionKind())
 	return &v1alpha1.TektonInstallerSet{
 		ObjectMeta: metav1.ObjectMeta{
-			GenerateName: fmt.Sprintf("%s-", common.PipelineResourceName),
+			GenerateName: fmt.Sprintf("%s-", v1alpha1.PipelineResourceName),
 			Labels: map[string]string{
 				createdByKey: createdByValue,
 			},
diff --git a/pkg/reconciler/kubernetes/tektonresult/tektonresult.go b/pkg/reconciler/kubernetes/tektonresult/tektonresult.go
index 69a8d4503..b237bdf3d 100644
--- a/pkg/reconciler/kubernetes/tektonresult/tektonresult.go
+++ b/pkg/reconciler/kubernetes/tektonresult/tektonresult.go
@@ -101,9 +101,9 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tr *v1alpha1.TektonResul
 
 	logger.Infow("Reconciling TektonResults", "status", tr.Status)
 
-	if tr.GetName() != common.ResultResourceName {
+	if tr.GetName() != v1alpha1.ResultResourceName {
 		msg := fmt.Sprintf("Resource ignored, Expected Name: %s, Got Name: %s",
-			common.ResultResourceName,
+			v1alpha1.ResultResourceName,
 			tr.GetName(),
 		)
 		logger.Error(msg)
diff --git a/pkg/reconciler/kubernetes/tektontrigger/tektontrigger.go b/pkg/reconciler/kubernetes/tektontrigger/tektontrigger.go
index 00ac22260..1050cf8a9 100644
--- a/pkg/reconciler/kubernetes/tektontrigger/tektontrigger.go
+++ b/pkg/reconciler/kubernetes/tektontrigger/tektontrigger.go
@@ -32,6 +32,7 @@ import (
 	corev1 "k8s.io/api/core/v1"
 	apierrors "k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"knative.dev/pkg/apis"
 	"knative.dev/pkg/logging"
 	pkgreconciler "knative.dev/pkg/reconciler"
@@ -106,9 +107,9 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tt *v1alpha1.TektonTrigg
 	logger := logging.FromContext(ctx)
 	tt.Status.InitializeConditions()
 
-	if tt.GetName() != common.TriggerResourceName {
+	if tt.GetName() != v1alpha1.TriggerResourceName {
 		msg := fmt.Sprintf("Resource ignored, Expected Name: %s, Got Name: %s",
-			common.TriggerResourceName,
+			v1alpha1.TriggerResourceName,
 			tt.GetName(),
 		)
 		logger.Error(msg)
@@ -283,6 +284,11 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tt *v1alpha1.TektonTrigg
 	// Mark PostReconcile Complete
 	tt.Status.MarkPostReconcilerComplete()
 
+	// Update the object for any spec changes
+	if _, err := r.operatorClientSet.OperatorV1alpha1().TektonTriggers().Update(ctx, tt, v1.UpdateOptions{}); err != nil {
+		return err
+	}
+
 	return nil
 }
 
@@ -352,7 +358,7 @@ func makeInstallerSet(tt *v1alpha1.TektonTrigger, manifest mf.Manifest, ttSpecHa
 	ownerRef := *metav1.NewControllerRef(tt, tt.GetGroupVersionKind())
 	return &v1alpha1.TektonInstallerSet{
 		ObjectMeta: metav1.ObjectMeta{
-			GenerateName: fmt.Sprintf("%s-", common.TriggerResourceName),
+			GenerateName: fmt.Sprintf("%s-", v1alpha1.TriggerResourceName),
 			Labels: map[string]string{
 				createdByKey: createdByValue,
 			},
diff --git a/pkg/reconciler/openshift/tektonaddon/tektonaddon.go b/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
index c893ac1e0..bb2ca2293 100644
--- a/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
+++ b/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
@@ -120,9 +120,9 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ta *v1alpha1.TektonAddon
 	logger := logging.FromContext(ctx)
 	ta.Status.InitializeConditions()
 
-	if ta.GetName() != common.AddonResourceName {
+	if ta.GetName() != v1alpha1.AddonResourceName {
 		msg := fmt.Sprintf("Resource ignored, Expected Name: %s, Got Name: %s",
-			common.AddonResourceName,
+			v1alpha1.AddonResourceName,
 			ta.GetName(),
 		)
 		logger.Error(msg)
diff --git a/pkg/reconciler/openshift/tektonconfig/extension.go b/pkg/reconciler/openshift/tektonconfig/extension.go
index 9d905e5e9..ff5230f70 100644
--- a/pkg/reconciler/openshift/tektonconfig/extension.go
+++ b/pkg/reconciler/openshift/tektonconfig/extension.go
@@ -29,7 +29,6 @@ import (
 	openshiftPipeline "github.com/tektoncd/operator/pkg/reconciler/openshift/tektonpipeline"
 	openshiftTrigger "github.com/tektoncd/operator/pkg/reconciler/openshift/tektontrigger"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 	kubeclient "knative.dev/pkg/client/injection/kube/client"
 )
@@ -63,17 +62,10 @@ func (oe openshiftExtension) PreReconcile(ctx context.Context, tc v1alpha1.Tekto
 		tektonConfig:      config,
 	}
 
-	pipelineUpdated := openshiftPipeline.SetDefault(&config.Spec.Pipeline)
-	triggerUpdated := openshiftTrigger.SetDefault(&config.Spec.Trigger.TriggersProperties)
-	if pipelineUpdated || triggerUpdated || r.setDefault() {
-		if _, err := oe.operatorClientSet.OperatorV1alpha1().TektonConfigs().Update(ctx, config, v1.UpdateOptions{}); err != nil {
-			return err
-		}
-
-		// here we return an error intentionally so that we reconcile again
-		// and proceed further with an updated object
-		return v1alpha1.RECONCILE_AGAIN_ERR
-	}
+	// set openshift specific defaults
+	openshiftPipeline.SetDefault(&config.Spec.Pipeline)
+	openshiftTrigger.SetDefault(&config.Spec.Trigger.TriggersProperties)
+	r.setDefault()
 
 	createRBACResource := true
 	for _, v := range config.Spec.Params {
@@ -108,7 +100,7 @@ func (oe openshiftExtension) PostReconcile(ctx context.Context, comp v1alpha1.Te
 	}
 
 	if configInstance.Spec.Profile == v1alpha1.ProfileBasic || configInstance.Spec.Profile == v1alpha1.ProfileLite {
-		return extension.TektonAddonCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonAddons(), common.AddonResourceName)
+		return extension.TektonAddonCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonAddons(), v1alpha1.AddonResourceName)
 	}
 
 	return nil
@@ -116,7 +108,7 @@ func (oe openshiftExtension) PostReconcile(ctx context.Context, comp v1alpha1.Te
 func (oe openshiftExtension) Finalize(ctx context.Context, comp v1alpha1.TektonComponent) error {
 	configInstance := comp.(*v1alpha1.TektonConfig)
 	if configInstance.Spec.Profile == v1alpha1.ProfileAll {
-		if err := extension.TektonAddonCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonAddons(), common.AddonResourceName); err != nil {
+		if err := extension.TektonAddonCRDelete(oe.operatorClientSet.OperatorV1alpha1().TektonAddons(), v1alpha1.AddonResourceName); err != nil {
 			return err
 		}
 	}
diff --git a/pkg/reconciler/openshift/tektonconfig/extension/addon.go b/pkg/reconciler/openshift/tektonconfig/extension/addon.go
index 50f9e57dc..435908334 100644
--- a/pkg/reconciler/openshift/tektonconfig/extension/addon.go
+++ b/pkg/reconciler/openshift/tektonconfig/extension/addon.go
@@ -38,7 +38,7 @@ func CreateAddonCR(instance v1alpha1.TektonComponent, client operatorv1alpha1.Op
 	if _, err := ensureTektonAddonExists(client.TektonAddons(), configInstance); err != nil {
 		return errors.New(err.Error())
 	}
-	if _, err := waitForTektonAddonState(client.TektonAddons(), common.AddonResourceName,
+	if _, err := waitForTektonAddonState(client.TektonAddons(), v1alpha1.AddonResourceName,
 		isTektonAddonReady); err != nil {
 		log.Println("TektonAddon is not in ready state: ", err)
 		return err
@@ -47,7 +47,7 @@ func CreateAddonCR(instance v1alpha1.TektonComponent, client operatorv1alpha1.Op
 }
 
 func ensureTektonAddonExists(clients op.TektonAddonInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonAddon, error) {
-	taCR, err := GetAddon(clients, common.AddonResourceName)
+	taCR, err := GetAddon(clients, v1alpha1.AddonResourceName)
 	if err == nil {
 		// if the addon spec is changed then update the instance
 		updated := false
@@ -80,7 +80,7 @@ func ensureTektonAddonExists(clients op.TektonAddonInterface, config *v1alpha1.T
 	if apierrs.IsNotFound(err) {
 		taCR = &v1alpha1.TektonAddon{
 			ObjectMeta: metav1.ObjectMeta{
-				Name:            common.AddonResourceName,
+				Name:            v1alpha1.AddonResourceName,
 				OwnerReferences: []metav1.OwnerReference{ownerRef},
 			},
 			Spec: v1alpha1.TektonAddonSpec{
@@ -126,7 +126,7 @@ func isTektonAddonReady(s *v1alpha1.TektonAddon, err error) (bool, error) {
 
 // TektonAddonCRDelete deletes tha TektonAddon to see if all resources will be deleted
 func TektonAddonCRDelete(clients op.TektonAddonInterface, name string) error {
-	if _, err := GetAddon(clients, common.AddonResourceName); err != nil {
+	if _, err := GetAddon(clients, v1alpha1.AddonResourceName); err != nil {
 		if apierrs.IsNotFound(err) {
 			return nil
 		}
diff --git a/pkg/reconciler/openshift/tektonconfig/rbac.go b/pkg/reconciler/openshift/tektonconfig/rbac.go
index 919b10990..308ddac3f 100644
--- a/pkg/reconciler/openshift/tektonconfig/rbac.go
+++ b/pkg/reconciler/openshift/tektonconfig/rbac.go
@@ -83,10 +83,9 @@ func (r *rbac) cleanUp(ctx context.Context) error {
 	return nil
 }
 
-func (r *rbac) setDefault() bool {
+func (r *rbac) setDefault() {
 	var (
-		updated = false
-		found   = false
+		found = false
 	)
 
 	for i, v := range r.tektonConfig.Spec.Params {
@@ -95,7 +94,6 @@ func (r *rbac) setDefault() bool {
 			// If the value set is invalid then set key to default value as true.
 			if v.Value != "false" && v.Value != "true" {
 				r.tektonConfig.Spec.Params[i].Value = "true"
-				updated = true
 			}
 			break
 		}
@@ -105,9 +103,7 @@ func (r *rbac) setDefault() bool {
 			Name:  rbacParamName,
 			Value: "true",
 		})
-		updated = true
 	}
-	return updated
 }
 
 func (r *rbac) createResources(ctx context.Context) error {
diff --git a/pkg/reconciler/openshift/tektonpipeline/extension.go b/pkg/reconciler/openshift/tektonpipeline/extension.go
index 00b90036c..65df2d847 100644
--- a/pkg/reconciler/openshift/tektonpipeline/extension.go
+++ b/pkg/reconciler/openshift/tektonpipeline/extension.go
@@ -18,7 +18,6 @@ package tektonpipeline
 
 import (
 	"context"
-	stdError "errors"
 	"os"
 	"path/filepath"
 
@@ -33,7 +32,6 @@ import (
 	"go.uber.org/zap"
 	"k8s.io/apimachinery/pkg/api/errors"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"knative.dev/pkg/injection"
 	"knative.dev/pkg/logging"
 	"knative.dev/pkg/ptr"
@@ -104,12 +102,7 @@ func (oe openshiftExtension) PreReconcile(ctx context.Context, comp v1alpha1.Tek
 	koDataDir := os.Getenv(common.KoEnvKey)
 	tp := comp.(*v1alpha1.TektonPipeline)
 
-	if crUpdated := SetDefault(&tp.Spec.Pipeline); crUpdated {
-		if _, err := oe.operatorClientSet.OperatorV1alpha1().TektonPipelines().Update(ctx, tp, v1.UpdateOptions{}); err != nil {
-			return err
-		}
-		return stdError.New("ensuring PreReconcile TektonPipeline spec update")
-	}
+	SetDefault(&tp.Spec.Pipeline)
 
 	exist, err := checkIfInstallerSetExist(ctx, oe.operatorClientSet, oe.version, tp, prePipelineInstallerSet)
 	if err != nil {
@@ -204,21 +197,17 @@ func (oe openshiftExtension) Finalize(ctx context.Context, comp v1alpha1.TektonC
 	return nil
 }
 
-func SetDefault(pipeline *v1alpha1.Pipeline) bool {
-
-	var updated = false
+func SetDefault(pipeline *v1alpha1.Pipeline) {
 
 	// Set default service account as pipeline
 	if pipeline.DefaultServiceAccount == "" {
 		pipeline.DefaultServiceAccount = common.DefaultSA
-		updated = true
 	}
 
 	// Set `disable-affinity-assistant` to true if not set in CR
 	// webhook will not set any value but by default in pipelines configmap it will be false
 	if pipeline.DisableAffinityAssistant == nil {
 		pipeline.DisableAffinityAssistant = ptr.Bool(DefaultDisableAffinityAssistant)
-		updated = true
 	}
 
 	// Add params with default values if not defined by user
@@ -232,7 +221,6 @@ func SetDefault(pipeline *v1alpha1.Pipeline) bool {
 			// rest of the installation
 			if p.Value != "false" && p.Value != "true" {
 				pipeline.Params[i].Value = enableMetricsDefaultValue
-				updated = true
 			}
 			break
 		}
@@ -243,10 +231,7 @@ func SetDefault(pipeline *v1alpha1.Pipeline) bool {
 			Name:  enableMetricsKey,
 			Value: enableMetricsDefaultValue,
 		})
-		updated = true
 	}
-
-	return updated
 }
 
 func findParam(params []v1alpha1.Param, param string) string {
diff --git a/pkg/reconciler/openshift/tektontrigger/extension.go b/pkg/reconciler/openshift/tektontrigger/extension.go
index 19e84f2c0..74d28fc81 100644
--- a/pkg/reconciler/openshift/tektontrigger/extension.go
+++ b/pkg/reconciler/openshift/tektontrigger/extension.go
@@ -18,7 +18,6 @@ package tektontrigger
 
 import (
 	"context"
-	stdError "errors"
 
 	mf "github.com/manifestival/manifestival"
 	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
@@ -26,7 +25,6 @@ import (
 	operatorclient "github.com/tektoncd/operator/pkg/client/injection/client"
 	"github.com/tektoncd/operator/pkg/reconciler/common"
 	occommon "github.com/tektoncd/operator/pkg/reconciler/openshift/common"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 )
 
 func OpenShiftExtension(ctx context.Context) common.Extension {
@@ -49,12 +47,8 @@ func (oe openshiftExtension) Transformers(comp v1alpha1.TektonComponent) []mf.Tr
 }
 func (oe openshiftExtension) PreReconcile(ctx context.Context, tc v1alpha1.TektonComponent) error {
 	tt := tc.(*v1alpha1.TektonTrigger)
-	if crUpdated := SetDefault(&tt.Spec.TriggersProperties); crUpdated {
-		if _, err := oe.operatorClientSet.OperatorV1alpha1().TektonTriggers().Update(ctx, tt, v1.UpdateOptions{}); err != nil {
-			return err
-		}
-		return stdError.New("ensuring PreReconcile TektonTrigger spec update")
-	}
+
+	SetDefault(&tt.Spec.TriggersProperties)
 
 	return nil
 }
@@ -65,14 +59,10 @@ func (oe openshiftExtension) Finalize(context.Context, v1alpha1.TektonComponent)
 	return nil
 }
 
-func SetDefault(properties *v1alpha1.TriggersProperties) bool {
-
-	var updated = false
+func SetDefault(properties *v1alpha1.TriggersProperties) {
 
 	// Set default service account as pipeline
 	if properties.DefaultServiceAccount == "" {
 		properties.DefaultServiceAccount = common.DefaultSA
-		updated = true
 	}
-	return updated
 }
diff --git a/pkg/reconciler/shared/tektonconfig/controller.go b/pkg/reconciler/shared/tektonconfig/controller.go
index c1587d8fd..a8e896e94 100644
--- a/pkg/reconciler/shared/tektonconfig/controller.go
+++ b/pkg/reconciler/shared/tektonconfig/controller.go
@@ -67,7 +67,7 @@ func NewExtensibleController(generator common.ExtensionGenerator) injection.Cont
 			Handler:    controller.HandleAll(impl.EnqueueControllerOf),
 		})
 
-		namespaceinformer.Get(ctx).Informer().AddEventHandler(controller.HandleAll(enqueueCustomName(impl, common.ConfigResourceName)))
+		namespaceinformer.Get(ctx).Informer().AddEventHandler(controller.HandleAll(enqueueCustomName(impl, v1alpha1.ConfigResourceName)))
 
 		if os.Getenv("AUTOINSTALL_COMPONENTS") == "true" {
 			// try to ensure that there is an instance of tektonConfig
diff --git a/pkg/reconciler/shared/tektonconfig/instance.go b/pkg/reconciler/shared/tektonconfig/instance.go
index 4852d434e..e6766ef1c 100644
--- a/pkg/reconciler/shared/tektonconfig/instance.go
+++ b/pkg/reconciler/shared/tektonconfig/instance.go
@@ -23,7 +23,6 @@ import (
 
 	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/client/clientset/versioned"
-	"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"
@@ -102,10 +101,10 @@ func (tc tektonConfig) ensureInstance(ctx context.Context) {
 func (tc tektonConfig) createInstance(ctx context.Context) error {
 	tcCR := &v1alpha1.TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name: common.ConfigResourceName,
+			Name: v1alpha1.ConfigResourceName,
 		},
 		Spec: v1alpha1.TektonConfigSpec{
-			Profile: common.ProfileAll,
+			Profile: v1alpha1.ProfileAll,
 			CommonSpec: v1alpha1.CommonSpec{
 				TargetNamespace: tc.namespace,
 			},
diff --git a/pkg/reconciler/shared/tektonconfig/pipeline/pipeline.go b/pkg/reconciler/shared/tektonconfig/pipeline/pipeline.go
index ed82c891b..99681f33e 100644
--- a/pkg/reconciler/shared/tektonconfig/pipeline/pipeline.go
+++ b/pkg/reconciler/shared/tektonconfig/pipeline/pipeline.go
@@ -39,7 +39,7 @@ func CreatePipelineCR(instance v1alpha1.TektonComponent, client operatorv1alpha1
 	if _, err := ensureTektonPipelineExists(client.TektonPipelines(), configInstance); err != nil {
 		return errors.New(err.Error())
 	}
-	if _, err := waitForTektonPipelineState(client.TektonPipelines(), common.PipelineResourceName,
+	if _, err := waitForTektonPipelineState(client.TektonPipelines(), v1alpha1.PipelineResourceName,
 		isTektonPipelineReady); err != nil {
 		log.Println("TektonPipeline is not in ready state: ", err)
 		return err
@@ -48,7 +48,7 @@ func CreatePipelineCR(instance v1alpha1.TektonComponent, client operatorv1alpha1
 }
 
 func ensureTektonPipelineExists(clients op.TektonPipelineInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonPipeline, error) {
-	tpCR, err := GetPipeline(clients, common.PipelineResourceName)
+	tpCR, err := GetPipeline(clients, v1alpha1.PipelineResourceName)
 	if err == nil {
 		// if the pipeline spec is changed then update the instance
 		updated := false
@@ -84,7 +84,7 @@ func ensureTektonPipelineExists(clients op.TektonPipelineInterface, config *v1al
 	if apierrs.IsNotFound(err) {
 		tpCR = &v1alpha1.TektonPipeline{
 			ObjectMeta: metav1.ObjectMeta{
-				Name: common.PipelineResourceName,
+				Name: v1alpha1.PipelineResourceName,
 			},
 			Spec: v1alpha1.TektonPipelineSpec{
 				CommonSpec: v1alpha1.CommonSpec{
@@ -131,7 +131,7 @@ func isTektonPipelineReady(s *v1alpha1.TektonPipeline, err error) (bool, error)
 
 // TektonPipelineCRDelete deletes tha TektonPipeline to see if all resources will be deleted
 func TektonPipelineCRDelete(clients op.TektonPipelineInterface, name string) error {
-	if _, err := GetPipeline(clients, common.PipelineResourceName); err != nil {
+	if _, err := GetPipeline(clients, v1alpha1.PipelineResourceName); err != nil {
 		if apierrs.IsNotFound(err) {
 			return nil
 		}
@@ -167,7 +167,7 @@ func verifyNoTektonPipelineCR(clients op.TektonPipelineInterface) error {
 func GetTektonConfig() *v1alpha1.TektonConfig {
 	return &v1alpha1.TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name: common.ConfigResourceName,
+			Name: v1alpha1.ConfigResourceName,
 		},
 		Spec: v1alpha1.TektonConfigSpec{
 			Profile: "all",
diff --git a/pkg/reconciler/shared/tektonconfig/tektonconfig.go b/pkg/reconciler/shared/tektonconfig/tektonconfig.go
index 893c6d2c7..3c26e7b4b 100644
--- a/pkg/reconciler/shared/tektonconfig/tektonconfig.go
+++ b/pkg/reconciler/shared/tektonconfig/tektonconfig.go
@@ -26,6 +26,7 @@ import (
 	"github.com/tektoncd/operator/pkg/reconciler/common"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/pipeline"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/trigger"
+	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/client-go/kubernetes"
 	"knative.dev/pkg/logging"
 	pkgreconciler "knative.dev/pkg/reconciler"
@@ -50,13 +51,13 @@ func (r *Reconciler) FinalizeKind(ctx context.Context, original *v1alpha1.Tekton
 	logger := logging.FromContext(ctx)
 
 	if original.Spec.Profile == v1alpha1.ProfileLite {
-		return pipeline.TektonPipelineCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonPipelines(), common.PipelineResourceName)
+		return pipeline.TektonPipelineCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonPipelines(), v1alpha1.PipelineResourceName)
 	} else {
 		// TektonPipeline and TektonTrigger is common for profile type basic and all
-		if err := pipeline.TektonPipelineCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonPipelines(), common.PipelineResourceName); err != nil {
+		if err := pipeline.TektonPipelineCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonPipelines(), v1alpha1.PipelineResourceName); err != nil {
 			return err
 		}
-		if err := trigger.TektonTriggerCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonTriggers(), common.TriggerResourceName); err != nil {
+		if err := trigger.TektonTriggerCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonTriggers(), v1alpha1.TriggerResourceName); err != nil {
 			return err
 		}
 	}
@@ -75,9 +76,9 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tc *v1alpha1.TektonConfi
 	tc.Status.InitializeConditions()
 
 	logger.Infow("Reconciling TektonConfig", "status", tc.Status)
-	if tc.GetName() != common.ConfigResourceName {
+	if tc.GetName() != v1alpha1.ConfigResourceName {
 		msg := fmt.Sprintf("Resource ignored, Expected Name: %s, Got Name: %s",
-			common.ConfigResourceName,
+			v1alpha1.ConfigResourceName,
 			tc.GetName(),
 		)
 		logger.Error(msg)
@@ -110,7 +111,7 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tc *v1alpha1.TektonConfi
 			return err
 		}
 	} else {
-		if err := trigger.TektonTriggerCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonTriggers(), common.TriggerResourceName); err != nil {
+		if err := trigger.TektonTriggerCRDelete(r.operatorClientSet.OperatorV1alpha1().TektonTriggers(), v1alpha1.TriggerResourceName); err != nil {
 			tc.Status.MarkComponentNotReady(fmt.Sprintf("TektonTrigger: %s", err.Error()))
 			return err
 		}
@@ -130,5 +131,10 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, tc *v1alpha1.TektonConfi
 
 	tc.Status.MarkPostInstallComplete()
 
+	// Update the object for any spec changes
+	if _, err := r.operatorClientSet.OperatorV1alpha1().TektonConfigs().Update(ctx, tc, v1.UpdateOptions{}); err != nil {
+		return err
+	}
+
 	return nil
 }
diff --git a/pkg/reconciler/shared/tektonconfig/trigger/trigger.go b/pkg/reconciler/shared/tektonconfig/trigger/trigger.go
index ee7041e75..d10608267 100644
--- a/pkg/reconciler/shared/tektonconfig/trigger/trigger.go
+++ b/pkg/reconciler/shared/tektonconfig/trigger/trigger.go
@@ -25,6 +25,7 @@ import (
 
 	"github.com/tektoncd/operator/pkg/apis/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"
@@ -32,7 +33,6 @@ import (
 
 	op "github.com/tektoncd/operator/pkg/client/clientset/versioned/typed/operator/v1alpha1"
 	operatorv1alpha1 "github.com/tektoncd/operator/pkg/client/clientset/versioned/typed/operator/v1alpha1"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 )
 
 func CreateTriggerCR(instance v1alpha1.TektonComponent, client operatorv1alpha1.OperatorV1alpha1Interface) error {
@@ -40,7 +40,7 @@ func CreateTriggerCR(instance v1alpha1.TektonComponent, client operatorv1alpha1.
 	if _, err := ensureTektonTriggerExists(client.TektonTriggers(), configInstance); err != nil {
 		return errors.New(err.Error())
 	}
-	if _, err := waitForTektonTriggerState(client.TektonTriggers(), common.TriggerResourceName,
+	if _, err := waitForTektonTriggerState(client.TektonTriggers(), v1alpha1.TriggerResourceName,
 		isTektonTriggerReady); err != nil {
 		log.Println("TektonTrigger is not in ready state: ", err)
 		return err
@@ -49,7 +49,7 @@ func CreateTriggerCR(instance v1alpha1.TektonComponent, client operatorv1alpha1.
 }
 
 func ensureTektonTriggerExists(clients op.TektonTriggerInterface, config *v1alpha1.TektonConfig) (*v1alpha1.TektonTrigger, error) {
-	ttCR, err := GetTrigger(clients, common.TriggerResourceName)
+	ttCR, err := GetTrigger(clients, v1alpha1.TriggerResourceName)
 	if err == nil {
 		// if the trigger spec is changed then update the instance
 		updated := false
@@ -85,7 +85,7 @@ func ensureTektonTriggerExists(clients op.TektonTriggerInterface, config *v1alph
 	if apierrs.IsNotFound(err) {
 		ttCR = &v1alpha1.TektonTrigger{
 			ObjectMeta: metav1.ObjectMeta{
-				Name: common.TriggerResourceName,
+				Name: v1alpha1.TriggerResourceName,
 			},
 			Spec: v1alpha1.TektonTriggerSpec{
 				CommonSpec: v1alpha1.CommonSpec{
@@ -131,7 +131,7 @@ func isTektonTriggerReady(s *v1alpha1.TektonTrigger, err error) (bool, error) {
 
 // TektonTriggerCRDelete deletes tha TektonTrigger to see if all resources will be deleted
 func TektonTriggerCRDelete(clients op.TektonTriggerInterface, name string) error {
-	if _, err := GetTrigger(clients, common.TriggerResourceName); err != nil {
+	if _, err := GetTrigger(clients, v1alpha1.TriggerResourceName); err != nil {
 		if apierrs.IsNotFound(err) {
 			return nil
 		}


Test patch:
diff --git a/pkg/apis/operator/v1alpha1/tektonaddon_validation_test.go b/pkg/apis/operator/v1alpha1/tektonaddon_validation_test.go
index 63f1aaeed..02a30fd7c 100644
--- a/pkg/apis/operator/v1alpha1/tektonaddon_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonaddon_validation_test.go
@@ -49,7 +49,7 @@ func Test_ValidateTektonAddon_InvalidParam(t *testing.T) {
 
 	ta := &TektonAddon{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "addon",
 			Namespace: "namespace",
 		},
 		Spec: TektonAddonSpec{
@@ -73,7 +73,7 @@ func Test_ValidateTektonAddon_InvalidParamValue(t *testing.T) {
 
 	ta := &TektonAddon{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "addon",
 			Namespace: "namespace",
 		},
 		Spec: TektonAddonSpec{
@@ -97,7 +97,7 @@ func Test_ValidateTektonAddon_ClusterTaskIsFalseAndPipelineTemplateIsTrue(t *tes
 
 	ta := &TektonAddon{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "addon",
 			Namespace: "namespace",
 		},
 		Spec: TektonAddonSpec{
diff --git a/pkg/apis/operator/v1alpha1/tektonconfig_validation_test.go b/pkg/apis/operator/v1alpha1/tektonconfig_validation_test.go
index 11f39dc2b..30f9529ba 100644
--- a/pkg/apis/operator/v1alpha1/tektonconfig_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonconfig_validation_test.go
@@ -50,7 +50,7 @@ func Test_ValidateTektonConfig_MissingTargetNamespace(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{},
@@ -64,7 +64,7 @@ func Test_ValidateTektonConfig_InvalidProfile(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -83,7 +83,7 @@ func Test_ValidateTektonConfig_InvalidPruningResource(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -106,7 +106,7 @@ func Test_ValidateTektonConfig_MissingKeepKeepsinceSchedule(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -128,7 +128,7 @@ func Test_ValidateTektonConfig_MissingSchedule(t *testing.T) {
 	keep := uint(2)
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -151,7 +151,7 @@ func Test_ValidateTektonConfig_InvalidAddonParam(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -178,7 +178,7 @@ func Test_ValidateTektonConfig_InvalidAddonParamValue(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -205,7 +205,7 @@ func Test_ValidateTektonConfig_InvalidPipelineProperties(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
@@ -229,7 +229,7 @@ func Test_ValidateTektonConfig_InvalidTriggerProperties(t *testing.T) {
 
 	tc := &TektonConfig{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "config",
 			Namespace: "namespace",
 		},
 		Spec: TektonConfigSpec{
diff --git a/pkg/apis/operator/v1alpha1/tektondashboard_validation_test.go b/pkg/apis/operator/v1alpha1/tektondashboard_validation_test.go
index c83e8e4a7..4ddaf08ed 100644
--- a/pkg/apis/operator/v1alpha1/tektondashboard_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektondashboard_validation_test.go
@@ -29,7 +29,7 @@ func Test_ValidateTektonDashboard_MissingTargetNamespace(t *testing.T) {
 
 	td := &TektonDashboard{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "dashboard",
 			Namespace: "namespace",
 		},
 		Spec: TektonDashboardSpec{},
diff --git a/pkg/apis/operator/v1alpha1/tektonpipeline_validation_test.go b/pkg/apis/operator/v1alpha1/tektonpipeline_validation_test.go
index 0e49fa39c..56b37e1a3 100644
--- a/pkg/apis/operator/v1alpha1/tektonpipeline_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonpipeline_validation_test.go
@@ -29,7 +29,7 @@ func Test_ValidateTektonPipeline_MissingTargetNamespace(t *testing.T) {
 
 	tp := &TektonPipeline{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "pipeline",
 			Namespace: "namespace",
 		},
 		Spec: TektonPipelineSpec{},
diff --git a/pkg/apis/operator/v1alpha1/tektontrigger_validation_test.go b/pkg/apis/operator/v1alpha1/tektontrigger_validation_test.go
index 1e44716ac..57f0dabeb 100644
--- a/pkg/apis/operator/v1alpha1/tektontrigger_validation_test.go
+++ b/pkg/apis/operator/v1alpha1/tektontrigger_validation_test.go
@@ -29,7 +29,7 @@ func Test_ValidateTektonTrigger_MissingTargetNamespace(t *testing.T) {
 
 	tr := &TektonTrigger{
 		ObjectMeta: metav1.ObjectMeta{
-			Name:      "name",
+			Name:      "trigger",
 			Namespace: "namespace",
 		},
 		Spec: TektonTriggerSpec{},
diff --git a/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard_test.go b/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard_test.go
index d346b6ea6..81e22ef2f 100644
--- a/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard_test.go
+++ b/pkg/reconciler/kubernetes/tektonconfig/extension/dashboard_test.go
@@ -19,8 +19,8 @@ package extension
 import (
 	"testing"
 
+	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/client/injection/client/fake"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 	util "github.com/tektoncd/operator/pkg/reconciler/common/testing"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/pipeline"
 	ts "knative.dev/pkg/reconciler/testing"
@@ -32,13 +32,13 @@ func TestTektonDashboardCreateAndDeleteCR(t *testing.T) {
 	tConfig := pipeline.GetTektonConfig()
 	err := CreateDashboardCR(tConfig, c.OperatorV1alpha1())
 	util.AssertNotEqual(t, err, nil)
-	err = TektonDashboardCRDelete(c.OperatorV1alpha1().TektonDashboards(), common.DashboardResourceName)
+	err = TektonDashboardCRDelete(c.OperatorV1alpha1().TektonDashboards(), v1alpha1.DashboardResourceName)
 	util.AssertEqual(t, err, nil)
 }
 
 func TestTektonDashboardCRDelete(t *testing.T) {
 	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
 	c := fake.Get(ctx)
-	err := TektonDashboardCRDelete(c.OperatorV1alpha1().TektonDashboards(), common.DashboardResourceName)
+	err := TektonDashboardCRDelete(c.OperatorV1alpha1().TektonDashboards(), v1alpha1.DashboardResourceName)
 	util.AssertEqual(t, err, nil)
 }
diff --git a/pkg/reconciler/openshift/tektonconfig/extension/addon_test.go b/pkg/reconciler/openshift/tektonconfig/extension/addon_test.go
index 895aa43b9..dda6f8fd4 100644
--- a/pkg/reconciler/openshift/tektonconfig/extension/addon_test.go
+++ b/pkg/reconciler/openshift/tektonconfig/extension/addon_test.go
@@ -19,8 +19,8 @@ package extension
 import (
 	"testing"
 
+	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/client/injection/client/fake"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 	util "github.com/tektoncd/operator/pkg/reconciler/common/testing"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/pipeline"
 	ts "knative.dev/pkg/reconciler/testing"
@@ -32,13 +32,13 @@ func TestTektonAddonCreateAndDeleteCR(t *testing.T) {
 	tConfig := pipeline.GetTektonConfig()
 	err := CreateAddonCR(tConfig, c.OperatorV1alpha1())
 	util.AssertNotEqual(t, err, nil)
-	err = TektonAddonCRDelete(c.OperatorV1alpha1().TektonAddons(), common.AddonResourceName)
+	err = TektonAddonCRDelete(c.OperatorV1alpha1().TektonAddons(), v1alpha1.AddonResourceName)
 	util.AssertEqual(t, err, nil)
 }
 
 func TestTektonAddonCRDelete(t *testing.T) {
 	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
 	c := fake.Get(ctx)
-	err := TektonAddonCRDelete(c.OperatorV1alpha1().TektonAddons(), common.AddonResourceName)
+	err := TektonAddonCRDelete(c.OperatorV1alpha1().TektonAddons(), v1alpha1.AddonResourceName)
 	util.AssertEqual(t, err, nil)
 }
diff --git a/pkg/reconciler/shared/tektonconfig/pipeline/pipeline_test.go b/pkg/reconciler/shared/tektonconfig/pipeline/pipeline_test.go
index 9c58a2598..762ee49e2 100644
--- a/pkg/reconciler/shared/tektonconfig/pipeline/pipeline_test.go
+++ b/pkg/reconciler/shared/tektonconfig/pipeline/pipeline_test.go
@@ -19,8 +19,8 @@ package pipeline
 import (
 	"testing"
 
+	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/client/injection/client/fake"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 	util "github.com/tektoncd/operator/pkg/reconciler/common/testing"
 	ts "knative.dev/pkg/reconciler/testing"
 )
@@ -31,13 +31,13 @@ func TestTektonPipelineCreateAndDeleteCR(t *testing.T) {
 	tConfig := GetTektonConfig()
 	err := CreatePipelineCR(tConfig, c.OperatorV1alpha1())
 	util.AssertNotEqual(t, err, nil)
-	err = TektonPipelineCRDelete(c.OperatorV1alpha1().TektonPipelines(), common.PipelineResourceName)
+	err = TektonPipelineCRDelete(c.OperatorV1alpha1().TektonPipelines(), v1alpha1.PipelineResourceName)
 	util.AssertEqual(t, err, nil)
 }
 
 func TestTektonPipelineCRDelete(t *testing.T) {
 	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
 	c := fake.Get(ctx)
-	err := TektonPipelineCRDelete(c.OperatorV1alpha1().TektonPipelines(), common.PipelineResourceName)
+	err := TektonPipelineCRDelete(c.OperatorV1alpha1().TektonPipelines(), v1alpha1.PipelineResourceName)
 	util.AssertEqual(t, err, nil)
 }
diff --git a/pkg/reconciler/shared/tektonconfig/trigger/trigger_test.go b/pkg/reconciler/shared/tektonconfig/trigger/trigger_test.go
index 64ef5f0e8..a80392bdc 100644
--- a/pkg/reconciler/shared/tektonconfig/trigger/trigger_test.go
+++ b/pkg/reconciler/shared/tektonconfig/trigger/trigger_test.go
@@ -19,8 +19,8 @@ package trigger
 import (
 	"testing"
 
+	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/client/injection/client/fake"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 	util "github.com/tektoncd/operator/pkg/reconciler/common/testing"
 	"github.com/tektoncd/operator/pkg/reconciler/shared/tektonconfig/pipeline"
 	ts "knative.dev/pkg/reconciler/testing"
@@ -35,13 +35,13 @@ func TestTektonTriggerCreateAndDeleteCR(t *testing.T) {
 	// recheck triggers creation
 	err = CreateTriggerCR(tConfig, c.OperatorV1alpha1())
 	util.AssertNotEqual(t, err, nil)
-	err = TektonTriggerCRDelete(c.OperatorV1alpha1().TektonTriggers(), common.TriggerResourceName)
+	err = TektonTriggerCRDelete(c.OperatorV1alpha1().TektonTriggers(), v1alpha1.TriggerResourceName)
 	util.AssertEqual(t, err, nil)
 }
 
 func TestTektonTriggerCRDelete(t *testing.T) {
 	ctx, _, _ := ts.SetupFakeContextWithCancel(t)
 	c := fake.Get(ctx)
-	err := TektonTriggerCRDelete(c.OperatorV1alpha1().TektonTriggers(), common.TriggerResourceName)
+	err := TektonTriggerCRDelete(c.OperatorV1alpha1().TektonTriggers(), v1alpha1.TriggerResourceName)
 	util.AssertEqual(t, err, nil)
 }
diff --git a/test/e2e/common/tektonconfigdeployment_test.go b/test/e2e/common/tektonconfigdeployment_test.go
index f09d8fcc8..b96c3c85b 100644
--- a/test/e2e/common/tektonconfigdeployment_test.go
+++ b/test/e2e/common/tektonconfigdeployment_test.go
@@ -25,7 +25,6 @@ import (
 
 	"github.com/google/go-cmp/cmp"
 	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 	"github.com/tektoncd/operator/test/client"
 	"github.com/tektoncd/operator/test/resources"
 	"github.com/tektoncd/operator/test/utils"
@@ -38,7 +37,7 @@ func TestTektonConfigDeployment(t *testing.T) {
 	clients := client.Setup(t)
 
 	crNames := utils.ResourceNames{
-		TektonConfig: common.ConfigResourceName,
+		TektonConfig: v1alpha1.ConfigResourceName,
 		Namespace:    "tekton-operator",
 	}
 
@@ -73,7 +72,7 @@ func TestTektonConfigDeployment(t *testing.T) {
 		runRbacTest(t, clients)
 	}
 
-	if platform == "openshift" && tc.Spec.Profile == common.ProfileAll {
+	if platform == "openshift" && tc.Spec.Profile == v1alpha1.ProfileAll {
 		runAddonTest(t, clients, tc)
 	}
 
@@ -93,9 +92,9 @@ func runAddonTest(t *testing.T, clients *utils.Clients, tc *v1alpha1.TektonConfi
 
 	// Make sure TektonAddon is created
 	t.Run("ensure-addon-is-created", func(t *testing.T) {
-		addon, err = clients.Operator.TektonAddons().Get(context.TODO(), common.AddonResourceName, metav1.GetOptions{})
+		addon, err = clients.Operator.TektonAddons().Get(context.TODO(), v1alpha1.AddonResourceName, metav1.GetOptions{})
 		if err != nil {
-			t.Fatalf("failed to get TektonAddon CR: %s : %v", common.AddonResourceName, err)
+			t.Fatalf("failed to get TektonAddon CR: %s : %v", v1alpha1.AddonResourceName, err)
 		}
 	})
 
diff --git a/test/resources/tektonconfigs.go b/test/resources/tektonconfigs.go
index 1c113f235..8f6ad6fb9 100644
--- a/test/resources/tektonconfigs.go
+++ b/test/resources/tektonconfigs.go
@@ -27,7 +27,6 @@ import (
 
 	mfc "github.com/manifestival/client-go-client"
 	mf "github.com/manifestival/manifestival"
-	"github.com/tektoncd/operator/pkg/reconciler/common"
 
 	"knative.dev/pkg/test/logging"
 
@@ -67,7 +66,7 @@ func EnsureTektonConfigExists(kubeClientSet *kubernetes.Clientset, clients confi
 				Name: names.TektonConfig,
 			},
 			Spec: v1alpha1.TektonConfigSpec{
-				Profile: common.ProfileAll,
+				Profile: v1alpha1.ProfileAll,
 				CommonSpec: v1alpha1.CommonSpec{
 					TargetNamespace: cm.Data["DEFAULT_TARGET_NAMESPACE"],
 				},