My Raspberry Pi Kubernetes Cluster

For many months, I have wanted a Kubernetes cluster of my very own. One that I can tinker with, break, rebuild, and deploy services to. In the fall of 2017, I decided to stand up a three node cluster in Google Kubernetes Engine (GKE). It was nice and shiny and Googly but it wasn’t cheap. Totaling almost $40/month to run I was envious of my friends who have virtually unlimited access to cloud compute. [Read More]

GitLab Annoyance: Private to Public Repos

I was working on a new Ansible role last week and was having problems with Test Kitchen. The issue I was having was that Test Kitchen was unable to pull in dependencies from GitLab for the Ansible role I was developing. Here is the error message I was seeing: [WARNING]: - rsyslog was NOT installed successfully: - command git clone https://gitlab.logicnow.com/ansible-roles/rsyslog.git rsyslog failed in directory /tmp/tmpEaRVAA (rc=128) I realized that on our internal, private GitLab server a repo needed to be changed from Private to Public. [Read More]

Ansible Role for Papertrail

I have written my first publicly reusable Ansible role. It is freely available for use via Ansible Galaxy at chris-short.ansible-role-papertrail and helps you get Papertrail up and running. What is Papertrail? A hosted log management tool that, in my opinion, can bridge the gap between your terminal and a full blown ELK stack. It is no frills streaming log aggregation and search. Being my first Ansible role I have submitted to Galaxy I am pretty stoked about it. [Read More]

User Management with Ansible

The contents of this article originally appeared on DZone A few weeks ago, one of my DevOps counterparts was working on building out a new environment for one of our applications. This deployment included a new Puppet server (we are in an orchestration/configuration management state of flux) and my teammate was having some issues provisioning users (I did not ask why nor did I really care). My teammate asked if I could help with some Ansible knowledge. [Read More]

Ansible lineinfile be damned

The Ansible lineinfile module is designed to search a file for a line, and ensure that it is present or absent. lineinfile is very effective at that particular task. However, when the line has to be in a certain place or before or after a certain line, lineinfile becomes a hassle to manage. Most people on IRC (#ansible) tend to agree, lineinfile is not a very good module in practice. Even Brain Coca says to avoid the lineinfile module. [Read More]