How Helm Uses ConfigMaps to Store Data

March 23, 2017

Helm, the package manager for Kubernetes, uses first-class Kubernetes objects to store its data. Here's how we use ConfigMaps to track Helm releases.

Helm follows the formula "Chart + Values = Release". You start with a Helm chart (a software package), you add your own configuration values, and you...

Creating a Helm Plugin in 3 Steps

March 21, 2017

Helm is the package manager for Kubernetes. We recently added a plugin architecture to Helm that makes it easy for you to write new features in any programming language you choose.

In this post, we'll create a simple Helm plugin in three steps:

  • make a directory
  • create a plugin.yaml file
  • write a...

The Story of Helm

March 19, 2017

A while back, the official Deis blog posted The Story of Helm to celebrate Helm's birthday.

Back then, I wrote:

On October 15th, 2015, the project now known as Helm was born. Only one year in, Kubernetes Helm is part of the CNCF, and is marching toward the v2.0.0 release. And in every sense of...

Dockerizing Ruby To Stay Sane

March 18, 2017

Troubled by my long blogging hiatus? This article explains why: My Ruby broke. But this time, I solved that problem once and for all.

For a non-rubyist, the hardest part about Ruby (particularly on a Mac) is getting it installed correctly. After a frustrating Middleman breakage, I decided to take...

Kubernetes 1.4 AMA Video

October 14, 2016

Earlier this week I had the opportunity to participate on a CoreOS-hosted "Ask Me Anything" panel. The topic of the panel was the release of Kubernetes 1.4, and the state of the surrounding ecosystem.

I'm a huge fan of Tim Hockin, who has done a ton of the (often thankless) behind-the-scenes work...

Go In Practice - The Autobiography

October 14, 2016

Go in Practice is now available in print and ebook. After a long haul for Matt Farina and I, the book is complete. Pausing for a moment, I realize how, behind all the code samples and callout boxes, some small part of life is captured in those pages.

Matt and I each went through some pretty crazy...

Why Explicit Versions Still Don't Solve the Problem

July 16, 2016

Explicit Versioning, the latest attempt at solving version naming problems, still doesn't quite cover the normal use cases I encounter daily. But it does capture an idea that SemVer doesn't.

A fascinating blog post on explicit versioning is making the rounds. It proposes a new versioning scheme based...

The Illustrated Children's Guide to Kubernetes

June 17, 2016

Once upon a time, there was a little PHP app named Phippy. The Illustrated Children's Guide to Kubernetes follows Phippy on her journey from a scary hosting provider to a pod on board Captain Kube's ship.

Along with the video, Deis has produced a limited run of the books, in full color with the...

Part-time Coffee Snob

April 8, 2016

Along with code, I get pretty fanatical about my coffee. It was pretty cool to be quoted in Barista Magazine's article How Customers and Coffee Shops Define Quality Differently.

The article is an interesting analysis of a survey that Hand Ground conducted about coffee shop quality and culture....

Go Quickly - Cleaning Filepaths

March 31, 2016

One of the more useful, but underutilized, packages in Go is the path/filepath package. This library contains a dozen or so tools for manipulating paths on the filesystem. Unlike path, filepath functions are aware of the filesystem, and the functions are not merely string manipulators.

I've recently...