Support binding to services deployed from Helm Chart
ServiceBinding should support binding to deployed Helm Charts.
This would dramatically increase the usefulness of the Service Binding Operator. Helm Charts are the most used way how to deploy prepackaged services to Kubernetes cluters.
+1
@kadel can you provide more details why currently SBO cannot bind services deployed through Helm charts, and how this improvement should look like from user perspective?
@kadel can you provide more details why currently SBO cannot bind services deployed through Helm charts
Currently, the user needs to know the internals (all Kubernetes resources) of the Helm chart. Essentially you need to reverse engineer helm Chart to understand what resources were created in order to create ServiceBinding.
It would be great if SBO understands Helm Charts and the user can just point to the Chart, and SBO does the rest.
Similarly how you can bind to operator services just pointing to CR.
services:
- group: postgresql.baiju.dev
version: v1alpha1
kind: Database
name: db-demo
After I install some helm Chart for example helm install mydb bitnami/mysql
It would be great if the user can just point to the installed Chart in ServiceBinding, for example, something like this
services:
- helm: mydb
I think we can close this issue as SBO supports helm charts through: https://github.com/redhat-developer/service-endpoint-definition
The original idea was that the SBO should allow binding to any Helm Chart. Without SBO users required to understand what resources are inside the Helm Chart and allow binding to most of the already existing Helm Charts.
I haven't checked the SED's yet, but from a quick README read it doesn't look like it would solve this.
FYI, @kadel, I have added this issue for discussion on Jul 21st community call.
The way I see this, most helm charts do not provide a CRD. However the Helm chart itself could provide a secret and an SBO CR already referencing that secret on the service side and a label selector on the workload side. Then other charts using that service will just need to figure out what labels to use so the binding happens automatically.