Skip to content
This repository was archived by the owner on Jun 26, 2024. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,4 @@ bundle
bundle.Dockerfile
config/crd/bases/_.yaml
.cache
config/manager/kustomization.yaml
4 changes: 2 additions & 2 deletions pkg/reconcile/pipeline/context/service/crd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ var _ = Describe("CRD", func() {

It("should be bindable if marked as provisioned service", func() {
u := &unstructured.Unstructured{}
annotations := map[string]string{
labels := map[string]string{
binding.ProvisionedServiceAnnotationKey: "true",
}
u.SetAnnotations(annotations)
u.SetLabels(labels)
crd := &customResourceDefinition{resource: u, client: client}

Expect(crd.IsBindable()).To(BeTrue())
Expand Down
11 changes: 7 additions & 4 deletions pkg/reconcile/pipeline/context/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,15 +235,18 @@ func (c *customResourceDefinition) kind() string {
}

func (c *customResourceDefinition) IsBindable() (bool, error) {
labels := make(map[string]string)
util.MergeMaps(labels, c.resource.GetLabels())
val, found := labels[binding.ProvisionedServiceAnnotationKey]
if found && val == "true" {
return true, nil
}

annotations := make(map[string]string)
util.MergeMaps(annotations, c.resource.GetAnnotations())
if len(annotations) == 0 {
return false, nil
}
val, found := annotations[binding.ProvisionedServiceAnnotationKey]
if found && val == "true" {
return true, nil
}

for k := range annotations {
if ok, err := binding.IsServiceBindingAnnotation(k); ok && err == nil {
Expand Down
2 changes: 1 addition & 1 deletion pkg/reconcile/pipeline/handler/collect/impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ func ProvisionedService(ctx pipeline.Context) {
if crd == nil {
continue
}
v, ok := crd.Resource().GetAnnotations()[binding.ProvisionedServiceAnnotationKey]
v, ok := crd.Resource().GetLabels()[binding.ProvisionedServiceAnnotationKey]
if ok && v == "true" {
requestRetry(ctx, ErrorReadingBindingReason, fmt.Errorf("CRD of service %v/%v indicates provisioned service, but no secret name provided under .status.binding.name", res.GetNamespace(), res.GetName()))
return
Expand Down
2 changes: 1 addition & 1 deletion pkg/reconcile/pipeline/handler/collect/impl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@ var _ = Describe("Collect From Provisioned Service", func() {
err := errors.New("CRD of service ns1/foo indicates provisioned service, but no secret name provided under .status.binding.name")
crd := mocks.NewMockCRD(mockCtrl)
u := &unstructured.Unstructured{}
u.SetAnnotations(map[string]string{binding.ProvisionedServiceAnnotationKey: "true"})
u.SetLabels(map[string]string{binding.ProvisionedServiceAnnotationKey: "true"})

crd.EXPECT().Resource().Return(u)

Expand Down
52 changes: 51 additions & 1 deletion test/_projects/api-client/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,57 @@ go 1.18

require (
github.com/redhat-developer/service-binding-operator v0.0.0
k8s.io/apimachinery v0.22.1
k8s.io/apimachinery v0.23.0
)

require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.1.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/go-logr/logr v1.2.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.5 // indirect
github.com/google/gofuzz v1.1.0 // indirect
github.com/google/uuid v1.1.2 // indirect
github.com/googleapis/gnostic v0.5.5 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.11.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.28.0 // indirect
github.com/prometheus/procfs v0.6.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.0.0-20220906165146-f3363e06e74c // indirect
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 // indirect
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
k8s.io/api v0.23.0 // indirect
k8s.io/apiextensions-apiserver v0.23.0 // indirect
k8s.io/client-go v0.23.0 // indirect
k8s.io/component-base v0.23.0 // indirect
k8s.io/klog/v2 v2.30.0 // indirect
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect
k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b // indirect
sigs.k8s.io/controller-runtime v0.11.0 // indirect
sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)

replace github.com/redhat-developer/service-binding-operator => ../../..
53 changes: 51 additions & 2 deletions test/_projects/api-controller/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,57 @@ go 1.18

require (
github.com/redhat-developer/service-binding-operator v0.0.0
k8s.io/apimachinery v0.22.1
sigs.k8s.io/controller-runtime v0.10.0
k8s.io/apimachinery v0.23.0
sigs.k8s.io/controller-runtime v0.11.0
)

require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.1.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/go-logr/logr v1.2.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.5 // indirect
github.com/google/gofuzz v1.1.0 // indirect
github.com/google/uuid v1.1.2 // indirect
github.com/googleapis/gnostic v0.5.5 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.11.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.28.0 // indirect
github.com/prometheus/procfs v0.6.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.0.0-20220906165146-f3363e06e74c // indirect
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10 // indirect
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
k8s.io/api v0.23.0 // indirect
k8s.io/apiextensions-apiserver v0.23.0 // indirect
k8s.io/client-go v0.23.0 // indirect
k8s.io/component-base v0.23.0 // indirect
k8s.io/klog/v2 v2.30.0 // indirect
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect
k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b // indirect
sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)

replace github.com/redhat-developer/service-binding-operator => ../../..
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Feature: Bind application to provisioned service
kind: CustomResourceDefinition
metadata:
name: provisionedbackends.stable.example.com
annotations:
labels:
"servicebinding.io/provisioned-service": "true"
spec:
group: stable.example.com
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,6 @@ Feature: Support a number of existing operator-backed services out of the box
resource: deployments
"""
Then Service Binding is ready
And Kind RabbitmqCluster with apiVersion rabbitmq.com/v1beta1 is listed in bindable kinds
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have send a PR to add the label: rabbitmq/cluster-operator#1165
For now, I have removed this test.

And Content of file "/bindings/$scenario_id/type" in application pod is
"""
rabbitmq
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: provisionedbackends.stable.example.com
labels:
"servicebinding.io/provisioned-service": "true"
spec:
group: stable.example.com
versions:
Expand Down Expand Up @@ -48,4 +50,4 @@ metadata:
rules:
- apiGroups: ["stable.example.com"]
resources: ["*"]
verbs: ["get", "list"]
verbs: ["get", "list"]
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: betaprovisionedbackends.stable.example.com
annotations:
labels:
"servicebinding.io/provisioned-service": "true"
spec:
group: stable.example.com
Expand All @@ -14,4 +14,4 @@ spec:
names:
plural: betaprovisionedbackends
singular: betaprovisionedbackend
kind: BetaProvisionedBackend
kind: BetaProvisionedBackend
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: provisionedbackends.stable.example.com
annotations:
labels:
"servicebinding.io/provisioned-service": "true"
spec:
group: stable.example.com
Expand Down Expand Up @@ -50,4 +50,4 @@ metadata:
rules:
- apiGroups: ["stable.example.com"]
resources: ["provisionedbackends"]
verbs: ["get", "list"]
verbs: ["get", "list"]