Traveling BOSH CLI – no more installation pain

clam

As a trainer, contributor, fanboy, and consultant for BOSH it has been frustrating watching other sysadmins attempt to get started with BOSH – the project for release engineering, deployment, and lifecycle management of large-scale cloud software.

Using BOSH can be fantastic – watching it boot up dozens of VMs, to have a fulling running production PaaS like Cloud Foundry in 10s of minutes, and watching it automatically resurrect VMs – but new users can lose hope before they ever get BOSH running.

Why is it so hard? The BOSH CLI is written in Ruby and requires many dependencies. It requires a modern Ruby, and that Ruby needs to have been built against several optional system extensions. On many default systems the default ruby isn’t sufficient; and the errors from running bosh aren’t helpful.

Sysadmins now have a new way to install the BOSH CLI without first requiring complex Ruby installation. The project is called traveling-bosh.

To install for one user:

curl -s https://raw.githubusercontent.com/cloudfoundry-community/traveling-bosh/master/scripts/installer | bash

To install for all users:

curl -s https://raw.githubusercontent.com/cloudfoundry-community/traveling-bosh/master/scripts/installer | sudo bash

Afterwards, restart your terminal session to update your $PATH.

Not only is the bosh CLI installed, but also spiff [link] and Hashicorp’s terraform [link]. The latter two are growing in their use for preparing manifests or setting up IaaS networking (something BOSH itself doesn’t do).

Additionally, the bosh-bootstrap plugin is pre-installed. This means you can immediately bootstrap a new micro BOSH against AWS, OpenStack or vSphere:

bosh bootstrap deploy

Finally, you only need to remember the curl | bash installation once. There is a plugin included to make upgrading easy:

bosh update cli

Thanks

Thanks so much to the Phusion team for starting the traveling-ruby project.

tr

Hongli Lai has been a great sport in building out extra native C rubygems that I needed for the bosh and bosh micro deploy commands.

Also, thanks to Mitchell Hashimoto for letting me bundle terraform and its plugins. More and more I can see terraform being useful as part of BOSH.

We have been working on some terraform modules that will make it very easy to bootstrap entire Cloud Foundry platforms from scratch. Looking forward to sharing those soon!

Finally, thanks again to the BOSH core team, and to Pivotal who massively sponsor the BOSH project as part of their commitment to the Cloud Foundry Foundation.

Spread the word

twitter icon facebook icon linkedin icon