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.
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.