Leveraging NSX's Features with BOSH's vSphere CPI

VMWare NSX is a network virtualization platform (frequently paired with the vSphere IaaS (Infrastructure as a Service)). It includes features such as Load Balancers (LBs) and firewall rules, features often found in public-facing IaaSes (e.g. AWS (Amazon Web Services), GCE (Google Compute Engine), and Microsoft Azure) but not native to vSphere. BOSH, a VM orchestrator, includes hooks to interoperate with NSX’s LB and Distributed Firewall features. These hooks enable BOSH to attach created VMs to existing NSX Load Balancer Pools and NSX Distributed Firewall rulesets. BOSH uses NSX’s Security Groups [NSX Security Groups] as the underlying mechanism. ...

November 1, 2016 · 9 min · Brian Cunnie

How to Customize a BOSH Stemcell

In this blog post, we describe the procedure we followed in order to create a custom Google Compute Engine (GCE) stemcell with a user cunnie whose ~/.ssh/authorized_keys is pre-populated with a specific public key. Customizing stemcells is highly discouraged — it voids your warranty, and opens a host of problems which will only cause pain. This post is intended as an educational demonstration of the stemcell building process. You have been warned. ...

September 23, 2016 · 7 min · Brian Cunnie

Updating a BOSH Release

When PowerDNS released version 4.0.1 of their authoritative nameserver, we rushed to update our BOSH Release (which was at version 4.0.0). We thought it would be a walk in the park, but instead it was an epic fail (a final release which couldn’t be deployed because the blobs were broken). In this blog post we describe the procedure we ultimately followed to successfully create an updated BOSH final release of version 4.0.1 of the PowerDNS authoritative nameserver, highlighting some of the tricky and non-obvious steps. ...

September 18, 2016 · 5 min · Brian Cunnie

Concourse has Badges

The Concourse Continuous Integration (CI) server has an API endpoint that displays a badge which shows health of your project: http(s)://concourse-server/api/v1/pipelines/pipeline-name/jobs/job-name/badge 0. Abstract Open Source projects that have CI (e.g. Bootstrap, Node.js) often feature status badges (also known as images or icons) to display the health of their projects. CI servers such as Travis CI offer status badges. Concourse CI also offers status badges. The status badge is a Scalable Vector Graphics (SVG) image available from the Concourse API. [Concourse versions] ...

September 1, 2016 · 3 min · Brian Cunnie

Concourse without a Load Balancer

Abstract Concourse is a continuous integration (CI) server. It can be deployed manually or via BOSH. In this blog post, we describe the BOSH deployment of a Concourse CI server to natively accept Secure Sockets Layer (SSL) connections without using a load balancer. This may reduce the complexity and cost [ELB-pricing] of a Concourse deployment. 2016-09-12: This blog post is obsolete. Newer (v2.0.0+) versions of Concourse allow binding to the privileged ports 80 and 443, eliminating the need for an nginx proxy. Here is an example of a BOSH-deployed Concourse server that binds natively to ports 80 & 443: BOSH manifest. 0. Pre-requisites Deploy Concourse with BOSH. Follow the instructions here. ...

August 26, 2016 · 5 min · Brian Cunnie