Hello team,

For a new project we're considering using FreeBSD 14 on Azure VMs as our 
application runtime. So far, our testing has been positive, but we've hit a 
bump in the road today and I wanted to reach out and find out if it's really an 
issue or are we the ones looking at this from the wrong angle.

For context, our orchestration is fully automated, with Azure Devops pipelines 
and Terraform. We use Terraform to create the VMs and VMSSes (together with all 
the ancillary stuff) and make heavy use of cloud-init to bootstrap the VMs with 
everything that's necessary to obtain the final application runtime by passing 
the cloud-init custom data configuration from within Terraform. The problem is 
that during our testing, our custom data (i.e. cloud-config.yaml) was ignored. 
After SSH-ing into the VM, we found errors in the Azure WA Agent logs about not 
finding cloud-init. Upon closer inspection, indeed, cloud-init is missing from 
the system. There is a package (py311-cloud-init) which can be installed, 
though, but that would mean we'd have to bake our own image and then maintain 
one with each subsequent upstream release.

Is there any reason why cloud-init is not included with the Azure base-image? 
On the other hand, is cloud-init the proper way to bootstrap the VMs? I know 
cloud-init is rather linux-oriented, so is there a more BSD-favoured way of 
bootstrapping a VM on creation (except for Ansible, Chef or other third party 
solutions).

Looking forward to your response.
Claudiu


Reply via email to