Repository: redhat-developer/service-binding-operator
Pull request #679 (2020-09-17 17:54:09)

Fixed: owned resources are listed again in CSV
`pkg/apis/apps` folder renamed to `pkg/apis/operators` to match operator-sdk conventions, and hence reenable listing owned resources into the generated CSVs.
With this fix, we can again push images to quay. Currently Travis jobs are failing, e.g.:

https://travis-ci.org/github/redhat-developer/service-binding-operator/builds/728020714

In addition, the following tweaks are made:
* clean-up of the required rules
* `service-binding-operator.v0.0.23.clusterserviceversion.yaml` serves as template and contains again the owned resources
* `prepare-bundle-to-quay` make target requires just python3 as other similar targets

openshift-ci-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 **pedjak**
You can assign the PR to them by writing `/assign @pedjak` 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=redhat-developer%2Fservice-binding-operator).

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

- **[OWNERS](https://github.com/redhat-developer/service-binding-operator/blob/master/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":["pedjak"]} -->
openshift-ci-robot: @pedjak: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
ci/prow/4.5-lint | ed8b240cf1996e76cc49162d870cd93054eedafd | [link](https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/redhat-developer_service-binding-operator/679/pull-ci-redhat-developer-service-binding-operator-master-4.5-lint/1306652684656316416) | `/test 4.5-lint`

[Full PR test history](https://prow.ci.openshift.org/pr-history?org=redhat-developer&repo=service-binding-operator&pr=679). [Your PR dashboard](https://prow.ci.openshift.org/pr?query=is:pr+state:open+author:pedjak).

<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 -->
akashshinde: /retest
openshift-ci-robot: @pedjak: The following test **failed**, say `/retest` to rerun all failed tests:

Test name | Commit | Details | Rerun command
--- | --- | --- | ---
ci/prow/4.5-lint | ed8b240cf1996e76cc49162d870cd93054eedafd | [link](https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/redhat-developer_service-binding-operator/679/pull-ci-redhat-developer-service-binding-operator-master-4.5-lint/1306811997085503488) | `/test 4.5-lint`

[Full PR test history](https://prow.ci.openshift.org/pr-history?org=redhat-developer&repo=service-binding-operator&pr=679). [Your PR dashboard](https://prow.ci.openshift.org/pr?query=is:pr+state:open+author:pedjak).

<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 -->
akashshinde: /lgtm 
/approve
openshift-ci-robot: [APPROVALNOTIFIER] This PR is **APPROVED**

This pull-request has been approved by: *<a href="https://github.com/redhat-developer/service-binding-operator/pull/679#issuecomment-694773260" title="Approved">akashshinde</a>*

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

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/redhat-developer/service-binding-operator/blob/master/OWNERS)~~ [akashshinde]

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":[]} -->

Patch:
diff --git a/Makefile b/Makefile
index 90cf6c54..df5d53ae 100644
--- a/Makefile
+++ b/Makefile
@@ -517,7 +517,7 @@ push-to-manifest-repo:
 .PHONY: prepare-bundle-to-quay
 ## Prepare manifest bundle to quay application
 prepare-bundle-to-quay:
-	$(Q)python3.7 -m venv $(PYTHON_VENV_DIR)
+	$(Q)python3 -m venv $(PYTHON_VENV_DIR)
 	$(Q)$(PYTHON_VENV_DIR)/bin/pip install --upgrade setuptools
 	$(Q)$(PYTHON_VENV_DIR)/bin/pip install --upgrade pip
 	$(Q)$(PYTHON_VENV_DIR)/bin/pip install operator-courier==2.1.2
diff --git a/deploy/crds/servicebinding_cr.yaml b/deploy/crds/operators.coreos.com_v1alpha1_servicebinding_cr.yaml
similarity index 100%
rename from deploy/crds/servicebinding_cr.yaml
rename to deploy/crds/operators.coreos.com_v1alpha1_servicebinding_cr.yaml
diff --git a/deploy/olm-catalog/service-binding-operator/0.0.23/service-binding-operator.v0.0.23.clusterserviceversion.yaml b/deploy/olm-catalog/service-binding-operator/0.0.23/service-binding-operator.v0.0.23.clusterserviceversion.yaml
index 7cea1bba..a2c8f4b9 100644
--- a/deploy/olm-catalog/service-binding-operator/0.0.23/service-binding-operator.v0.0.23.clusterserviceversion.yaml
+++ b/deploy/olm-catalog/service-binding-operator/0.0.23/service-binding-operator.v0.0.23.clusterserviceversion.yaml
@@ -41,7 +41,14 @@ metadata:
   namespace: placeholder
 spec:
   apiservicedefinitions: {}
-  customresourcedefinitions: {}
+  customresourcedefinitions:
+    owned:
+      - description: ServiceBinding expresses intent to bind an operator-backed service
+          with an application workload.
+        displayName: Service Binding
+        kind: ServiceBinding
+        name: servicebindings.operators.coreos.com
+        version: v1alpha1
   description: " The Service Binding Operator enables application developers to more
     easily bind applications together with operator managed backing services such
     as databases, without having to perform manual configuration of secrets, configmaps,
@@ -57,154 +64,139 @@ spec:
     Licence\nService Binding Operator is licensed under [Apache License 2.0](https://github.com/redhat-developer/service-binding-operator/blob/master/LICENSE) "
   displayName: Service Binding Operator
   icon:
-  - base64data: ICON_BASE64_DATA
-    mediatype: ICON_MEDIA_TYPE
+    - base64data: ICON_BASE64_DATA
+      mediatype: ICON_MEDIA_TYPE
   install:
     spec:
       deployments:
-      - name: service-binding-operator
-        spec:
-          replicas: 1
-          selector:
-            matchLabels:
-              name: service-binding-operator
-          strategy: {}
-          template:
-            metadata:
-              labels:
+        - name: service-binding-operator
+          spec:
+            replicas: 1
+            selector:
+              matchLabels:
                 name: service-binding-operator
-            spec:
-              containers:
-              - command:
-                - service-binding-operator
-                env:
-                - name: WATCH_NAMESPACE
-                  valueFrom:
-                    fieldRef:
-                      fieldPath: metadata.annotations['olm.targetNamespaces']
-                - name: POD_NAME
-                  valueFrom:
-                    fieldRef:
-                      fieldPath: metadata.name
-                - name: OPERATOR_NAME
-                  value: service-binding-operator
-                image: REPLACE_IMAGE
-                imagePullPolicy: Always
-                name: service-binding-operator
-                resources: {}
-              serviceAccountName: service-binding-operator
+            strategy: {}
+            template:
+              metadata:
+                labels:
+                  name: service-binding-operator
+              spec:
+                containers:
+                  - command:
+                      - service-binding-operator
+                    env:
+                      - name: WATCH_NAMESPACE
+                        valueFrom:
+                          fieldRef:
+                            fieldPath: metadata.annotations['olm.targetNamespaces']
+                      - name: POD_NAME
+                        valueFrom:
+                          fieldRef:
+                            fieldPath: metadata.name
+                      - name: OPERATOR_NAME
+                        value: service-binding-operator
+                    image: REPLACE_IMAGE
+                    imagePullPolicy: Always
+                    name: service-binding-operator
+                    resources: {}
+                serviceAccountName: service-binding-operator
       permissions:
-      - rules:
-        - apiGroups:
-          - ""
-          resources:
-          - pods
-          - services
-          - endpoints
-          - persistentvolumeclaims
-          - events
-          - configmaps
-          - secrets
-          - pods/log
-          verbs:
-          - '*'
-        - apiGroups:
-          - apps
-          resources:
-          - deployments
-          - daemonsets
-          - replicasets
-          - statefulsets
-          - deployments/finalizers
-          verbs:
-          - '*'
-        - apiGroups:
-          - apiextensions.k8s.io
-          resources:
-          - customresourcedefinitions
-          - customresourcedefinitions/status
-          verbs:
-          - get
-          - list
-          - patch
-          - watch
-        - apiGroups:
-          - monitoring.coreos.com
-          resources:
-          - servicemonitors
-          verbs:
-          - get
-          - create
-        - apiGroups:
-          - apps
-          resourceNames:
-          - service-binding-operator
-          resources:
-          - deployments/finalizers
-          verbs:
-          - update
-        - apiGroups:
-          - apps.openshift.io
-          resources:
-          - '*'
-          verbs:
-          - '*'
-        - apiGroups:
-          - '*'
-          resources:
-          - '*'
-          verbs:
-          - get
-          - list
-          - watch
-          - update
-        - apiGroups:
-          - operators.coreos.com
-          resources:
-          - '*'
-          verbs:
-          - '*'
-        - apiGroups:
-          - '*'
-          resources:
-          - '*'
-          verbs:
-          - get
-          - list
-          - watch
-          - update
-        - apiGroups:
-          - serving.knative.dev
-          resources:
-          - services
-          verbs:
-          - '*'
-        - apiGroups:
-          - route.openshift.io
-          resources:
-          - routes
-          verbs:
-          - get
-          - list
-        serviceAccountName: service-binding-operator
+        - rules:
+            - apiGroups:
+                - ""
+              resources:
+                - pods
+                - services
+                - endpoints
+                - persistentvolumeclaims
+                - events
+                - configmaps
+                - secrets
+                - pods/log
+              verbs:
+                - '*'
+            - apiGroups:
+                - apps
+              resources:
+                - deployments
+                - daemonsets
+                - replicasets
+                - statefulsets
+                - deployments/finalizers
+              verbs:
+                - '*'
+            - apiGroups:
+                - apiextensions.k8s.io
+              resources:
+                - customresourcedefinitions
+                - customresourcedefinitions/status
+              verbs:
+                - get
+                - list
+                - patch
+                - watch
+            - apiGroups:
+                - monitoring.coreos.com
+              resources:
+                - servicemonitors
+              verbs:
+                - get
+                - create
+            - apiGroups:
+                - apps
+              resourceNames:
+                - service-binding-operator
+              resources:
+                - deployments/finalizers
+              verbs:
+                - update
+            - apiGroups:
+                - '*'
+              resources:
+                - '*'
+              verbs:
+                - get
+                - list
+                - watch
+                - update
+            - apiGroups:
+                - operators.coreos.com
+              resources:
+                - '*'
+              verbs:
+                - '*'
+            - apiGroups:
+                - serving.knative.dev
+              resources:
+                - services
+              verbs:
+                - '*'
+            - apiGroups:
+                - route.openshift.io
+              resources:
+                - routes
+              verbs:
+                - get
+                - list
+          serviceAccountName: service-binding-operator
     strategy: deployment
   installModes:
-  - supported: true
-    type: OwnNamespace
-  - supported: true
-    type: SingleNamespace
-  - supported: false
-    type: MultiNamespace
-  - supported: true
-    type: AllNamespaces
+    - supported: true
+      type: OwnNamespace
+    - supported: true
+      type: SingleNamespace
+    - supported: false
+      type: MultiNamespace
+    - supported: true
+      type: AllNamespaces
   keywords:
-  - ""
+    - ""
   links:
-  - name: Blog post
-    url: https://developers.redhat.com/blog/2019/12/19/introducing-the-service-binding-operator
+    - name: Blog post
+      url: https://developers.redhat.com/blog/2019/12/19/introducing-the-service-binding-operator
   maintainers:
-  - email: service-binding-support@redhat.com
-    name: Openshift Application Services
+    - email: service-binding-support@redhat.com
+      name: Openshift Application Services
   maturity: alpha
   provider:
     name: Red Hat, Inc.
diff --git a/deploy/role.yaml b/deploy/role.yaml
index 9d498431..2ac67f24 100644
--- a/deploy/role.yaml
+++ b/deploy/role.yaml
@@ -3,94 +3,79 @@ kind: Role
 metadata:
   name: service-binding-operator
 rules:
-  - apiGroups:
-      - ""
-    resources:
-      - pods
-      - services
-      - endpoints
-      - persistentvolumeclaims
-      - events
-      - configmaps
-      - secrets
-      - pods/log
-    verbs:
-      - "*"
-  - apiGroups:
-      - apps
-    resources:
-      - deployments
-      - daemonsets
-      - replicasets
-      - statefulsets
-      - deployments/finalizers
-    verbs:
-      - "*"
-  - apiGroups:
-      - apiextensions.k8s.io
-    resources:
-      - customresourcedefinitions
-      - customresourcedefinitions/status
-    verbs:
-      - get
-      - list
-      - patch
-      - watch
-  - apiGroups:
-      - monitoring.coreos.com
-    resources:
-      - servicemonitors
-    verbs:
-      - get
-      - create
-  - apiGroups:
-      - apps
-    resourceNames:
-      - service-binding-operator
-    resources:
-      - deployments/finalizers
-    verbs:
-      - update
-  - apiGroups:
-      - apps.openshift.io
-    resources:
-      - "*"
-    verbs:
-      - "*"
-  - apiGroups:
-      - "*"
-    resources:
-      - "*"
-    verbs:
-      - "get"
-      - "list"
-      - "watch"
-      - "update"
-  - apiGroups:
-      - operators.coreos.com
-    resources:
-      - "*"
-    verbs:
-      - "*"
-  - apiGroups:
-      - "*"
-    resources:
-      - "*"
-    verbs:
-      - "get"
-      - "list"
-      - "watch"
-      - "update"
-  - verbs:
-      - "*"
-    apiGroups:
-      - serving.knative.dev
-    resources:
-      - services
-  - apiGroups:
-      - route.openshift.io
-    resources:
-      - routes
-    verbs:
-      - get
-      - list
+- apiGroups:
+  - ""
+  resources:
+  - pods
+  - services
+  - endpoints
+  - persistentvolumeclaims
+  - events
+  - configmaps
+  - secrets
+  - pods/log
+  verbs:
+  - '*'
+- apiGroups:
+  - apps
+  resources:
+  - deployments
+  - daemonsets
+  - replicasets
+  - statefulsets
+  - deployments/finalizers
+  verbs:
+  - '*'
+- apiGroups:
+  - apiextensions.k8s.io
+  resources:
+  - customresourcedefinitions
+  - customresourcedefinitions/status
+  verbs:
+  - get
+  - list
+  - patch
+  - watch
+- apiGroups:
+  - monitoring.coreos.com
+  resources:
+  - servicemonitors
+  verbs:
+  - get
+  - create
+- apiGroups:
+  - apps
+  resourceNames:
+  - service-binding-operator
+  resources:
+  - deployments/finalizers
+  verbs:
+  - update
+- apiGroups:
+  - '*'
+  resources:
+  - '*'
+  verbs:
+  - get
+  - list
+  - watch
+  - update
+- apiGroups:
+  - operators.coreos.com
+  resources:
+  - '*'
+  verbs:
+  - '*'
+- apiGroups:
+  - serving.knative.dev
+  resources:
+  - services
+  verbs:
+  - '*'
+- apiGroups:
+  - route.openshift.io
+  resources:
+  - routes
+  verbs:
+  - get
+  - list
diff --git a/pkg/apis/addtoscheme_apps_v1alpha1.go b/pkg/apis/addtoscheme_operators_v1alpha1.go
similarity index 95%
rename from pkg/apis/addtoscheme_apps_v1alpha1.go
rename to pkg/apis/addtoscheme_operators_v1alpha1.go
index 934520c2..e0edc92c 100644
--- a/pkg/apis/addtoscheme_apps_v1alpha1.go
+++ b/pkg/apis/addtoscheme_operators_v1alpha1.go
@@ -2,7 +2,7 @@ package apis
 
 import (
 	olmv1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/operators/v1alpha1"
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 )
 
 func init() {
diff --git a/pkg/apis/operators/group.go b/pkg/apis/operators/group.go
new file mode 100644
index 00000000..ef014022
--- /dev/null
+++ b/pkg/apis/operators/group.go
@@ -0,0 +1,22 @@
+/*
+Copyright The Kubernetes 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 operators contains operators API versions.
+//
+// This file ensures Go source parsers acknowledge the operators package
+// and any child packages. It can be removed if any other Go source files are
+// added to this package.
+package operators
diff --git a/pkg/apis/apps/v1alpha1/doc.go b/pkg/apis/operators/v1alpha1/doc.go
similarity index 79%
rename from pkg/apis/apps/v1alpha1/doc.go
rename to pkg/apis/operators/v1alpha1/doc.go
index 82ff89c8..0a542511 100644
--- a/pkg/apis/apps/v1alpha1/doc.go
+++ b/pkg/apis/operators/v1alpha1/doc.go
@@ -1,4 +1,4 @@
 // Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group
 // +k8s:deepcopy-gen=package,register
-// +groupName=operators.coreos.com
+// +groupName=apps.openshift.io
 package v1alpha1
diff --git a/pkg/apis/apps/v1alpha1/register.go b/pkg/apis/operators/v1alpha1/register.go
similarity index 78%
rename from pkg/apis/apps/v1alpha1/register.go
rename to pkg/apis/operators/v1alpha1/register.go
index 1b8ada13..7a715609 100644
--- a/pkg/apis/apps/v1alpha1/register.go
+++ b/pkg/apis/operators/v1alpha1/register.go
@@ -1,13 +1,13 @@
 // NOTE: Boilerplate only.  Ignore this file.
 
-// Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group
+// Package v1alpha1 contains API Schema definitions for the operators v1alpha1 API group
 // +k8s:deepcopy-gen=package,register
 // +groupName=operators.coreos.com
 package v1alpha1
 
 import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
-	"sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
+	"sigs.k8s.io/controller-runtime/pkg/scheme"
 )
 
 var (
diff --git a/pkg/apis/apps/v1alpha1/servicebinding_types.go b/pkg/apis/operators/v1alpha1/servicebinding_types.go
similarity index 100%
rename from pkg/apis/apps/v1alpha1/servicebinding_types.go
rename to pkg/apis/operators/v1alpha1/servicebinding_types.go
diff --git a/pkg/apis/apps/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/operators/v1alpha1/zz_generated.deepcopy.go
similarity index 100%
rename from pkg/apis/apps/v1alpha1/zz_generated.deepcopy.go
rename to pkg/apis/operators/v1alpha1/zz_generated.deepcopy.go
diff --git a/pkg/apis/apps/v1alpha1/zz_generated.openapi.go b/pkg/apis/operators/v1alpha1/zz_generated.openapi.go
similarity index 100%
rename from pkg/apis/apps/v1alpha1/zz_generated.openapi.go
rename to pkg/apis/operators/v1alpha1/zz_generated.openapi.go
diff --git a/pkg/controller/servicebinding/annotations.go b/pkg/controller/servicebinding/annotations.go
index d99ef486..34528301 100644
--- a/pkg/controller/servicebinding/annotations.go
+++ b/pkg/controller/servicebinding/annotations.go
@@ -8,7 +8,7 @@ import (
 	"k8s.io/apimachinery/pkg/types"
 	"k8s.io/client-go/dynamic"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
 
diff --git a/pkg/controller/servicebinding/binder.go b/pkg/controller/servicebinding/binder.go
index d7fc2784..1fdd82e6 100644
--- a/pkg/controller/servicebinding/binder.go
+++ b/pkg/controller/servicebinding/binder.go
@@ -19,7 +19,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/client-go/dynamic"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 	knativev1 "knative.dev/serving/pkg/apis/serving/v1"
 )
diff --git a/pkg/controller/servicebinding/mapper.go b/pkg/controller/servicebinding/mapper.go
index ca35704c..0142fe30 100644
--- a/pkg/controller/servicebinding/mapper.go
+++ b/pkg/controller/servicebinding/mapper.go
@@ -11,7 +11,7 @@ import (
 	"sigs.k8s.io/controller-runtime/pkg/handler"
 	"sigs.k8s.io/controller-runtime/pkg/reconcile"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
 
diff --git a/pkg/controller/servicebinding/reconciler.go b/pkg/controller/servicebinding/reconciler.go
index 7d3982c9..a2e30686 100644
--- a/pkg/controller/servicebinding/reconciler.go
+++ b/pkg/controller/servicebinding/reconciler.go
@@ -13,7 +13,7 @@ import (
 	"k8s.io/client-go/dynamic"
 	"sigs.k8s.io/controller-runtime/pkg/reconcile"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
 
diff --git a/pkg/controller/servicebinding/sbrcontroller.go b/pkg/controller/servicebinding/sbrcontroller.go
index d27b170f..cd315077 100644
--- a/pkg/controller/servicebinding/sbrcontroller.go
+++ b/pkg/controller/servicebinding/sbrcontroller.go
@@ -19,7 +19,7 @@ import (
 	"sigs.k8s.io/controller-runtime/pkg/predicate"
 	"sigs.k8s.io/controller-runtime/pkg/source"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
 
diff --git a/pkg/controller/servicebinding/servicebinder.go b/pkg/controller/servicebinding/servicebinder.go
index 47621a50..1f711582 100644
--- a/pkg/controller/servicebinding/servicebinder.go
+++ b/pkg/controller/servicebinding/servicebinder.go
@@ -16,7 +16,7 @@ import (
 	"k8s.io/client-go/dynamic"
 	"sigs.k8s.io/controller-runtime/pkg/reconcile"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/converter"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
diff --git a/pkg/controller/servicebinding/servicecontext.go b/pkg/controller/servicebinding/servicecontext.go
index 2ac7c004..96eb29d8 100644
--- a/pkg/controller/servicebinding/servicecontext.go
+++ b/pkg/controller/servicebinding/servicecontext.go
@@ -10,7 +10,7 @@ import (
 	"k8s.io/apimachinery/pkg/types"
 	"k8s.io/client-go/dynamic"
 
-	v1alpha1 "github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	v1alpha1 "github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 )
 


Test patch:
diff --git a/pkg/controller/servicebinding/annotations_test.go b/pkg/controller/servicebinding/annotations_test.go
index 859ed29c..7259c28d 100644
--- a/pkg/controller/servicebinding/annotations_test.go
+++ b/pkg/controller/servicebinding/annotations_test.go
@@ -11,7 +11,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime/schema"
 	"k8s.io/apimachinery/pkg/types"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
 )
 
diff --git a/pkg/controller/servicebinding/binder_test.go b/pkg/controller/servicebinding/binder_test.go
index 842b2f3d..10b25ccd 100644
--- a/pkg/controller/servicebinding/binder_test.go
+++ b/pkg/controller/servicebinding/binder_test.go
@@ -6,7 +6,7 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
 	"github.com/stretchr/testify/assert"
 	"github.com/stretchr/testify/require"
diff --git a/pkg/controller/servicebinding/mapper_test.go b/pkg/controller/servicebinding/mapper_test.go
index af266fc0..b3f1b65e 100644
--- a/pkg/controller/servicebinding/mapper_test.go
+++ b/pkg/controller/servicebinding/mapper_test.go
@@ -11,7 +11,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime"
 	"sigs.k8s.io/controller-runtime/pkg/handler"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/testutils"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
 )
diff --git a/pkg/controller/servicebinding/reconciler_test.go b/pkg/controller/servicebinding/reconciler_test.go
index e1a13306..34a347df 100644
--- a/pkg/controller/servicebinding/reconciler_test.go
+++ b/pkg/controller/servicebinding/reconciler_test.go
@@ -5,7 +5,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/testutils"
 	"github.com/stretchr/testify/require"
 	appsv1 "k8s.io/api/apps/v1"
diff --git a/pkg/controller/servicebinding/sbrcontroller_test.go b/pkg/controller/servicebinding/sbrcontroller_test.go
index dc7eb2ef..9b5f1d50 100644
--- a/pkg/controller/servicebinding/sbrcontroller_test.go
+++ b/pkg/controller/servicebinding/sbrcontroller_test.go
@@ -3,7 +3,7 @@ package servicebinding
 import (
 	"testing"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 	"github.com/redhat-developer/service-binding-operator/pkg/testutils"
 	"github.com/stretchr/testify/require"
diff --git a/pkg/controller/servicebinding/servicebinder_test.go b/pkg/controller/servicebinding/servicebinder_test.go
index 9c85656a..4b3b2d7d 100644
--- a/pkg/controller/servicebinding/servicebinder_test.go
+++ b/pkg/controller/servicebinding/servicebinder_test.go
@@ -8,7 +8,7 @@ import (
 	conditionsv1 "github.com/openshift/custom-resource-status/conditions/v1"
 	"sigs.k8s.io/controller-runtime/pkg/reconcile"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 	"github.com/redhat-developer/service-binding-operator/pkg/testutils"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
diff --git a/pkg/controller/servicebinding/servicecontext_test.go b/pkg/controller/servicebinding/servicecontext_test.go
index 6bbe68fc..f62c0ecd 100644
--- a/pkg/controller/servicebinding/servicecontext_test.go
+++ b/pkg/controller/servicebinding/servicecontext_test.go
@@ -6,7 +6,7 @@ import (
 
 	routev1 "github.com/openshift/api/route/v1"
 	pgv1alpha1 "github.com/operator-backing-service-samples/postgresql-operator/pkg/apis/postgresql/v1alpha1"
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/log"
 	"github.com/redhat-developer/service-binding-operator/pkg/testutils"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
diff --git a/test/e2e/servicebinding_test.go b/test/e2e/servicebinding_test.go
index a4d61574..da368858 100644
--- a/test/e2e/servicebinding_test.go
+++ b/test/e2e/servicebinding_test.go
@@ -26,7 +26,7 @@ import (
 
 	conditionsv1 "github.com/openshift/custom-resource-status/conditions/v1"
 	"github.com/redhat-developer/service-binding-operator/pkg/apis"
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/controller/servicebinding"
 	"github.com/redhat-developer/service-binding-operator/test/mocks"
 )
diff --git a/test/mocks/fake.go b/test/mocks/fake.go
index e3a7d99c..ed5f80fd 100644
--- a/test/mocks/fake.go
+++ b/test/mocks/fake.go
@@ -18,7 +18,7 @@ import (
 	ocav1 "github.com/openshift/api/apps/v1"
 	knativev1 "knative.dev/serving/pkg/apis/serving/v1"
 
-	v1alpha1 "github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	v1alpha1 "github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 )
 
 // Fake defines all the elements to fake a kubernetes api client.
diff --git a/test/mocks/mocks.go b/test/mocks/mocks.go
index 81c31e59..3a416330 100644
--- a/test/mocks/mocks.go
+++ b/test/mocks/mocks.go
@@ -17,7 +17,7 @@ import (
 	"k8s.io/apimachinery/pkg/runtime"
 	"k8s.io/apimachinery/pkg/runtime/schema"
 
-	"github.com/redhat-developer/service-binding-operator/pkg/apis/apps/v1alpha1"
+	"github.com/redhat-developer/service-binding-operator/pkg/apis/operators/v1alpha1"
 	"github.com/redhat-developer/service-binding-operator/pkg/converter"
 
 	knativev1 "knative.dev/serving/pkg/apis/serving/v1"