=== FreeBSD as a Tier 1 cloud-init Platform

Links: +
link:https://cloud-init.io/[cloud-init Website] URL: link:https://cloud-init.io/[https://cloud-init.io/] +
link:https://cloudinit.readthedocs.io/en/latest/[cloud-init Documentation] URL: link:https://cloudinit.readthedocs.io/en/latest/[https://cloudinit.readthedocs.io/en/latest/] +
link:https://github.com/canonical/cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst[cloud-init ongoing refactorization] URL: link:https://github.com/canonical/cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst[https://github.com/canonical/cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst]

Contact: Mina Galić <me+FreeBSD@igalic.co>

cloud-init is the standard way of provisioning servers in the cloud.
Unfortunately, cloud-init 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 1 platform.
To remedy the situation, this project aims to bring FreeBSD cloud-init support on par with Linux support.
The broader plan is to lift support across all BSDs.

The first milestone has been delivered.
Along with many bug fixes, we now have link:https://github.com/canonical/cloud-init/pull/1779[merged] an man:ifconfig[8] parser, which allows us to retrieve all the information of all network devices, similarly to how on Linux this is done by parsing the contents of `/sys/class/net/<dev>/`.
In the coming weeks, this project will align itself with the Azure developers to do some crucial refactoring.
This will move our new parser further into cloud-init's main execution paths.

People interested in helping with the project can help with testing new features and fixes through package:net/cloud-init-devel[], which will be updated whenever we make significant commits.
Further, people with access to, and experience with, OpenBSD and NetBSD are also highly welcome to help.

Sponsor: The FreeBSD Foundation
