Re: cloud init documentation ?

From: Dave Cottlehuber <dch_at_skunkwerks.at>
Date: Fri, 26 Jul 2024 13:59:25 UTC
On Fri, 26 Jul 2024, at 13:38, mike tancsa wrote:
> Hi Dave,
>
>      Thanks for the detailed response and information!  I think where I 
> run afoul is what has and what does not have CI support. What I have 
>
> https://download.freebsd.org/releases/VM-IMAGES/14.1-RELEASE/amd64/Latest/FreeBSD-14.1-RELEASE-amd64-BASIC-CLOUDINIT-zfs.raw.xz

Aaah https://cgit.freebsd.org/src/tree/release/tools/basic-cloudinit.conf yes
so these enable nuageinit, so you only have the subset of what's in cloudinit.

> Then create  the seed.iso
> genisoimage -output ./seed.iso -volid cidata -joliet -rock 
> .cloud-init/meta-data .cloud-init/user-data

if that matches what the qemu doc has, its probably fine.

> and then run
> ./vmrun.sh -t tap0 -d FreeBSD-14.1-RELEASE-amd64-BASIC-CLOUDINIT-zfs.raw 
> -i -E -I ./seed.iso -H vm0/host vm0
>
> The lock_passwd does not seem to work, but the passwd: value for alice 
> works well enough.  But I guess thats where my confusion is. I am making 
> use of nuageinit and not cloudinit here it seems.

I think so too.

> I guess the step I am missing is download the FreeBSD VM image file. Do 
> *something* to it to make it fully cloudinit capable, and then create my 
> full seed.iso file.  What is that something ?  Is that the 
> net/clould-init package you mention in 
> https://people.freebsd.org/~dch/posts/2024-07-25-cloudinit/ ?

yep, the image only needs cloud-init package and the service enabled.
However, this adds ~ 350MiB of pythonic garbage into your image.

Worth noting are the EC2 configs cperciva built:

- cloudinit flavoured https://cgit.freebsd.org/src/tree/release/tools/ec2-cloud-init.conf
- firstboot flavoured https://cgit.freebsd.org/src/tree/release/tools/ec2-base.conf

the latter uses ec2-scripts which work quite well on non-ec2 with firstboot-freebsd-update and firstboot-pkgs. There is support for executing an archive or similar, I am hazy on the details but https://github.com/cperciva/ec2-scripts has the sources :-)

This might be sufficient.

A+
Dave