SmartOS release 20260306T044811Z introduced support for cloud-init's NoCloud datasource for bhyve guests.
To use this feature, a guest must be provisioned from an image tagged with
org.smartos:cloudinit_datasource=nocloud.
When an instance is created, SmartOS uses instance metadata to build a 16 MiB FAT disk containing these files:
- user-data: populated from
customer_metadata['cloud-init:user-data'] - meta-data: contains the instance UUID and hostname; if no hostname is set, SmartOS falls back to the alias, then the UUID
- vendor-data: reserved for SmartOS or Triton-supplied defaults
that users may override with
customer_metadata['cloud-init:vendor-data'] - network-config: generated automatically from the instance's
nicsandresolversmetadata
On instance startup, SmartOS rebuilds this filesystem if the source metadata has changed, for example after adding a NIC or changing the hostname.
Instances created from NoCloud-compatible images do not include the mdata tools by default; install them separately if needed.
Examples of SmartOS payloads and image build scripts are available in the triton-nocloud-images repository.