Skip to content

Command line utility for standing up a BOSH director on an IAAS of your choice.

License

Notifications You must be signed in to change notification settings

cloudfoundry/bosh-bootloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build

bosh-bootloader

Also known as bbl (pronounced: "bubble"), bosh-bootloader is a command line utility for standing up BOSH on an IaaS. bbl currently supports AWS, GCP, Microsoft Azure, Openstack and vSphere.

Docs

Prerequisites

Install Dependencies

The following should be installed on your local machine

Install bosh-bootloader using a package manager

Mac OS X

$ brew tap cloudfoundry/tap
$ brew install bosh-cli
$ brew install bbl

Usage

IaaS-Specific Getting Started Guides

Managing state

The bbl state directory contains all of the files that were used to create your bosh director. You will need the entire bbl state in order to update, delete, or run bosh commands against the environment, so you should keep it someone anyone on your team can access it. However, it is important to note that the bbl state directory contains very senstive IAAS credentials, so you should keep it somewhere you feel comfortable storing these credentials, such as an encrypted bucket.

filename contents
bbl-state.json Environment name, and bbl version metadata
terraform/ The terraform templates bbl used to pave your IaaS. See docs/advanced-configuration for information on modifying this.
vars/ This is where bbl will store environment specific variables. Consider storing this outside of version control.
jumpbox-deployment/ The latest jumpbox-deployment that has been tested with your version of bbl.
create-jumpbox.sh The BOSH cli command bbl will use to create your jumpbox.
bosh-deployment/ The latest bosh-deployment that has been tested with your version of bbl
create-director.sh The BOSH cli command bbl will use to create your director when you run bbl up. See docs/advanced-configuration for help with modifying this.
cloud-config/ The cloud-config yaml that bbl will upload to the director to map IAAS resources to BOSH resources.
delete-director.sh The BOSH cli command bbl will use to delete your director.
delete-jumpbox.sh The BOSH cli command bbl will use to delete your jumpbox.

Troubleshooting

To turn on debugging traces:

  • BBL: use bbl --debug flag.
  • BOSH: export the BOSH_LOG_LEVEL=debug and the BOSH_LOG_PATH=bosh.log environment variables in the related bbl shell script, such as create-jumpbox.sh.
  • TERRAFORM: export the TF_LOG=TRACE and the TF_LOG_PATH=terraform.log environment variables in the related bbl shell script, such as create-jumpbox.sh.
  • CPI: override or set cpi configuration, e.g. for vsphere cpi within jumpbox-deployment/vsphere/cpi.yml set http_logging: true according to vsphere cpi documentation

Tearing down an environment

Once you are done kicking the tires on CF and BOSH, clean up your environment to save IaaS costs:

  1. You must first delete any deployments on BOSH. e.g. bosh -d cf delete-deployment

  2. bbl destroy with your IaaS user/account information.

Automating the automation tool

In order to use bbl in your concourse pipelines, the current supported way for cf-deployment is to use the cf-deployment-concourse-tasks.

There is a work-in-progress concourse resource for bbl: bbl-state-resource.