Hosting your own ubuntu github action runner

Github actions are really cool, the workflow syntax is easy to grok and there are tonnes of pre-built actions out there you can used to build your code. The free tier is a little limited on the number of hours you get. If you’re stuck trying to debug a deployment or build issue that doesn’t […]

Kotlin code coverage in CI/CD

I ran in to a few problems with CI/CD for code coverage in kotlin recently. The toolchain I was using was kotlin kover gradle github actions Kover does have a JaCoCo output format which would have enabled using the JaCoCo-report action, however I kept hitting a stack trace when trying to use the JaCoCo output […]

Object storage backend on OVH with terraform

When configuring the swift backend for terraform using OVH, I ran in to the following error: I was using a pretty standard configuration Exactly as the documentation states, here. This is caused by a problem alluded to in the comment of this issue on github. As I was using the same configuration for my resources […]

Environment specific Configuration with Terraform

One goal that can help with the running of services in the cloud is to minimise configuration differences between environments. This isn’t always possible, sometimes you can’t escape configuration. Reading through the documentation on terraform, googling and reading stack overflow you occasionally see references to provisioners. There are: file local-exec remote-exec Which sounds great, but […]

Websockets with Rust and Actix Web

The Actix framework for rust is an actor based framework strictly following the actor pattern. REST APIs can be built simply and intuitively. One of the main reasons I chose it over rocket was, at the time, it runs on stable rust! The syntax is very easy to work with and will be familiar to […]

Building debian packages

Debian packages (.deb files) are the packages installed by apt and apt-get in ubuntu. They can be installed manually using the dpkg command or hosted in a PPA as described here. Installing software You will need to have the following software installed on a Linux based system: build-essential software-properties-common devscripts debhelper Nice to haves: lintian […]

Cross Compiling Rust for RPI4

I really enjoy writing Rust, I own a growing number of Raspberry PIs. The RPI4 is a big step forward in terms of hardware resources on the platform. It is however 64bit not 32 like its predecessors and requires a different tool chain for cross compilation. In this guide I will take you through the […]

Hosting a signed APT repository

Distributing code for Debian based distributions and derivatives through a PPA can be a little difficult. The following guide will break down the steps and try to explain what is going on. At a high level, you will need a GPG Keypair, somewhere to store the PPA, a machine to do the building and some […]

Building RPI 4 images from ubuntu 18.04

In this post I will be running through some of the steps needed to build custom images for Raspberry PI 4 boards. There are a number of steps along the way that took extra research and ended with some head scratching and wondering about how and why things were failing. Hopefully this guide can help […]

Follow My Blog

Get new content delivered directly to your inbox.

%d bloggers like this: