IntroAround five years ago I purchased some smart light bulbs. They are designed to be used with a smart hub, on of these. Turns out that the company behind this has made a new version of the hub, the miboxer, which is not backwards compatible with the older bulbs. It also requires an android account with rather dubious permission requirements to use.
I’m not a fan of this kind of behaviour from companies and would rather reuse things where possible.
Quick post with an example of using Terraform to create LXC containers on Proxmox.
There are a few proxmox providers out there in the wilds, I chose to use the one by telmate:
terraform { required_providers { proxmox = { source = "Telmate/proxmox" version = "2.6.5" } } } Creating LXC ContainersThe Docs for this suck, here is a working snippet for version 2.6.5 of the provider:
resource "proxmox_lxc" "lxc-test" { hostname = "terraform-new-container" cores = 1 memory = "1024" swap = "2048" features { nesting = true } rootfs { storage = "local-lvm" size = "8G" } network { name = "eth0" bridge = "vmbr0" ip = "dhcp" ip6 = "dhcp" } ostemplate = "local:vztmpl/ubuntu-20.
IntroRundeck is an opensource project; it allows you to turn scripts and playbooks into self service jobs. It has a full featured API but there isn’t much online about using it. This post will provide a few examples of using it to interact with Rundeck projects, their settings and jobs.
We’ll also briefly go over using Terraform to manage project life cycles and project settings.
All code is a available in a github repository.
IntroI love fudge. There. I said it. Sometimes I like to reward myself with a little bit after work. Today I did exactly that, except that when I arrived at the kitchen I didn’t have any.
Zut alors!
No fear. We can make some! And the best bit? It doesn’t involve any scalding hot saucepans full of sugar. This fudge only requires two minutes in the microwave and an hour in the fridge1.
IntroOpenFAAS is a serverless tool. One of the things I like most about it - it’s pretty agnostic. You can bring your own infra or orchestrator and roll with Dockerfiles (as long as they conform to the OpenFaas serverless workload definition). No vendor lock in!
Their tagline: OpenFaaS® makes it simple to deploy both functions and existing code to Kubernetes
While OpenFaas is mainly used with k8s, there are other providers available too.
IntroductionBefore we dive into the technical aspect of this blog post there should probably be some explanation for how we got here.
Like many of us, I’ve at times struggled with the balance of remote work, lockdown and my personal life. I’ve done all the usual stuff - bread baking, home IOT setup, and a lot of cycling but there was another itch which required scratching.
Meet Ionic. She’s a 17 metre narrow boat, laid down in 1986.
On the matter of Operating SystemsRaspian is perfectly good, but there are a few niggles. It isn’t 64 bit, so running things like mongodb is a problem. Also, it’d be nice to use cloud-init to preconfigure some stuff, such as SSH keys. If you want to try a 64 bit OS for your Pi4, Ubuntu is a solid option.
cgroup_memory = 0cgroup_memory is disabled by default on raspbian and is required for k8s.
IntroOpenFAAS is a serverless tool. One of the things I like most about it - it’s pretty agnostic. You can bring your own infra or orchestrator and roll with Dockerfiles. No vendor lock in!
Their tagline: OpenFaaS® makes it simple to deploy both functions and existing code to Kubernetes
While it is mainly used with k8s, there are also providers for other orchestrators, such as Hashicorp’s Nomad. Today I’ll be trying out a new provider for Containerd on my Raspberry Pi 4b.
First post on the new site. It’s a hugo site, using the terminal theme by panr. Previously Pelican was my static site generator of choice but I’ve heard good things about Hugo and fancied giving it a go.
Here’s how its configured:
InstallationI’m using Hugo with Github Pages) and my own hosting.
As I won’t be using Hugo/this blog everyday I will forget the commands for it so I’ve wrapped everything I need into a Makefile: