It’s easy to fixate on just how much 2020 sucked. My last post back in May 2020 should have been called “2020 Sucks” rather than “Linux Sucks 2020”, however for many that isn’t a strong enough word. It was f%*£ing terrible.
Whilst there was a lot I could complain about: loss of friends and family, feeling low, the last 2 months of 2020 being really unwell with a flare of Ulcerative Colitis, and so on… I want to focus on some good stuff and what the plans are for 2021.
Here’s a handful of things that I am grateful for happening in 2020.
I ended the year in a new role where I will hopefully be getting more experience in the areas that interest me. I’m not on-call any more so this should help me cope with some of my health issues better.
I wrote an Ansible role for K3S, this might seem like a small achievement, but I have now exceeded 8000 downloads on Ansible Galaxy. This is just about the most popular code I have ever written.
I am writing some more stuff, but I am really enjoying working on this K3S role a lot as it facilitates the IaC stuff at the beginning of the Kubernetes lifecycle. k3sup is OK and all, but I like having a lot of “as code” stuff.
Prometheus (and Kubernetes)
I dabbled with Prometheus, which I now use to monitor my home network and devices. Best of all, I have been learning Kubernetes (in particular K3S) so my Prometheus installation is hosted on a Raspberry Pi 4 running Kubernetes.
Here’s the Raspberry Pi single node Kubernetes cluster running Prometheus (and other useful workloads). Side note, I’ve been continuing my learning in Kubernetes. I’ve not implemented any “GitOps” yet, but everything is managed from Ansible.
My dabbling in Prometheus extended to work where I wrote a custom exporter that talks to our ticketing system. The ticketing system we use currently isn’t the best in the world, it’s not great at dashboarding and reporting so I made a dashboard with the data scraped by Prometheus from my custom exporter.
Sorry for the grainy camera image, but I can’t share the sharp full dashboard.
I started learning Golang (Go)! Why? Well, why not? I’m not a developer but it’s sometimes useful to know how to script and write code. Stuff is getting really complicated in our industry and it pays to take advantage of APIs and CI to be able to automate complicated workloads. Your pipeline needs plumbing together, the glue is whatever you write in Python, Go, Ruby, Bash, etc.
What has come out of my dabblings in Go? Well I made a small contribution to Grafana-Kiosk. It wasn’t huge, but let me deploy Grafana-Kiosk to a Raspberry Pi connecting to a Grafana install terminated with a self-signed certificate.
I also wrote a small utility that makes a noise when a new ticket arrives into our ticketing system. It has a server component that exposes an API and a CLI based client that makes all the noise and shows pretty colours. The binary runs on Linux, Windows and probably Mac OS.
(Yet more shaky cam footage).
Working from home
Say no more! I never thought I could work from home effectively. So far I think I’m succeeding! I kitted out my office with 2 new nice Dell monitors.
I did coach to 5k. Twice. I got very wet, sweaty and muddy.
Goals for 2021
Everyone needs goals, and for me I have a few simple goals.
I did contribute to a couple of projects in 2020, the aforementioned Grafana-Kiosk being one of them, the other being Microsoft’s Azure Monitor for SAP Solutions.
For 2021 I want to give more back to the Open Source community by contributing more, either through my own code or by submitting features and bug fixes to Open Source projects that I use.
Be a better person
The isolation as a result of COVID-19 has made me a bit grumpier and a lot more of a hermit than usual. I’ve perhaps not been in the best place mentally to interact with people outside of work, however this is likely how many of my friends and family are feeling. I should reach out more to people and check they are OK.
You can’t know everything, but there’s new stuff to learn and you might become an expert at something new!
Be less hard on myself
If I don’t hit these goals, so what? It’s not the end of the world.