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

Drop Support binding N services to M application using single ServiceBinding resource #899

Closed
jasperchui opened this issue Mar 4, 2021 · 3 comments

Comments

@jasperchui
Copy link

jasperchui commented Mar 4, 2021

Use Case:

ServiceBinding resource allows declaring multiple services and multiple application.

Reasons:

Although this looks at first as a handy shortcut, using this might cause a few issues:

A binding item from one service can be shadowed by another from another service (when binding keys are the same). Likelihood is very high, given that expected key names are username/password/url/… The issue can be worked around by introducing binding key prefixes or some custom naming conventions so that the keys become unique, but then it might be that such bindings cannot be consumed by application, i.e. it needs to be modified to support that
Unbind operation becomes all or nothing, i.e. it is not possible to unbind single service
What about updating/editing impact? I want to edit one service’s binding resources, how does it impact the applications that are consuming it?

Requirements:

Check the status with documentation
Check the status and alignment with existing sample code

@jasperchui jasperchui added this to the GA milestone Mar 22, 2021
@DhritiShikhar
Copy link
Contributor

@jasperchui We do not support binding to M applications through a single ServiceBinding CR.

@pedjak
Copy link
Contributor

pedjak commented Jul 14, 2021

Let's pause on this because there is an open issues at spec about adding support for so called ComposedServices. The current ability in our API allows exactly that. Furthermore, we have seen that Crunchy Postgres operator creates additional secret that is not referred by DB resources and only way at the moment to bind to such database (without patching the operator) is to specify both resources.

Edit(@baijum): Fix link

@pedjak pedjak modified the milestones: 0.9, GA Jul 15, 2021
@pedjak pedjak removed this from the GA milestone Sep 6, 2021
@sadlerap
Copy link
Contributor

This is still possible via annotations & label selectors, which is the intended behavior.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants