14/04/2021: This repo is now deprecated. Related use-cases are now served at Orange by https://github.com/orange-cloudfoundry/cf-ops-automation-broker
This component uses bosh rest API to automate programmatic deployment and update
Bosh deployer usage overview (as a service broker component)
Design:
bosh zuul: as bosh director is usually hidden in private networks with a specific https port (25555), exposing it with an API Gateway makes sense. The spring cloud zuul solution is used, with an errand to push it to cloudfoundry. the Bosh Director must be configured with ssl authent (basic auth) is still performed by Bosh Director
Bosh API client: the spring cloud feign framework is used to map the Director REST API. An additional OkHttp Client is used, to able to pass http proxies and perform some adjustement to Director REST response for Feign compatibility
Cloudfoundry broker: the spring cloud cloudfoundry Service Broker implementation is used
see:
bosh features
cloudfoundry service broker, with spring boot
consul dns reference