Consider reading our previous blog post Introducing BUCC (BOSH, UAA Credhub and Concourse), as it explains a lot of why we created BUCC.

In this blog post we will walk through the steps of setting up BUCC on your local machine.

Prerequisites
Get BUCC
git clone https://github.com/starkandwayne/bucc.git
cd bucc
direnv allow

Buckle Up

With the BUCC up command we can choose between a lot of CPIs (e.g. aws, vsphere, gcp, etc).

But here, we are going to use the Virtualbox CPI (which is the default).

Run the bucc up command.

bucc up

Deployment manifest: '/home/workspace/bucc/src/bosh-deployment/bosh.yml'
Deployment state: '/home/workspace/bucc/state/state.json'

Started validating
  Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh'... Finished (00:00:02)
  Downloading release 'bosh-virtualbox-cpi'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh-virtualbox-cpi'... Finished (00:00:02)
  Downloading release 'os-conf'... Skipped [Found in local cache] (00:00:00)
  Validating release 'os-conf'... Finished (00:00:00)
  Downloading release 'bosh-warden-cpi'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh-warden-cpi'... Finished (00:00:01)
  Downloading release 'garden-runc'... Skipped [Found in local cache] (00:00:00)
  Validating release 'garden-runc'... Finished (00:00:01)
  Downloading release 'uaa'... Skipped [Found in local cache] (00:00:00)
  Validating release 'uaa'... Finished (00:00:01)
  Downloading release 'concourse'... Skipped [Found in local cache] (00:00:00)
  Validating release 'concourse'... Finished (00:00:04)
  Downloading release 'credhub'... Skipped [Found in local cache] (00:00:00)
  Validating release 'credhub'... Finished (00:00:01)
  Validating cpi release... Finished (00:00:00)
  Validating deployment manifest... Finished (00:00:00)
  Downloading stemcell... Skipped [Found in local cache] (00:00:00)
  Validating stemcell... Finished (00:00:11)
Finished validating (00:00:26)

Started installing CPI
  Compiling package 'golang_1.7/21609f611781e8586e713cfd7ceb389cee429c5a'... Finished (00:00:20)
  Compiling package 'virtualbox_cpi/e293cbbb8359fd2cbbb9777b7b91fd142ab6c688'... Finished (00:00:11)
  Installing packages... Finished (00:00:03)
  Rendering job templates... Finished (00:00:00)
  Installing job 'virtualbox_cpi'... Finished (00:00:00)
Finished installing CPI (00:00:35)

Starting registry... Finished (00:00:00)
Uploading stemcell 'bosh-vsphere-esxi-ubuntu-trusty-go_agent/3421.9'... Finished (00:00:13)

Started deploying
  Creating VM for instance 'bosh/0' from stemcell 'sc-e6e04d15-ad19-4172-4ae7-149c42872916'... Finished (00:00:01)
  Waiting for the agent on VM 'vm-9116ed45-d227-4d1e-5efa-b5ce42a85e7f' to be ready... Finished (00:00:41)
  Creating disk... Finished (00:00:00)
  Attaching disk 'disk-3e7d9fea-ddd7-4854-76aa-d0e19b173775' to VM 'vm-9116ed45-d227-4d1e-5efa-b5ce42a85e7f'... Finished (00:00:06)
  Rendering job templates... Finished (00:00:10)
  Compiling package 'libseccomp/7a54b27a61b42980935e863d7060dc5a076b44d0'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'golang_1.7.1/91909d54d203acc915a4392b52c37716e15b5aff'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'apparmor/c8e25d84146677878c699ddc5cdd893030acb26f'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'golang/57b32e5a561e23701e9017d0abed6b9e925ec2ff'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'openjdk_1.8.0/01f437bd5f45eb8e3f1214cc7b5f54bdf9781118'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'golang_1.7/21609f611781e8586e713cfd7ceb389cee429c5a'... Finished (00:00:21)
  Compiling package 'ruby/c1086875b047d112e46756dcb63d8f19e63b3ac4'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'golang_1.7/c82ff355bb4bd412a4397dba778682293cd4f392'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'runc/68f36fbe363fefa5ec8d44b48ee30a56ac6e1e0e'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'worker_version/bc790e9ddcfcaf3f3f6dca527151c94209c35843'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'concourse_version/a5697bd67296d5f0d43afad90218a1b94911dff9'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'mysql/b7e73acc0bfe05f1c6cbfd97bf92d39b0d3155d5'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'libpq/661f5817afe24fa2f18946d2757bff63246b1d0d'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'archive_resource/eb8265d143eb11fe3137b690c40be3c2fd433510'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'generated_signing_key/00b5b02050bc6588cdfe9e523b2ba24a6c9de3c7'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'resource_discovery/0a1b0f4b48b2c8f9f9ed6019935ab3b1919c952a'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'pid_utils/a1f0590ea02d938b933a101c7438985721cd0ab4'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'docker_image_resource/700cb3f33b63a85615f428d98c2101a1f351b479'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'groundcrew/7b24f2447816b7d0df9dbebaf3b0cebbef3d9369'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'baggageclaim/160bf4cb540805dcd306a726ece308f634172c17'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'credhub/576fdf5fceb0cf06153e4efa70fc559c1bc263be'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'virtualbox_cpi/e293cbbb8359fd2cbbb9777b7b91fd142ab6c688'... Finished (00:00:19)
  Compiling package 'bosh_io_stemcell_resource/2fe7524c563d2d0cb21a88c4bc7dc3c06d15265f'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'health_monitor/e9317b2ad349f019e69261558afa587537f06f25'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'tsa/59b899a0c53649a1c67595f124c6d30c00c21051'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'verify_multidigest/8fc5d654cebad7725c34bb08b3f60b912db7094a'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'generated_tsa_host_key/00b5b02050bc6588cdfe9e523b2ba24a6c9de3c7'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'pool_resource/e5f10671fd1938767ae69dc2b660dfa1d14b866f'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'github_release_resource/b31ec6a1d10928f829ab4dc14552df684239c842'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'nginx/2ec2f63293bf6f544e95969bf5e5242bc226a800'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'vagrant_cloud_resource/5f2950486c152ad609fa5ad1d2bc4e8a5f599f18'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'semver_resource/318c561bdbfcb375da31e26a1153266e912d04da'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'tracker_resource/d9f716be444d1451e852a42ef98c3012e629d679'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'davcli/5f08f8d5ab3addd0e11171f739f072b107b30b8c'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'iptables/24e83997945f8817627223c6cee78ca9064f42d5'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'bosh_io_release_resource/1a801e059798d43ab5d6144068deafb90341893e'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'shadow/7a5e46357a33cafc8400a8e3e2e1f6d3a1159cb6'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'git_resource/b5f8f4e2046798e6d357c9df52ec3c28b132a1f4'... Skipped [Package already compiled] (00:00:00)
  Compiling package 's3cli/bb1c1976d221fdadf13a6bc873896cd5e2433580'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'nats/63ae42eb73527625307ff522fb402832b407321d'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'bosh_deployment_resource/fab4efd8b2ed27139eb15ef311f1202f00f7ace8'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'warden_cpi/29ac97b841a747dc238277ffc7d6bf59a278fa37'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'time_resource/96cfa3beb167825c5bc2b33135684dcb70011954'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'generated_worker_key/00b5b02050bc6588cdfe9e523b2ba24a6c9de3c7'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'guardian/c4acb6073abb4e17165253935c923dfbdfbfb188'... Skipped [Package already compiled] (00:00:00)
  Compiling package 's3_resource/522540c90709961062d9ad0978e974a7cf8751b1'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'uaa/517a7bcdf12725b6c1bd39f7c38de9796cd5eb2d'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'postgres/3b1089109c074984577a0bac1b38018d7a2890ef'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'lunaclient/b922e045db5246ec742f0c4d1496844942d6167a'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'tar/f2ea61c537d8eb8cb2d691ce51e8516b28fa5bb7'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'uaa_utils/20557445bf996af17995a5f13bf5f87000600f2e'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'cf_resource/432bc0f191661e40a463f188168b76477ce11198'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'atc/3f57e486f7bdaa1fdd8329157b42c55fd2739e67'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'busybox/fc652425c32d0dad62f45bca18e1899671e2e570'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'director/50af678ba068312e5de229b0558775ebae8d0892'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'btrfs_tools/6856973d0bc2dc673b6740f5e164ba77a77fd4a6'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'postgres-9.4/ded764a075ae7513d4718b7cf200642fdbf81ae4'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'hg_resource/cd6a634e984c26087aedc4ab646678fa3cb0560d'... Skipped [Package already compiled] (00:00:00)
  Compiling package 'fly/71b338bda01b0072b8110e04d454b3b3740402d9'... Skipped [Package already compiled] (00:00:00)
  Updating instance 'bosh/0'... Finished (00:01:50)
  Waiting for instance 'bosh/0' to be running... Finished (00:01:00)
  Running the post-start scripts 'bosh/0'... Finished (00:00:01)
Finished deploying (00:04:45)

Stopping registry... Finished (00:00:00)
Cleaning up rendered CPI jobs... Finished (00:00:00)

Succeeded

This can take up to 15 minutes depending on your internet connection.

We can now test if everything works with the following command:

bucc test

This will try to verify if BOSH, UAA, Credhub and Concourse are working and that we are able to login to those components.

With the following command we can login to BOSH and start using it:

bucc bosh

From here on out you can use all the bosh2 commands like: bosh vms, bosh releases, etc.

You can also check and set up the Concourse that has been deployed on your BUCC:

  • bucc info will show you the URL and login information for the Web UI of Concourse
  • bucc fly will download the fly CLI and connect and log into Concourse

bucc routes will set up a route in linux/mac OS so that traffic intended for BUCC-Lite can be redirected to its locally deployed BOSH VMs.

For all other commands use bucc help.

 bucc help
BUCC (BOSH UAA Credhud Concourse) CLI v0.1
  up -- creates the bucc VM with bosh create-env
  down -- deletes VM with bosh delete-env
  ssh -- ssh into the bucc VM
  env -- sourceable envrionment variables for cli clients
  int -- wrapper for 'bosh2 int' for the bosh manifest
  info -- displays info about bucc deployed endpoints
  vars -- print vars (yaml formatted) for use in pipelines
  bosh -- configures bosh cli
  credhub -- configures credhub cli
  uaac -- configures uaac cli
  fly -- configures fly cli
  routes -- add routes for virtualbox
  test -- check if all systems are operational