// Do not edit this file (e.g. go instead to src/main/asciidoc) Integration between https://github.com/cloudfoundry[Cloud Foundry] and https://github.com/spring-cloud[Spring Cloud]. == Service Broker Example Example script to deploy and regis#ter a broker: ``` DOMAIN=mydomain.net cf push app -p target/*.jar --no-start cf env app | grep SPRING_PROFILES_ACTIVE || cf set-env app SPRING_PROFILES_ACTIVE cloud cf env app | grep APPLICATION_DOMAIN || cf set-env app APPLICATION_DOMAIN ${DOMAIN} cf services | grep configserver && cf bind app configserver cf restart app cf create-service-broker app user secure http://app.${DOMAIN} for f in `cf curl /v2/service_plans | grep '\"guid' | sed -e 's/.*: "//' -e 's/".*//'`; do cf curl v2/service_plans/$f -X PUT -d '{"public":true}' done cf create-service app free appi ``` At which point you have a service called "app" and a service instance called "appi": ``` $ cf marketplace OK service plans description app free Singleton service app $ cf services Getting services in org default / space development as admin... OK name service plan bound apps appi app free ``` Your application can define a configuration property `application.domain` (defaults to "cfapps.io") which will be used to construct the credentials for any app that binds to your service. Or it can define the URI directly using `cloudfoundry.service.definition.metadata.uri`. You can change some other basic metadata by setting config properties: * `cloudfoundry.service.definition.*` is bound to a `ServiceDefinition` (defined in spring-boot-cf-service-broker) which has optional setters for plans and metadata. * `cloudfoundry.service.broker.*` is bound to an internal bean. It has optional setters for "name" (the service name), "description" (user friendly description) and "prefix" (used to create a unique id from the name). An app which binds to your service will get credentials that contain a "uri" property linking to your service. A Spring Boot app can bind to that through the `vcap.services.[service].credentials.uri` environment property. If your service also has a https://github.com/Netflix/eureka[Eureka core] dependency, and you can expose it as a Eureka service, then any service which registers with Eureka will also become a Cloud Foundry service.