Matt Butcher's Blog, page 3

April 7, 2017

GoUtils joins Masterminds

I am happy to announce that GoUtils is now part of the Masterminds project on GitHub.

GoUtils implements many of the string utility functions found in Java's Apache Commons. Alex, the lead developer on GoUtils, created the library in 2014. Other Masterminds libraries, notably Sprig have long relied upon GoUtils, so we are thrilled to have it as part of the project.

Masterminds is home to several highly successful projects, including Glide, the Go dependency manager, the HTML5-PHP parser,...

 •  0 comments  •  flag
Share on Twitter
Published on April 07, 2017 07:31

April 4, 2017

If Kubernetes Is Your Home, Helm Is Your Ikea

Kubernetes provides a home for all your containerized applications. But how do you get that home furnished with the likes of databases and web apps? That's where Helm comes in. If Kubernetes is your home, Helm is where you get your furniture.

Kubernetes is a home for you apps

Kubernetes takes a cluster of machines (bare metal or VMs) and overlays a sophisticated container management system. Following the principles of declarative infrastructure, Kubernetes provides dozens of kinds of res...

 •  0 comments  •  flag
Share on Twitter
Published on April 04, 2017 19:32

April 3, 2017

3 GitHub Commandline Tools

Sometimes it's nice to work with GitHub from the command line. This post covers three tools for working with GitHub: hub, ghi, and github-release.

Most of the time, when we work with GitHub, we use the main git client. This is great for working with source code, but what about interacting with other aspects of GitHub, like the issue queue, pull requests, or releases? There are a few tools for making this easier. I've picked the ones that are my favorites.

The General Tool: hub

The hub...

 •  0 comments  •  flag
Share on Twitter
Published on April 03, 2017 20:29

Command Line Searching with grep, find, and ag

There are lots of tools for searching files on the UNIX (macOS, Linux) command line. Which one do you use? Let's look at grep, find, and ag to understand which tool is the best for a particular search job.

Three Search Tools

There are three tools we'll look at here:

grep: This tool is for using a regular expression to search the content of one or more files. find: This is a tool for searching directory trees to find files that match certain criteria. ag: Called The Silver Searcher (a...
 •  0 comments  •  flag
Share on Twitter
Published on April 03, 2017 08:26

March 23, 2017

How Helm Uses ConfigMaps to Store Data

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 install it into your cluster. That makes a release.

On the command line, we do this with the following command:

$ helm install -f config.yaml stable/wordpress NAME: amber-gopher LAST...
 •  0 comments  •  flag
Share on Twitter
Published on March 23, 2017 13:49

March 21, 2017

Creating a Helm Plugin in 3 Steps

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 simple plugin in shell script Step 1: Create a Directory

The first step in creating a plugin is to create a new directory to hold your plugin:

$ cd $(helm home)/plugins $ mkdir hello $ cd hello ...
 •  0 comments  •  flag
Share on Twitter
Published on March 21, 2017 12:51

March 19, 2017

The Story of Helm

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 the word, it is now a community-driven project. But the circumstances behind the creation of Helm read like a script for a Silicon Valley tech comedy.

It's only been a few months, and:

The 2....
 •  0 comments  •  flag
Share on Twitter
Published on March 19, 2017 14:14

March 18, 2017

Dockerizing Ruby To Stay Sane

Troubled by my long blogging access? This article explains why.

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 a new approach: Dockerize Ruby apps and stop trying to manage a local Ruby install.

So far, it's working well.

The Conundrum

In my experience, Ruby toolchains on Mac seem to break frequently. The version of Ruby that ships with macOS is woefully out of date. Instal...

 •  0 comments  •  flag
Share on Twitter
Published on March 18, 2017 13:39

Untitled

 •  0 comments  •  flag
Share on Twitter
Published on March 18, 2017 13:38

October 14, 2016

Kubernetes 1.4 AMA Video

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 on Kubernetes. It was a pleasure to get a chance to participate on the panel with him, and hear him articulate his perspective on the progress Kubernetes has made.

It was also fun to he...

 •  0 comments  •  flag
Share on Twitter
Published on October 14, 2016 08:11