Re: Improving Service Access in Cloud Foundry Application Runtime

Krannich, Bernd <bernd.krannich@...>

Hi Matt,


I was already tempted to ping you about the status of the topic. Seems like all the lobbying I did, both in writing [1] and in person is coming to a good end. ūüėČ


I already left my feedback in the document and the suggested solution you outlined below looks good from my perspective.


Thanks so much, I believe users will like this quite a bit!







From: <cf-dev@...> on behalf of Matt McNeeney <mmcneeney@...>
Reply-To: "cf-dev@..." <cf-dev@...>
Date: Tuesday, 15. May 2018 at 10:15
To: "Discussions about Cloud Foundry projects and the system overall." <cf-dev@...>
Subject: [cf-dev] Improving Service Access in Cloud Foundry Application Runtime


Hi all,


In Cloud Foundry Application Runtime, a Service Broker can only be registered once (either globally or space-scoped). This is because the Cloud Controller detects conflicts in the information exposed in a Service Broker's Catalog. However, we are aware of a number of use cases in which the same Service Broker should be registered multiple times in the platform, for example:

  • Development teams want to try out different Service Brokers for development (databases are commonly used) and register these as space-scoped. In multi-tenant environments, only the 'first' development team who tries to register a given Service Broker would succeed.
  • Different lines of business in a company want to register the same service broker (but using different credentials for billing purposes) into their Cloud Foundry orgs or spaces. These credentials are provided to the platform when a Service Broker is being created (or updated).


The CF Services API team would like to tackle this problem and have outlined a number of possible solutions in this proposal [0]. The solution we believe best solves this problem is allowing the name of a Service Broker to be used as an optional argument when multiple services with the same name are available in the marketplace. This would mean exposing the user-defined name of Service Brokers to all developers for the first time (we don't believe these to be confidential), and updating a number of CLI commands to display/consume this additional field.


For example, the marketplace would now should the name of a broker:


$ cf marketplace

service           plans         broker          description

service1          small         broker1         An example service

service1          small         broker2         An example service


And to create a new service instance using service1, the broker name would have to be provided:


$ cf create-service service1 small my-service

More than one service called ‚Äėmysql‚Äô is available. Please specify the name of the broker from which to provision this service with the ‚Äė-b‚Äô flag.


$ cf create-service service1 small my-service -b broker1




We are looking for feedback on this proposal before we start this work, so please provide any feedback you have over the next week!






Join { to automatically receive all group messages.