openservicebrokerapi / servicebroker

Open Service Broker API Specification
https://openservicebrokerapi.org/
Apache License 2.0
1.19k stars 436 forks source link

Ability to declare schema of binding credential output #116

Open bmelville opened 7 years ago

bmelville commented 7 years ago

Binding credentials are a generic map of data, and as such are difficult to reason about or program against in a meaningful way. Similar to issue #59, we would like to support the ability to declare the schema of credential outputs from a binding.

Proposal: https://docs.google.com/document/d/1JbsJgqgNtqthcfYwK_KbS6C8sjElrZNgoLhu40dUPAs/edit?usp=sharing

arschles commented 7 years ago

@bmelville is there any documentation on how the schema works that I can look at?

angarg12 commented 7 years ago

Since binding is a generic operation itself, the output is arbitrary.

Therefore if we schematise the whole output, we will cover this use case (credentials) plus any other possible scenario.

bmelville commented 7 years ago

@arschles if you take a look at issue #59 and its accompanying proposal doc, that should be a good start. Let me know if it doesn't satisfy your questions though.

bmelville commented 7 years ago

I have an initial proposal for this: https://docs.google.com/document/d/1JbsJgqgNtqthcfYwK_KbS6C8sjElrZNgoLhu40dUPAs/edit?usp=sharing

It contains two separate potential proposals.

duglin commented 6 years ago

From 11/12 call, @n3wscott will write-up a proposal

pmorie commented 6 years ago

Should this issue be in validating-through-implementation now that #392 is in that state?

mattmcneeney commented 6 years ago

@pmorie I think so. Unless people were interested in having one schema for the API response to a create binding call, and another schema for the GET binding endpoint being implemented by #333 (i.e. different schema for the API response vs the actual resource).

mattmcneeney commented 5 years ago

We spoke about this on today's OSBAPI weekly call. We think that a proposal similar to the kinds discussion we had a the last face-to-face is more powerful than this.

A proposal like this would provide a couple of benefits:

  1. App developers could swap services easily if they knew that their application was going to work with services from a number of different providers (i.e. if there was a standard for what a MySQL service binding looked like)
  2. Having standard binding structures would make it easier for developers to build libraries to consume service bindings (similar to the above), making it easier to build applications

We are waiting for an owner to volunteer to pick this one up, as we are currently tied up with the Extensions work.

hsiliev commented 5 years ago

Our group in SAP is currently working with CF and k8s brokers. Some of the brokers we use provide IaaS native AWS, GCP and Azure services. Credentials for the same backing service (PostgreSQL for instance) might be slightly different: uri vs url, user vs username, etc.

We see a structured way to handle credentials (schema) as a way to solve the above issue.