tl;dr: if gzip and restic interact anywhere for you, you should consider passing --rsyncable to gzip, or not using gzip at all.
tl;dr2: Click here to read the summary right now.
Like many people, I have a Home Assistant installation. Mine does not control many things, but it collects a lot from various sensors and devices around the house.
If you’ve seen YouTube unboxing videos, this is not that. There is no video here (although I think unboxing videos are great and more people should do them of more devices!) and what you’ll find described below has little to do with direct user experience.
I like taking things apart, figuring out how they work, and see if they can perhaps gain a bit of Open Source, either by replacing existing software (as is commonly done with OpenWrt for replacing router vendor firmware, ESPHome for replacing firmware on ESP devices, etc.
While trying to add network namespace support to OpenWrt’s netifd, I ran into a severe lack of documentation about what named network namespaces in Linux actually are. It turns out that while the Linux kernel has network namespaces, naming them is really an iproute2 thing, and other tools that also try to work with named network namespaces are best off emulating the iproute2 conventions.
A friend recently mentioned to me that Oracle Cloud has a pretty decent ‘Always Free’ Tier, with 4 ARM64 cores sharing 24GB of RAM, one AMD VM, and 200GB of block storage to divide between them.
I decided to have a look at the service, and below you will find my experiences.