Tag Archives: author-drnic


You have many choices for running your tests, deployment, and miscellaneous automation, yet we’ve found more and more individuals and organizations are adopting Buildkite. This 12000-word article will provide you the most in-depth tutorial for getting started with Buildkite. It will cover the basic concepts, setup, secrets, and all the way to how we are

Episode 001 – What is Concourse CI? How to get started?

Learn a little about Concourse CI and get your own Concourse CI running on your laptop with Docker Compose (previously these instructions showed Vagrant). NOTE: the instructions below have been updated in 2020 to use Docker Compose, rather than Vagrant. Learn more from our Concourse Tutorial. NOTE: The https://concourse-ci.org/ has been given a new name

How to rotate Kubernetes secrets with Quarks and KubeCF?

One of the brilliant aspects of BOSH that has been brought across to Kubernetes by the Quarks & KubeCF teams has been the generation of internal secrets. Internal client needs a secret to talk to internal Redis? No one cares what it is; just generate a good one and share it with the two entities.

Building Docker images for Kubernetes running on ARM

Nearly every Docker image you’ve ever run on Kubernetes will not work on your Homelab Raspberry Pi cluster. Why? What do we need to do? This article introduces the “docker buildx” plugin to make it easy to produce mult-arch Docker images. I’ve started a new home lab of Raspberry Pis (and soon to include some

Trying tiny k3s on Google Cloud with k3sup

Tutorial based on https://blog.alexellis.io/create-a-3-node-k3s-cluster-with-k3sup-digitalocean/ and converted for Google Cloud gcloud commands. At the end is a curl | bash -s up all-in-one command if you want to do this again in future. $ gcloud compute instances create k3s-1 \ –machine-type n1-standard-1 \ –tags k3s,k3s-master Created [https://www.googleapis.com/…/zones/us-west1-a/instances/k3s-1]. $ gcloud compute instances create k3s-2 k3s-3 \ –machine-type

Kpack, oh kpack, wherefore art thou build logs?

Any CI/CD is just like a serverless platform or PaaS: you run other people’s code. The difference? With a platform you expect the code to work. With CI/CD you’re waiting for things to fail. So you can fix them. Until they work. Hopefully. And to fix them you need logs. kpack is a new open

Investigating kpack – Continuously Updating Docker Images with Cloud Native Buildpacks

Docker images don’t grow on trees, but you shouldn’t buy them from Etsy either. What I mean is, you don’t want your company running on bespoke artisan Docker images based on source code and upstream dependencies that you can’t reproduce 50 times a day, and can’t keep continually updated and secure for the next 10

Private buildpacks for Air-Gapped Cloud Foundry

Chad asked how to he could get FreeTDS into his Cloud Foundry application so he could use the RubyGem tiny_tds. The answer for adding system-level libraries or CLIs is to use a new supply buildpack, and so I made Chad a new buildpack https://github.com/starkandwayne/freetds-buildpack. Chad asked a good question – “but how do I use

Part 3: Bolting on a real Sidecar in our Buildpack

Sidecars allow additional processes that share filesystem and socks with a Cloud Foundry application. We investigate separating these concerns from app developers by distributing and installing them with Buildpacks. This article is almost Part 3 in a 5-part series. Part 1 starts with Tim Downey’s How to Push an App to Cloud Foundry with Sidecars.