Resolving Slow Archive Extraction Times with Chocolatey

The Problem

Over the weekend I kept getting chocolately timeout errors when I was trying to upgrade my golang installation to the latest release (1.9.2).

Chocolatey timeout

This was puzzling because, as the error message describes, Chocolatey’s default timeout period is 2700 seconds (45 minutes) long. It seems Chocolatey was attempting to extract the golang archive but got stuck trying to do so. I’m running an SSD on my desktop at home so it should have been able to make short work of that extraction. Thinking back on previous golang upgrade experiences, I’ve always noticed it took awhile (20-30 minutes) to extract the zip file but up until now I had never experienced a timeout.

Read more

Using Secrets in Kubernetes

In my previous blog post I detailed how to setup Ghost and MySQL using Google Cloud Container Engine (GKE) and Kubernetes. While the set up works great the database credentials were hard-coded and completely visible to anyone that has access to the repository. Ideally you would not want these credentials stored as clear text in your source control (especially production credentials). To help facilitate this, Kubernetes has the concept of a Secret. Secrets allow small amounts of sensitive data (tokens, passwords, credentials) to be stored as objects in the cluster. Since Secrets are stored in the cluster it allows for greater control over who has access to them. I highly recommend reading the documentation on what Secrets are and how they work. The ideal candidate for using a Secret in this blog set up is for the credentials to the MySQL database.

Read more

Hosting Ghost Using Container Engine

This is the first post in a series that will document how I got my Ghost blog up and running using Google Cloud Container Engine (GKE). By the end of this, you will have a basic (but useable) blog set up that is publicly accessible. This post is going to follow along pretty closely with Google’s tutorial for hosting a Wordpress blog using GKE. I deviate from the Wordpress tutorial in a few key areas:

Read more

Let The Blogging Begin

Hello! Welcome to my blog.

I know I am fairly late to the blogging scene, but better late than never. My hope for this blog is to document my adventures in technology. My first series of posts will document how I setup this blog to run in Google Cloud’s Container Engine, using Kubernetes, Docker, Ghost, MySQL, and NGINX. Stay tuned!

Read more