collectd updated!
Everything else was updated, so there’s no avoiding it, I’ll have to build a new collectd
container image and hope nothing’s broken. But since I’m using an Alpine image, in an LXD container, with an old version of apko
, I figured I might as well work on streamlining it a bit.
For instance, newer versions of apko
can now log in to a container registry and publish the images for you. Neat! So I decided to take the opportunity to:
- move primary development of it to my Linux laptop, to avoid going through three layers of shells to do anything.
- move from the Docker Hub to GitHub’s container registry - not much of an upgrade, but it’ll do for now.
- finally put the sources to my container online.
It took a bit of doing, most of which is my own fault. It took longer than it really should have to figure out how to express the container registry I want to use (literally just put it in the path of the container, eg fwaggle/collectd
becomes ghcr.io/fwaggle/collectd
). But then I got it working and my containers refused to start, with the dreaded CrashLoopBackoff
.
It turned out that this was because it seems like apko
has deprecated the entrypoint/command
setting, in favour of simply using cmd
. At least, I thought that was the issue, but it didn’t fix it. They also changed it so that it no longer passes it to the shell by default, it seems like it might just be thrown in as an argv argument to execve() or whatever? Anyway, wrapping my command in /bin/ash -c "<COMMAND>"
fixed that and the container started.
Next up, publishing the image properly, and putting the repo up. I think I have this working correctly, at least the hashes seem to line up how I’d want them to.
I think I don’t have the energy to do it today, but I really should figure out if I can just do all of this in GitHub actions, so I can push one button to trigger a build. That’s a task for another day methinks. For now, all I have to do is type make
and it’ll build, though my GitHub token will expire and I’ll have to recreate that (it just needs packages:write
permissions).
But for now, that brings me back up to date on everything!