A space for technology notes on anything I find interesting, and a musing or two. From electrons through to delivering and developing code, as well as shiny emerging tech.
A guide to using the Terraform bpg provider to create virtual machines on a Proxmox instance.
The bpg provider is a wrapper for the Proxmox API. It enables the provisioning of infrastructure on Proxmox using Terraform.
bpg is one of two terraform providers available for Proxmox at time of writing, the other option being telmate. Both are active based on their GitHub repos, at a quick glance bpg was a bit more active, and a few positive posts about bpg swayed the decision towards it.
Let’s progress from checking Kubernetes logs in a terminal to using structured log data for searching, visualising and setting alerts within a web based user interface. We will use our Nginx deployment to demonstrate.
Structured logging involves defining shapes for log data, most often represented in JSON using key value pairs.
As compared to unstructured text log entries, structured logs make it easier to find events and turn log data into insights.
A reflection on how to react to unplanned downtime once services are restored.
The opportunity for growth and improvement is often highest during and directly after the times when complex systems behave unexpectedly.
The potential for damage to stakeholder relationships is present at these times, particularly within teams or management structures. The term throw someone under a bus comes to mind, a metaphor for a very painful and maybe fatal experience.
Let us walk through setting up an Actions Runner Controller (ARC) for GitHub in a Kubernetes cluster. This will enable running continuous integration and continuous deployment (CI/CD) pipelines using GitHub Actions on our infrastructure, or on cloud based Kubernetes.
First, we’ll introduce a bit of the terminology:
Runner a container which runs code in response to a trigger. They may be used to test, build and deploy code, as well as far more creative use-cases.
This post will explore deploying Hashicorp Vault to K3s (Kubernetes distribution) using Helm and then configuring it with Terraform. This will enable us to store our secret state data in Vault and make those secrets available to our K3s resources.
Vault is an enterprise level secrets manager configurable for high availability which integrates with Kubernetes and many CI toolsets.
In the previous two posts journaling the evolution of this site’s delivery, we have been managing a single secret, the Cloudflared tunnel token.
In this post, we will look at migrating Docker Compose run services to K3s, a lightweight version of Kubernetes.
K3s provides an approachable way to experience Kubernetes. It is quick to spin up and takes care of a lot of boilerplate, which suits a test environment. We can work our way up to full Kubernetes (K8s) in the future.
We will continue using this site as an example and build upon the previous post which got our GitHub repo to here.
This post will step through the process of building a Hugo-based website image using Docker in Ubuntu Linux, setting up a Cloudflare tunnel, and using a Docker Compose stack to bring up the website and Cloudflared containers. This will make a website available on the internet using an existing top-level domain. Some basic knowledge of Linux is required.
At the time of writing, this is how this site is being hosted.
Recently I have been playing with open-source LLMs (Large Language Models), LLMs being the technology behind ChatGPT.
While I have mainly been checking out how they can help with software development and other language based tasks, I took a moment to have a chat with Q.
I should note, the Intellectual Property for Q belongs to Paramount, no profit was made from this post and no breach of copyright is intended.
Welcome to my little corner of the Internet Several years ago, I acquired this eponymous domain. For quite some time, it was a single page with a video clip from the 80s classic Highlander.
The clip, which you can watch here, shows Christopher Lambert delivering the iconic line, “There can be only one”, along with a whole lot of lightning and window smashing.
Over time, I started to get the irking feeling that perhaps one of the other Alex Darbyshires would take this a bit too seriously, follow through on the movie premise, and I would find myself in an impromptu sword battle doing my utmost to keep my head connected to the rest of me.