Skip to content
This repository was archived by the owner on Jun 26, 2024. It is now read-only.

Conversation

pedjak
Copy link
Contributor

@pedjak pedjak commented Jan 25, 2021

The project used relatively old version and staying away from GA 1.x version would further impact our efforts
declared in the roadmap.

The update resulted in major project structural changes and additional simplifications:

  • The content of pkg/apis/operators/v1alpha1/servicebinding_types.go got moved to api/v1alpha1 folder
  • pkg/controller/servicebinding got moved /controllers
  • pkg/controller/servicebinding/binding, pkg/controller/servicebinding/envvars and
    pkg/controller/servicebinding/nested got moved to pkg
  • Simplified Makefile - unused targets got removed, other got simplified.
    Regular dev cycle (build + testing on against CRC/minikube) does not require the existence of operaror-sdk CLI at all
  • Simplified Dockerfile
  • Upgrade to CustomResourceDefinition v1 API, a few tests in test/acceptance/features/bindAppToService.feature
    needed update due to change in k8s error responses

Fixes #622, #448, #813

The project used relatively old version and staying away from GA 1.x version would further impact our efforts
declared in the roadmap.

The update resulted in major project structural changes and additional simplifications:

* The content of `pkg/apis/operators/v1alpha1/servicebinding_types.go` got moved to `api/v1alpha1` folder
* `pkg/controller/servicebinding` got moved `/controllers`
* `pkg/controller/servicebinding/binding`, `pkg/controller/servicebinding/envvars` and
   `pkg/controller/servicebinding/nested` got moved to `pkg`
* Simplified `Makefile` - unused targets got removed, other got simplified.
  Regular dev cycle (build + testing on against CRC/minikube) does not require the existence of operaror-sdk CLI at all
* Simplified `Dockerfile`
* Upgrade to `CustomResourceDefinition` `v1` API, a few tests in `test/acceptance/features/bindAppToService.feature`
  needed update due to change in k8s error responses

Signed-off-by: Predrag Knezevic <[email protected]>
@codecov
Copy link

codecov bot commented Jan 25, 2021

Codecov Report

Merging #848 (4cf92a8) into master (e84f25c) will increase coverage by 0.36%.
The diff coverage is 59.54%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #848      +/-   ##
==========================================
+ Coverage   60.75%   61.11%   +0.36%     
==========================================
  Files          25       25              
  Lines        1906     1893      -13     
==========================================
- Hits         1158     1157       -1     
+ Misses        577      565      -12     
  Partials      171      171              
Impacted Files Coverage Δ
controllers/flag.go 0.00% <0.00%> (ø)
controllers/watch.go 0.00% <0.00%> (ø)
pkg/binding/annotationmapper.go 83.33% <ø> (ø)
pkg/binding/bindinginfo.go 0.00% <ø> (ø)
pkg/binding/model.go 83.33% <ø> (ø)
pkg/binding/value.go 100.00% <ø> (ø)
pkg/envvars/envvars.go 61.40% <ø> (ø)
pkg/nested/path.go 73.33% <ø> (ø)
controllers/servicebinding_controller.go 5.55% <5.55%> (ø)
controllers/common.go 17.39% <17.39%> (ø)
... and 32 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e84f25c...4cf92a8. Read the comment docs.

@pmacik
Copy link
Contributor

pmacik commented Jan 25, 2021

/lgtm
/approve

@openshift-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pmacik

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit ea79796 into redhat-developer:master Jan 25, 2021
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 27, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
pedjak added a commit to pedjak/service-binding-operator that referenced this pull request Jan 28, 2021
…runs

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
openshift-merge-robot pushed a commit that referenced this pull request Jan 28, 2021
…runs (#850)

This fixes regression introduced in PR #848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>
akashshinde added a commit to akashshinde/service-binding-operator that referenced this pull request Feb 3, 2021
added naming strategy and deprecated namePrefix and globalNamePrefix

Fix acceptance tests

fix etcd acceptance test

Added flexible strategy naming docs

Added doc to describe naming strategy

remove service level naming strategy

removed NamingStrategy field from service API

revert back to default naming strategy

Fix regression: previously create test namespace is used across test runs (redhat-developer#850)

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>

Use k8s api condition type for status.conditions (redhat-developer#851)

Condition type got available in 1.19 API. Hence, we can drop the usage of
github.com/openshift/custom-resource-status library.

Signed-off-by: Predrag Knezevic <[email protected]>

Fix ServiceBinding removal when service not exist (redhat-developer#834)

Signed-off-by: qibobo <[email protected]>

Refactor

Fix acceptance tests and revert back the docs

go fmt

Fix failures

Fix acceptance test
akashshinde added a commit to akashshinde/service-binding-operator that referenced this pull request Feb 4, 2021
added naming strategy and deprecated namePrefix and globalNamePrefix

Fix acceptance tests

fix etcd acceptance test

Added flexible strategy naming docs

Added doc to describe naming strategy

remove service level naming strategy

removed NamingStrategy field from service API

revert back to default naming strategy

Fix regression: previously create test namespace is used across test runs (redhat-developer#850)

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>

Use k8s api condition type for status.conditions (redhat-developer#851)

Condition type got available in 1.19 API. Hence, we can drop the usage of
github.com/openshift/custom-resource-status library.

Signed-off-by: Predrag Knezevic <[email protected]>

Fix ServiceBinding removal when service not exist (redhat-developer#834)

Signed-off-by: qibobo <[email protected]>

Refactor

Fix acceptance tests and revert back the docs

go fmt

Fix failures

Fix acceptance test
akashshinde added a commit to akashshinde/service-binding-operator that referenced this pull request Feb 4, 2021
added naming strategy and deprecated namePrefix and globalNamePrefix

Fix acceptance tests

fix etcd acceptance test

Added flexible strategy naming docs

Added doc to describe naming strategy

remove service level naming strategy

removed NamingStrategy field from service API

revert back to default naming strategy

Fix regression: previously create test namespace is used across test runs (redhat-developer#850)

This fixes regression introduced in PR redhat-developer#848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>

Use k8s api condition type for status.conditions (redhat-developer#851)

Condition type got available in 1.19 API. Hence, we can drop the usage of
github.com/openshift/custom-resource-status library.

Signed-off-by: Predrag Knezevic <[email protected]>

Fix ServiceBinding removal when service not exist (redhat-developer#834)

Signed-off-by: qibobo <[email protected]>

Refactor

Fix acceptance tests and revert back the docs

go fmt

Fix failures

Fix acceptance test
akashshinde added a commit that referenced this pull request Feb 5, 2021
added naming strategy and deprecated namePrefix and globalNamePrefix

Fix acceptance tests

fix etcd acceptance test

Added flexible strategy naming docs

Added doc to describe naming strategy

remove service level naming strategy

removed NamingStrategy field from service API

revert back to default naming strategy

Fix regression: previously create test namespace is used across test runs (#850)

This fixes regression introduced in PR #848 - we should reuse created test namespace
across multiple runs of acceptance tests

Signed-off-by: Predrag Knezevic <[email protected]>

Use k8s api condition type for status.conditions (#851)

Condition type got available in 1.19 API. Hence, we can drop the usage of
github.com/openshift/custom-resource-status library.

Signed-off-by: Predrag Knezevic <[email protected]>

Fix ServiceBinding removal when service not exist (#834)

Signed-off-by: qibobo <[email protected]>

Refactor

Fix acceptance tests and revert back the docs

go fmt

Fix failures

Fix acceptance test

Signed-off-by: akashshinde <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

Signed-off-by: Andy Sadler <[email protected]>
@sadlerap sadlerap mentioned this pull request Apr 7, 2022
4 tasks
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  This requires a version bump
of kustomize to work.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  There are still a few tools
that require `go get`, but for those that don't, we should use the new
installation method.  This requires a version bump of kustomize to work.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  There are still a few tools
that require `go get`, but for those that don't, we should use the new
installation method.  This requires a version bump of kustomize to work.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  There are still a few tools
that require `go get`, but for those that don't, we should use the new
installation method.  This requires a version bump of kustomize to work.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  This requires a version bump
of kustomize to work correctly.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  This requires a version bump
of kustomize to work correctly as well as adding an extra step to
install a recent version of go in the non-OLM github actions acceptance
test runner.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, we should be using `go install` instead of the now
deprecated `go get` when we install tools.  This requires a version bump
of kustomize to work correctly as well as adding an extra step to
install a recent version of go in the non-OLM github actions acceptance
test runner.

Finally, with the release of go 1.18, our go linting needs to become
aware of this new release, since our linting runs with the latest
release of go.  This can be fixed by updating the golangci/golangci-lint
runner to v1.45.2 -- it will autodetect the language version of our
project since v1.45.1.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 7, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, use `go install` instead of the deprecated `go get`
when we install local build tools, such as controller-gen, yq, and
kustomize.  This requires a version bump of kustomize to work correctly
as well as adding an extra step to install a recent version of go in the
non-OLM github actions acceptance test runner.

Finally, with the release of go 1.18, our go linting needs to become
aware of this new release, since our linting runs with the latest
release of go.  This can be fixed by updating the golangci/golangci-lint
runner to v1.45.2 -- it will autodetect the language version of our
project since v1.45.1.

Signed-off-by: Andy Sadler <[email protected]>
sadlerap added a commit to sadlerap/service-binding-operator that referenced this pull request Apr 8, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (redhat-developer#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, use `go install` instead of the deprecated `go get`
when we install local build tools, such as controller-gen, yq, and
kustomize.  This requires a version bump of kustomize to work correctly
as well as adding an extra step to install a recent version of go in the
non-OLM github actions acceptance test runner.

Finally, with the release of go 1.18, our go linting needs to become
aware of this new release, since our linting runs with the latest
release of go.  This can be fixed by updating the golangci/golangci-lint
runner to v1.45.2; since v1.45.1, it will autodetect the language
version of a project.

Signed-off-by: Andy Sadler <[email protected]>
openshift-merge-robot pushed a commit that referenced this pull request Apr 8, 2022
In commit ea79796 ("update to operator-sdk 1.3.0 (#848)"), we upgraded
controller-gen to 0.8.0.  However, v0.8.0 requires go 1.17 or greater,
which is currently unavailable in Red Hat's container registries (i.e.
there's no container on catalog.redhat.com); consequently, SBO is built
with go 1.16.  Until that is rectified, downgrade controller-gen to
0.7.0, which builds with go 1.16.

At the same time, use `go install` instead of the deprecated `go get`
when we install local build tools, such as controller-gen, yq, and
kustomize.  This requires a version bump of kustomize to work correctly
as well as adding an extra step to install a recent version of go in the
non-OLM github actions acceptance test runner.

Finally, with the release of go 1.18, our go linting needs to become
aware of this new release, since our linting runs with the latest
release of go.  This can be fixed by updating the golangci/golangci-lint
runner to v1.45.2; since v1.45.1, it will autodetect the language
version of a project.

Signed-off-by: Andy Sadler <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update osdk to v1.0.0
4 participants