my project is now up on the FreeBSD Foundation website!!: https://freebsdfoundation.org/project/freebsd-as-a-tier-i-cloud-init-platform/
FreeBSD as a Tier I cloud-init Platform | FreeBSD Foundation

cloud-init is the standard way of provisioning servers in the cloud. Unfortunately, cloud-init's support for operating systems other than Linux is rather poor and the lack of cloud-init support on FreeBSD is a hindrance to cloud providers who want to offer FreeBSD as a Tier I platform. To remedy this, the FreeBSD Foundation has contracted

FreeBSD Foundation | A non-profit organization dedicated to supporting and building the FreeBSD Project

new people have discovered and are boosting this

remember when I thought this was a python project and not a python / FreeBSD kernel / Go project?

good times…

@meena I haven't been following along super closely, and I dont' want to put a bunch of additional load into your brain.

how's it coming? last I saw was a bunch of patches submitted to cloud-init I think.

@ada i got super slowed down with trying to move the cloudinit.net.get_ib_* (infiniband) functions under the distro classes.

mostly because I have no idea about infiniband, and had no access to infiniband hardware.

I gave up, and declared bankruptcy.
Meanwhile I have fixed every bug and exception I came across, and a lifted a bunch of modules into better supporting FreeBSD.

One of the Canonical people did refactor of the Ephemeral Networking classes, and I finished off the BSD side of that.

We now boot on Hetzner and Vultr (and probably more) without a single exception.
(At least for IPv4… IPv6 is mostly ignored so far)

taking a break from the network refactoring, after burning out on Infiniband, to … get FreeBSD integrated into cloud-init CI.

that requires FreeBSD to run under LXD, which requires a kernel module to allow communication between guest and host, so I'm implementing the VirtIO Socket spec right now. (I'm trying to do that, while only looking at the spec, and at the already existing hyperv sockets module, so I don't accidentally copy any GPL code…)

Once that's done, I can look into updating Go to add VSOCK support to the FreeBSD unix library, and then I can fix the vsock client library that LXD uses to include FreeBSD support.

And then I can get back to porting LXD-agent to FreeBSD.

baby steps…

freebsd-src

FreeBSD source tree

Codeberg.org

@meena holy wow! The progress you've made is nothing short of phenomenal. I'm floored by the amount of work you've undertaken and the challenges you've overcome, all while navigating through unfamiliar territory.

The foundational work you've done to better support FreeBSD is truly commendable. It's the kind of work that makes a huge impact in the long run and lays the groundwork for so much future work.

I hope you rememeber to take well-deserved breaks!

@ada 💜

good idea, i think it's time to sleep now…

tomorrow, I can get back to implement a new socket type.

(which is a new type of "file" …
thus fulfilling my ultimate duty as Unix programmer.)