lxd init is already implemented and in the archive, it's command line interface will remain identical, it's just a bit buggy in 0.23 but as far as mapping things into cloud-init, it's good to go.
Init options:
--auto
Automatic (non-interactive) mode
--network-address ADDRESS
Address to bind LXD to (default: none)
--network-port PORT
Port to bind LXD to (default: 8443)
--storage-backend NAME
Storage backend to use (zfs or dir, default: dir)
--storage-create-device DEVICE
Setup device based storage using DEVICE
--storage-create-loop SIZE
Setup loop based storage with SIZE in GB
--storage-pool NAME
Storage pool to use or create
--trust-password PASSWORD
Password required to add new clients
Those should probably be exposed as is through cloud-init and then, for those which were set, passed to lxd init along with the --auto flag.
lxd init is already implemented and in the archive, it's command line interface will remain identical, it's just a bit buggy in 0.23 but as far as mapping things into cloud-init, it's good to go.
Init options: address ADDRESS backend NAME create- device DEVICE create- loop SIZE password PASSWORD
--auto
Automatic (non-interactive) mode
--network-
Address to bind LXD to (default: none)
--network-port PORT
Port to bind LXD to (default: 8443)
--storage-
Storage backend to use (zfs or dir, default: dir)
--storage-
Setup device based storage using DEVICE
--storage-
Setup loop based storage with SIZE in GB
--storage-pool NAME
Storage pool to use or create
--trust-
Password required to add new clients
Those should probably be exposed as is through cloud-init and then, for those which were set, passed to lxd init along with the --auto flag.