You might be surprised at how quickly you can go from nothing to having a full production environment with BOSH. Very surprised. I’d like to share with you a walk thru of getting started with BUCC – the fabulous tool to run BOSH/UAA/CredHub/Concourse locally or in production. It’s like a treat to yourself.
Why add Concourse to your BOSH VM? Good question. It encourages you to stop running bosh deploy
manually and swiftly move to deploying everything with pipelines. Now, on to the show!
Accompanying this video is the https://github.com/starkandwayne/bucc-walk-thru-aws repository. At the end of the article is a list of other referenced tools and URLs.
Background
Two of my colleagues at Stark & Wayne – Ruben Koster and Ramon Makkelie – started a project last year called BUCC. It’s goal was to make it easier to curate the bosh create-env
command when deploying BOSH/UAA/CredHub, to bundle Concourse CI in the same VM to ensure it is imeediately ready to be used for subsequent deployments via CI, and to help discover generated credentials and automatically authenticate local CLI clients.
BUCC – an acronym for BOSH/UAA/CredHub/Concourse – is an ultra convenient Git repository, containing the bucc
CLI, and a collection of bosh create-env
operator files that work so nicely together.
I played with BUCC throughout 2017, and started using it in earnest in late 2017 after writing the section on Secret Parameters for Concourse CI for the Concourse Tutorial. BUCC made it so easy to add CredHub to Concourse CI, and so easy to run a standalone Concourse CI VM on any infrastructure, that it felt silly to not keep using it for production. One of our public Concourse CI, https://ci2.starkandwayne.com, is BUCC deployed to AWS (with a load balancer in the DMZ network to route HTTPS traffic).
For other people, BUCC might primarily be a BOSH environment, that happens to include Concourse CI. I’m now also using BUCC for this purpose. BUCC also includes BOSH Backup & Restore (BBR) configured and ready to run (bucc bbr backup
).
I started explaining my setup to other Stark & Wayne staff, and realized it would be beneficial to all our staff, customers, and friends if I recorded it. Hopefully at 80 minutes its just the right length.
A guide to the walk thru
The video has three main sections.
- Introduction to BUCC
- Walk thru on local machine with VirtualBox, starts at 9m16s
- A big walk thru of using a Jumpbox & BUCC deployed into a production AWS environment, starts at 42m37s
For ten minutes I introduce BUCC, and the problem it is trying to solve for you.
For thirty minutes I run thru bucc up
locally. This uses VirtualBox to provision the BOSH VM, and internally runs the Warden CPI. That is, its a bosh-lite. I call it a bucc-lite. This walk thru follows the normal usage patterns of BUCC – running all commands from within the bucc
project directory.
For the next forty minutes I walk thru a production environment on AWS. We create a VPC with two subnets (a DMZ and private subnet). We create a jumpbox using jumpbox-deployment which is subsequently used as a SOCKS5 proxy. Then we deploy BUCC to AWS. This includes discussing the vars.yml
file that feeds into the bosh-deployment
templates bundled with the bucc
git repo. We setup our BUCC/BOSH and deploy ZooKeeper to it.
This advanced walk thru splits out the bucc
source directory from the environment project directory (where vars.yml
and state is stored). This is a pattern that works well for me to manage multiple BUCC environments.
Finally, we perform a backup of our BUCC, and a restore to a new BUCC VM.
I’m excited to share this and in return I hope to learn your own innovations and production setup.
If you’d like to see more walk thrus of Stark & Wayne processes and tools – whether they are our hardened production processes or experimental tools – please let us know in the comments.
Links
This is a list of links.
- https://github.com/starkandwayne/bucc
- https://github.com/starkandwayne/bucc-walk-thru-aws
- https://github.com/cppforlife/jumpbox-deployment
- https://ultimateguidetobosh.com
- https://bosh.io/docs
- https://direnv.net/
- https://cloudfoundry.slack.com/
- https://concoursetutorial.com/
- https://starkandwayne.com/blog