Concourse CI on Kubernetes (GKE), Part 2: Ingress

In our previous blog post, we set up our Kubernetes cluster and deployed a pod running nginx, but the experience was disappointing—we couldn’t browse to our pod. Let’s fix that by deploying the nginx Ingress controller. Acquire the External IP Address (Elastic IP) We’ll use the Google Cloud console to acquire the external address [external address] for our load balancer. Navigate to VPC network → External IP addresses → Reserve Static Address:...

August 7, 2021 · 3 min · Brian Cunnie

Concourse CI on Kubernetes (GKE), Part 1: Terraform

Let’s deploy Concourse, a continuous-integration, continuous delivery (CI/CD) application (similar to Jenkins and CircleCI). We’ll deploy it to Google Cloud, to our Google Kubernetes Engine (GKE). In this post, we’ll use HashiCorp’s Terraform to create our cluster. We assume you’ve already installed the terraform command-line interface (CLI) and created a Google Cloud account. mkdir -p ~/workspace/gke cd ~/workspace/gke Next we download the terraform templates and terraform vars file: curl -OL https://raw....

August 6, 2021 · 5 min · Brian Cunnie

The Old Blog is Dead. Long Live the New Blog!

Why am I creating a new blog? What was wrong with the old blog? Why don’t I use Medium? The short version: The old blog is frozen in time, like a prince caught in amber 1 or a dandy in aspic 2. I can no longer post to it. The old blog, the Pivotal Engineering Journal, which many of Pivotal’s engineers contributed to, was archived a year after VMware acquired Pivotal....

July 18, 2021 · 2 min · Brian Cunnie

Flow Your Tests Like Your Code

My co-worker Belinda Liu turned to me and said, “I don’t like these tests at all; they’re hard to follow, and I’m not sure what they’re testing.” I looked at the tests that I had spent much of yesterday afternoon working on. She was right: they were hard to follow (even for me, who had written some of them!). How had we gotten here? Our code was straightforward, but our tests were byzantine (excessively complicated)....

February 16, 2020 · 6 min · Brian Cunnie

How To Enable IPv6 on Your Cloud Foundry's HAProxy

0. Abstract HAProxy is an optional load balancer included in the canonical open source Cloud Foundry deployment. Its intended use is on IaaSes (Infrastructures as a Service) that do not offer built-in load balancers [0]. On vSphere, this means without the optional network virtualization solutions, NSX-T and NSX-V. This blog post describes how to assign an IPv6 address to an HAProxy load balancer in a Cloud Foundry deployment. 1. Pre-requisites Users following this blog post should be familiar with BOSH, BOSH’s manifest operations files, IPv6, and deploying Cloud Foundry using cf-deployment....

February 1, 2020 · 7 min · Brian Cunnie