Repository: tektoncd/operator
Pull request #658 (2022-03-07 09:29:38)

Option to disable community tasks
this adds an option to disable installaion of
community cluster tasks.

If community task fetch urls are not reachable, it retries
after 15 minutes of fixed time.
This helps to reduce error logs.

Signed-off-by: Pradeep Kumar <pradkuma@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
```
-->


Our communitytasks are tasks maintained in tektoncd/catalog, and when the user is in air-gapped 
environment the urls's to fetch them are un-reachable. This leads to huge forbidden error logs.

With this pr user gets an option to disable community tasks from getting installed.
Also if the community tasks are not disabled, and the urls are not reachable. After first error operator 
do not try to fetch the urls for 15 minutes.

By default community tasks installation is enabled.
<i>`communityClusterTasks: true`</i>
```
spec:
  profile: all
  targetNamespace: openshift-pipelines
  addon:
    params:
    - name: clusterTasks
      value: "true"
    - name: pipelineTemplates
      value: "true"
    - name: communityClusterTasks
      value: "true"
```
Note: community tasks cannot be true if clustertasks is false.
```release-note
[openshift] add an option to remove to disable community tasks from getting installed.

```

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/658/pull-tekton-operator-go-coverage/1500765678850805761/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1500765678850805761/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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/658/pull-tekton-operator-go-coverage/1500807957267353601/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1500807957267353601/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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/658/pull-tekton-operator-go-coverage/1500900191299964928/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1500900191299964928/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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/658/pull-tekton-operator-go-coverage/1501062635343319042/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1501062635343319042/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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/658/pull-tekton-operator-go-coverage/1501066410133032960/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1501066410133032960/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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/658#issuecomment-1061429212" 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":[]} -->
nikhil-thomas: ✅ lgtm
pradeepitm12: cc: @sm43 
sm43: /lgtm
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/658/pull-tekton-operator-go-coverage/1501077484416798720/artifacts/line-cov.html#file0) | 87.0% | 84.0% | -3.0
[pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go](https://storage.cloud.google.com/tekton-prow/pr-logs/pull/tektoncd_operator/658/pull-tekton-operator-go-coverage/1501077484416798720/artifacts/line-cov.html#file2) | Do not exist | 0.0% | 

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

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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 -->
pradeepitm12: /test pull-tekton-operator-integration-tests

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

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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 -->
pradeepitm12: /test pull-tekton-operator-integration-tests
tekton-robot: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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: @pradeepitm12: The following test **failed**, say `/retest` to rerun them all:

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

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

<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/config/crs/openshift/config/all/operator_v1alpha1_config_cr.yaml b/config/crs/openshift/config/all/operator_v1alpha1_config_cr.yaml
index 2ee2980c2..399c15321 100644
--- a/config/crs/openshift/config/all/operator_v1alpha1_config_cr.yaml
+++ b/config/crs/openshift/config/all/operator_v1alpha1_config_cr.yaml
@@ -25,6 +25,8 @@ spec:
       value: "true"
     - name: pipelineTemplates
       value: "true"
+    - name: communityClusterTasks
+      value: "true"
   params:
   - name: createRbacResource
     value: "true"
diff --git a/config/openshift/base/operator.yaml b/config/openshift/base/operator.yaml
index 9f7093810..1b9d27402 100644
--- a/config/openshift/base/operator.yaml
+++ b/config/openshift/base/operator.yaml
@@ -64,8 +64,8 @@ spec:
               key: DEFAULT_TARGET_NAMESPACE
         - name: CONFIG_OBSERVABILITY_NAME
           value: tekton-config-observability
-        - name: IMAGE_HUB_DB
-          value: registry.redhat.io/rhel8/postgresql-13:1-18
+        - name: IMAGE_HUB_TEKTON_HUB_DB
+          value: registry.redhat.io/rhel8/postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195
 #          - name: IMAGE_ADDONS_TKN_CLI_SERVE
 #            value: docker.io/rupali/serve-tkn:v2
 #          - name: IMAGE_ADDONS_PARAM_TKN_IMAGE
diff --git a/hack/fetch-releases.sh b/hack/fetch-releases.sh
index a7ce00d59..a0b619083 100755
--- a/hack/fetch-releases.sh
+++ b/hack/fetch-releases.sh
@@ -147,7 +147,7 @@ release_yaml_hub() {
     http_response=$(curl -s -L -o ${dest}/${fileName} -w "%{http_code}" ${url})
     echo url: ${url}
     if [[ $http_response != "200" ]]; then
-      echo "Error: failed to get $comp yaml, status code: $http_response"
+      echo "Error: failed to get ${component} yaml, status code: $http_response"
       exit 1
     fi
     echo "Info: Added Hub/$fileName:$version release yaml !!"
diff --git a/operatorhub/openshift/config.yaml b/operatorhub/openshift/config.yaml
index e42fb17d1..3844cf624 100644
--- a/operatorhub/openshift/config.yaml
+++ b/operatorhub/openshift/config.yaml
@@ -160,6 +160,35 @@ image-substitutions:
         containerName: openshift-pipelines-operator
         envKeys:
           - IMAGE_CHAINS_TEKTON_CHAINS_CONTROLLER
+- image: registry.redhat.io/rhel8/postgresql-13@sha256:6032adb3eac903ee8aa61f296ca9aaa57f5709e5673504b609222e042823f195
+  replaceLocations:
+    envTargets:
+      - deploymentName: openshift-pipelines-operator
+        containerName: openshift-pipelines-operator
+        envKeys:
+          - IMAGE_HUB_TEKTON_HUB_DB
+- image: registry.redhat.io/openshift-pipelines/pipelines-hub-db-migration-rhel8@
+  replaceLocations:
+    envTargets:
+      - deploymentName: openshift-pipelines-operator
+        containerName: openshift-pipelines-operator
+        envKeys:
+          - IMAGE_HUB_TEKTON_HUB_DB_MIGRATION
+- image: registry.redhat.io/openshift-pipelines/pipelines-hub-api-rhel8@
+  replaceLocations:
+    envTargets:
+      - deploymentName: openshift-pipelines-operator
+        containerName: openshift-pipelines-operator
+        envKeys:
+          - IMAGE_HUB_TEKTON_HUB_API
+- image: registry.redhat.io/openshift-pipelines/pipelines-hub-ui-rhel8@
+  replaceLocations:
+    envTargets:
+      - deploymentName: openshift-pipelines-operator
+        containerName: openshift-pipelines-operator
+        envKeys:
+          - IMAGE_HUB_TEKTON_HUB_UI
+
 # add thrid party images which are not replaced by operator
 # but pulled directly by tasks here
 defaultRelatedImages: []
diff --git a/pkg/apis/operator/v1alpha1/const.go b/pkg/apis/operator/v1alpha1/const.go
index 9f2d4192c..b84a0400e 100644
--- a/pkg/apis/operator/v1alpha1/const.go
+++ b/pkg/apis/operator/v1alpha1/const.go
@@ -30,6 +30,7 @@ const (
 	// Addon Params
 	ClusterTasksParam      = "clusterTasks"
 	PipelineTemplatesParam = "pipelineTemplates"
+	CommunityClusterTasks  = "communityClusterTasks"
 
 	// Hub Params
 	EnableDevconsoleIntegrationParam = "enable-devconsole-integration"
@@ -83,6 +84,7 @@ var (
 	AddonParams = map[string]ParamValue{
 		ClusterTasksParam:      defaultParamValue,
 		PipelineTemplatesParam: defaultParamValue,
+		CommunityClusterTasks:  defaultParamValue,
 	}
 
 	HubParams = map[string]ParamValue{
diff --git a/pkg/apis/operator/v1alpha1/tektonaddon_validation.go b/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
index 4379bdcd9..bb3d3604f 100644
--- a/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
+++ b/pkg/apis/operator/v1alpha1/tektonaddon_validation.go
@@ -64,6 +64,9 @@ func validateAddonParams(params []Param, pathToParams string) *apis.FieldError {
 	if (paramsMap[ClusterTasksParam] == "false") && (paramsMap[PipelineTemplatesParam] == "true") {
 		errs = errs.Also(apis.ErrGeneric("pipelineTemplates cannot be true if clusterTask is false", pathToParams))
 	}
+	if (paramsMap[ClusterTasksParam] == "false") && (paramsMap[CommunityClusterTasks] == "true") {
+		errs = errs.Also(apis.ErrGeneric("communityClusterTasks cannot be true if clusterTask is false", pathToParams))
+	}
 
 	return errs
 }
diff --git a/pkg/reconciler/common/transformers.go b/pkg/reconciler/common/transformers.go
index e46af0025..4d3c84a4e 100644
--- a/pkg/reconciler/common/transformers.go
+++ b/pkg/reconciler/common/transformers.go
@@ -41,7 +41,7 @@ const (
 	TriggersImagePrefix           = "IMAGE_TRIGGERS_"
 	AddonsImagePrefix             = "IMAGE_ADDONS_"
 	ChainsImagePrefix             = "IMAGE_CHAINS_"
-	HubDbImagePrefix              = "IMAGE_HUB_"
+	HubImagePrefix                = "IMAGE_HUB_"
 
 	ArgPrefix   = "arg_"
 	ParamPrefix = "param_"
diff --git a/pkg/reconciler/kubernetes/tektonhub/tektonhub.go b/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
index cea2baf4e..71732be69 100644
--- a/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
+++ b/pkg/reconciler/kubernetes/tektonhub/tektonhub.go
@@ -440,7 +440,7 @@ func (r *Reconciler) setupAndCreateInstallerSet(ctx context.Context, manifestLoc
 
 	manifest = manifest.Filter(mf.Not(mf.Any(mf.ByKind("Secret"), mf.ByKind("Namespace"), mf.ByKind("ConfigMap"))))
 
-	images := common.ToLowerCaseKeys(common.ImagesFromEnv(common.HubDbImagePrefix))
+	images := common.ToLowerCaseKeys(common.ImagesFromEnv(common.HubImagePrefix))
 	trans := r.extension.Transformers(th)
 	extra := []mf.Transformer{
 		mf.InjectOwner(th),
diff --git a/pkg/reconciler/openshift/tektonaddon/clustertTask.go b/pkg/reconciler/openshift/tektonaddon/clustertTask.go
index 30b5815b2..784cebbaf 100644
--- a/pkg/reconciler/openshift/tektonaddon/clustertTask.go
+++ b/pkg/reconciler/openshift/tektonaddon/clustertTask.go
@@ -19,14 +19,12 @@ package tektonaddon
 import (
 	"context"
 	"fmt"
-	"strings"
-
 	mf "github.com/manifestival/manifestival"
 	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
 	"github.com/tektoncd/operator/pkg/reconciler/common"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
-	"knative.dev/pkg/logging"
+	"strings"
 )
 
 var clusterTaskLS = metav1.LabelSelector{
@@ -42,17 +40,6 @@ func byContains(name string) mf.Predicate {
 	}
 }
 
-var communityResourceURLs = []string{
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/jib-maven/0.4/jib-maven.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/helm-upgrade-from-source/0.3/helm-upgrade-from-source.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/helm-upgrade-from-repo/0.2/helm-upgrade-from-repo.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/trigger-jenkins-job/0.1/trigger-jenkins-job.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/git-cli/0.3/git-cli.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/pull-request/0.1/pull-request.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/kubeconfig-creator/0.1/kubeconfig-creator.yaml",
-	"https://raw.githubusercontent.com/tektoncd/catalog/main/task/argocd-task-sync-and-wait/0.2/argocd-task-sync-and-wait.yaml",
-}
-
 func (r *Reconciler) EnsureClusterTask(ctx context.Context, enable string, ta *v1alpha1.TektonAddon) error {
 
 	clusterTaskLabelSelector, err := common.LabelSelector(clusterTaskLS)
@@ -104,19 +91,6 @@ func (r *Reconciler) ensureClusterTasks(ctx context.Context, ta *v1alpha1.Tekton
 		mf.Not(byContains(getFormattedVersion(r.operatorVersion))),
 	)
 
-	communityClusterTaskManifest := r.manifest
-	if err := r.appendCommunityTarget(ctx, &communityClusterTaskManifest, ta); err != nil {
-		// Continue if failed to resolve community task URL.
-		// (Ex: on disconnected cluster community tasks won't be reachable because of proxy).
-		logging.FromContext(ctx).Error("Failed to get community task: Skipping community tasks installation  ", err)
-	} else {
-		if err := r.communityTransform(ctx, &communityClusterTaskManifest, ta); err != nil {
-			return err
-		}
-
-		clusterTaskManifest = clusterTaskManifest.Append(communityClusterTaskManifest)
-	}
-
 	if err := createInstallerSet(ctx, r.operatorClientSet, ta, clusterTaskManifest,
 		r.operatorVersion, ClusterTaskInstallerSet, "addon-clustertasks"); err != nil {
 		return err
@@ -125,30 +99,6 @@ func (r *Reconciler) ensureClusterTasks(ctx context.Context, ta *v1alpha1.Tekton
 	return nil
 }
 
-// appendCommunityTarget mutates the passed manifest by appending one
-// appropriate for the passed TektonComponent
-func (r *Reconciler) appendCommunityTarget(ctx context.Context, manifest *mf.Manifest, comp v1alpha1.TektonComponent) error {
-	urls := strings.Join(communityResourceURLs, ",")
-	m, err := mf.ManifestFrom(mf.Path(urls))
-	if err != nil {
-		return err
-	}
-	*manifest = manifest.Append(m)
-	return nil
-}
-
-// communityTransform mutates the passed manifest to one with common component
-// and platform transformations applied
-func (r *Reconciler) communityTransform(ctx context.Context, manifest *mf.Manifest, comp v1alpha1.TektonComponent) error {
-	instance := comp.(*v1alpha1.TektonAddon)
-	extra := []mf.Transformer{
-		replaceKind("Task", "ClusterTask"),
-		injectLabel(labelProviderType, providerTypeCommunity, overwrite, "ClusterTask"),
-	}
-	extra = append(extra, r.extension.Transformers(instance)...)
-	return common.Transform(ctx, manifest, instance, extra...)
-}
-
 // To get the version in the format as in clustertask name i.e. 1-6
 func getFormattedVersion(version string) string {
 	version = strings.TrimPrefix(getPatchVersionTrimmed(version), "v")
diff --git a/pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go b/pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go
new file mode 100644
index 000000000..83d58bc96
--- /dev/null
+++ b/pkg/reconciler/openshift/tektonaddon/communityClusterTasks.go
@@ -0,0 +1,162 @@
+/*
+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 tektonaddon
+
+import (
+	"context"
+	"fmt"
+	mf "github.com/manifestival/manifestival"
+	"github.com/tektoncd/operator/pkg/apis/operator/v1alpha1"
+	"github.com/tektoncd/operator/pkg/reconciler/common"
+	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
+	"knative.dev/pkg/logging"
+	"strings"
+	"time"
+)
+
+var communityClusterTaskLS = metav1.LabelSelector{
+	MatchLabels: map[string]string{
+		v1alpha1.InstallerSetType: CommunityClusterTaskInstallerSet,
+	},
+}
+
+// retryWaitTime holds value until the pod lives.
+// ones the pod restart resets the value back to ""
+// this is useful if the pod is not restarted and community task urls are not reachable
+// we see comparable less forbidden events
+var (
+	layout        = "2006-01-02 15:04:05"
+	retryWaitTime = ""
+)
+
+var communityResourceURLs = []string{
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/jib-maven/0.4/jib-maven.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/helm-upgrade-from-source/0.3/helm-upgrade-from-source.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/helm-upgrade-from-repo/0.2/helm-upgrade-from-repo.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/trigger-jenkins-job/0.1/trigger-jenkins-job.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/git-cli/0.3/git-cli.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/pull-request/0.1/pull-request.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/master/task/kubeconfig-creator/0.1/kubeconfig-creator.yaml",
+	"https://raw.githubusercontent.com/tektoncd/catalog/main/task/argocd-task-sync-and-wait/0.2/argocd-task-sync-and-wait.yaml",
+}
+
+func (r *Reconciler) EnsureCommunityClusterTask(ctx context.Context, enable string, ta *v1alpha1.TektonAddon) error {
+
+	communityClusterTaskLabelSelector, err := common.LabelSelector(communityClusterTaskLS)
+	if err != nil {
+		return err
+	}
+
+	if enable == "true" {
+
+		exist, err := checkIfInstallerSetExist(ctx, r.operatorClientSet, r.operatorVersion, communityClusterTaskLabelSelector)
+		if err != nil {
+			return err
+		}
+
+		if !exist {
+			msg := fmt.Sprintf("%s being created/upgraded", CommunityClusterTaskInstallerSet)
+			ta.Status.MarkInstallerSetNotReady(msg)
+			return r.ensureCommunityClusterTasks(ctx, ta)
+		}
+
+		if err := r.checkComponentStatus(ctx, communityClusterTaskLabelSelector); err != nil {
+			ta.Status.MarkInstallerSetNotReady(err.Error())
+			return nil
+		}
+
+	} else {
+		// if disabled then delete the installer Set if exist
+		if err := r.deleteInstallerSet(ctx, communityClusterTaskLabelSelector); err != nil {
+			return err
+		}
+	}
+
+	return nil
+}
+
+// installerset for communityclustertask
+func (r *Reconciler) ensureCommunityClusterTasks(ctx context.Context, ta *v1alpha1.TektonAddon) error {
+
+	if SkipCommunityTaskFetch(retryWaitTime) {
+		return nil
+	}
+
+	communityClusterTaskManifest := mf.Manifest{}
+	if err := r.appendCommunityTarget(ctx, &communityClusterTaskManifest, ta); err != nil {
+		retryWaitTime = time.Now().Add(15 * time.Minute).Format(layout)
+
+		// Continue if failed to resolve community task URL.
+		// (Ex: on disconnected cluster community tasks won't be reachable because of proxy).
+		logging.FromContext(ctx).Error("Failed to get community task: Skipping community tasks installation  ", err)
+		r.enqueueAfter(r, 10*time.Second)
+		return nil
+	}
+
+	if err := r.communityTransform(ctx, &communityClusterTaskManifest, ta); err != nil {
+		return err
+	}
+
+	communityClusterTaskManifest = communityClusterTaskManifest.Append(communityClusterTaskManifest)
+
+	if err := createInstallerSet(ctx, r.operatorClientSet, ta, communityClusterTaskManifest, r.operatorVersion, CommunityClusterTaskInstallerSet, "addon-communityclustertasks"); err != nil {
+		return err
+	}
+
+	return nil
+}
+
+// appendCommunityTarget mutates the passed manifest by appending one
+// appropriate for the passed TektonComponent
+func (r *Reconciler) appendCommunityTarget(ctx context.Context, manifest *mf.Manifest, comp v1alpha1.TektonComponent) error {
+	urls := strings.Join(communityResourceURLs, ",")
+	m, err := mf.ManifestFrom(mf.Path(urls))
+	if err != nil {
+		return err
+	}
+	*manifest = manifest.Append(m)
+	return nil
+}
+
+// communityTransform mutates the passed manifest to one with common component
+// and platform transformations applied
+func (r *Reconciler) communityTransform(ctx context.Context, manifest *mf.Manifest, comp v1alpha1.TektonComponent) error {
+	instance := comp.(*v1alpha1.TektonAddon)
+	extra := []mf.Transformer{
+		replaceKind("Task", "ClusterTask"),
+		injectLabel(labelProviderType, providerTypeCommunity, overwrite, "ClusterTask"),
+	}
+	extra = append(extra, r.extension.Transformers(instance)...)
+	return common.Transform(ctx, manifest, instance, extra...)
+}
+
+// SkipCommunityTaskFetch skips community task fetch until retryWaitTime has passed
+// if there is no value int retryWaitTime that means no error occurred prior to the call
+// if there is some value that means error has occurred earlier and must try after 15 minutes
+func SkipCommunityTaskFetch(until string) bool {
+	skip := false
+	if until != "" {
+		t, err := time.Parse(layout, until)
+		if err != nil {
+			return false
+		}
+		if t.After(time.Now()) {
+			skip = true
+		}
+	}
+	return skip
+}
diff --git a/pkg/reconciler/openshift/tektonaddon/const.go b/pkg/reconciler/openshift/tektonaddon/const.go
index 196cb7381..c319715ec 100644
--- a/pkg/reconciler/openshift/tektonaddon/const.go
+++ b/pkg/reconciler/openshift/tektonaddon/const.go
@@ -18,6 +18,7 @@ package tektonaddon
 
 const (
 	ClusterTaskInstallerSet            = "ClusterTask"
+	CommunityClusterTaskInstallerSet   = "CommunityClusterTask"
 	VersionedClusterTaskInstallerSet   = "VersionedClusterTask"
 	PipelinesTemplateInstallerSet      = "PipelinesTemplate"
 	TriggersResourcesInstallerSet      = "TriggersResources"
diff --git a/pkg/reconciler/openshift/tektonaddon/tektonaddon.go b/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
index 20ed52bb8..f9f19bbce 100644
--- a/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
+++ b/pkg/reconciler/openshift/tektonaddon/tektonaddon.go
@@ -152,6 +152,7 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ta *v1alpha1.TektonAddon
 	// validate the params
 	ptVal, _ := findValue(ta.Spec.Params, v1alpha1.PipelineTemplatesParam)
 	ctVal, _ := findValue(ta.Spec.Params, v1alpha1.ClusterTasksParam)
+	cctVal, _ := findValue(ta.Spec.Params, v1alpha1.CommunityClusterTasks)
 
 	if ptVal == "true" && ctVal == "false" {
 		ta.Status.MarkNotReady("pipelineTemplates cannot be true if clusterTask is false")
@@ -173,6 +174,10 @@ func (r *Reconciler) ReconcileKind(ctx context.Context, ta *v1alpha1.TektonAddon
 		return err
 	}
 
+	if err := r.EnsureCommunityClusterTask(ctx, cctVal, ta); err != nil {
+		return err
+	}
+
 	if err := r.EnsurePipelineTemplates(ctx, ptVal, ta); err != nil {
 		return err
 	}
diff --git a/pkg/reconciler/openshift/tektonhub/extension.go b/pkg/reconciler/openshift/tektonhub/extension.go
index ef89f910c..8eddeea06 100644
--- a/pkg/reconciler/openshift/tektonhub/extension.go
+++ b/pkg/reconciler/openshift/tektonhub/extension.go
@@ -56,6 +56,7 @@ var replaceVal = map[string]string{
 }
 
 var (
+	db  string = fmt.Sprintf("%s-%s", hubprefix, "db")
 	api string = fmt.Sprintf("%s-%s", hubprefix, "api")
 	ui  string = fmt.Sprintf("%s-%s", hubprefix, "ui")
 )
@@ -227,7 +228,7 @@ func UpdateDbDeployment() mf.Transformer {
 			return err
 		}
 
-		if d.Name == "db" {
+		if d.Name == db {
 			env := d.Spec.Template.Spec.Containers[0].Env
 
 			replaceEnv(env)


Test patch:
diff --git a/pkg/apis/operator/v1alpha1/tektonaddon_default_test.go b/pkg/apis/operator/v1alpha1/tektonaddon_default_test.go
index 8e8dbfea5..71b805ab0 100644
--- a/pkg/apis/operator/v1alpha1/tektonaddon_default_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonaddon_default_test.go
@@ -39,7 +39,7 @@ func Test_AddonSetDefaults_DefaultParamsWithValues(t *testing.T) {
 	}
 
 	ta.SetDefaults(context.TODO())
-	assert.Equal(t, 2, len(ta.Spec.Params))
+	assert.Equal(t, 3, len(ta.Spec.Params))
 
 	params := ParseParams(ta.Spec.Params)
 	value, ok := params[ClusterTasksParam]
@@ -70,7 +70,7 @@ func Test_AddonSetDefaults_ClusterTaskIsFalse(t *testing.T) {
 	}
 
 	ta.SetDefaults(context.TODO())
-	assert.Equal(t, 2, len(ta.Spec.Params))
+	assert.Equal(t, 3, len(ta.Spec.Params))
 
 	params := ParseParams(ta.Spec.Params)
 	value, ok := params[PipelineTemplatesParam]
diff --git a/pkg/apis/operator/v1alpha1/tektonconfig_default_test.go b/pkg/apis/operator/v1alpha1/tektonconfig_default_test.go
index 6f022eee9..58f0048a4 100644
--- a/pkg/apis/operator/v1alpha1/tektonconfig_default_test.go
+++ b/pkg/apis/operator/v1alpha1/tektonconfig_default_test.go
@@ -87,7 +87,7 @@ func Test_SetDefaults_Addon_Params(t *testing.T) {
 	}
 
 	tc.SetDefaults(context.TODO())
-	if len(tc.Spec.Addon.Params) != 2 {
+	if len(tc.Spec.Addon.Params) != 3 {
 		t.Error("Setting default failed for TektonConfig (spec.addon.params)")
 	}
 }
diff --git a/pkg/reconciler/openshift/tektonhub/testdata/update-db-deployment.yaml b/pkg/reconciler/openshift/tektonhub/testdata/update-db-deployment.yaml
index bec88c0bf..6f16a521f 100644
--- a/pkg/reconciler/openshift/tektonhub/testdata/update-db-deployment.yaml
+++ b/pkg/reconciler/openshift/tektonhub/testdata/update-db-deployment.yaml
@@ -15,21 +15,21 @@
 apiVersion: apps/v1
 kind: Deployment
 metadata:
-  name: db
+  name: tekton-hub-db
   labels:
-    app: db
+    app: tekton-hub-db
 spec:
   replicas: 1
   selector:
     matchLabels:
-      app: db
+      app: tekton-hub-db
   template:
     metadata:
       labels:
-        app: db
+        app: tekton-hub-db
     spec:
       containers:
-        - name: db
+        - name: tekton-hub-db
           image: postgres:13@sha256:260a98d976574b439712c35914fdcb840755233f79f3e27ea632543f78b7a21e
           imagePullPolicy: IfNotPresent
           ports:
@@ -39,22 +39,22 @@ spec:
             - name: POSTGRES_DB
               valueFrom:
                 secretKeyRef:
-                  name: db
+                  name: tekton-hub-db
                   key: POSTGRES_DB
             - name: POSTGRES_USER
               valueFrom:
                 secretKeyRef:
-                  name: db
+                  name: tekton-hub-db
                   key: POSTGRES_USER
             - name: POSTGRES_PASSWORD
               valueFrom:
                 secretKeyRef:
-                  name: db
+                  name: tekton-hub-db
                   key: POSTGRES_PASSWORD
             - name: PGDATA
               value: /var/lib/postgresql/data/pgdata
           volumeMounts:
-            - name: db
+            - name: tekton-hub-db
               mountPath: /var/lib/postgresql/data
           readinessProbe:
             exec:
@@ -69,7 +69,7 @@ spec:
             timeoutSeconds: 2
             periodSeconds: 15
       volumes:
-        - name: db
+        - name: tekton-hub-db
           persistentVolumeClaim:
-            claimName: db
+            claimName: tekton-hub-db
       restartPolicy: Always
\ No newline at end of file
diff --git a/test/resources/tektonaddons.go b/test/resources/tektonaddons.go
index 1854d3a73..93e69c48d 100644
--- a/test/resources/tektonaddons.go
+++ b/test/resources/tektonaddons.go
@@ -96,6 +96,7 @@ func AssertTektonAddonCRReadyStatus(t *testing.T, clients *utils.Clients, names
 
 // AssertTektonInstallerSets verifies if the TektonInstallerSets are created.
 func AssertTektonInstallerSets(t *testing.T, clients *utils.Clients) {
+	assertInstallerSets(t, clients, tektonaddon.CommunityClusterTaskInstallerSet)
 	assertInstallerSets(t, clients, tektonaddon.ClusterTaskInstallerSet)
 	assertInstallerSets(t, clients, tektonaddon.VersionedClusterTaskInstallerSet)
 	assertInstallerSets(t, clients, tektonaddon.PipelinesTemplateInstallerSet)
diff --git a/test/resources/tektonconfigs.go b/test/resources/tektonconfigs.go
index 999c4707d..3fae915d9 100644
--- a/test/resources/tektonconfigs.go
+++ b/test/resources/tektonconfigs.go
@@ -77,6 +77,10 @@ func EnsureTektonConfigExists(kubeClientSet *kubernetes.Clientset, clients confi
 							Name:  "clusterTasks",
 							Value: "true",
 						},
+						{
+							Name:  "communityClusterTasks",
+							Value: "true",
+						},
 					},
 				},
 			},