Windows + Multipass + Cloud-init

TL;DR: Does Multipass on Windows support merging user-data cloud-config files?

I’ve lately been working on authoring cloud-config sheets for Multipass instance launching. I’m only launching VMs in a Windows environment.

My experience so far has not matched what is indicated in the Multipass and cloud-config documentation.

The cloud-init/config documentation indicates that user-data configs can be spread out across multiple .yaml files and if you specify subordinate .yaml files (in an includes: block) in the .yaml you call on launch, that those includes will be merged into the primary config file. I have found a few examples of others using this feature in some github repos.

I prepared such a config. The main config and subordinate files are in the same directory, and the includes: block written like so:

  - base.yaml
  - python3.yaml
  - ssh-key.yaml

However, having tested this in spinning up new Multipass instances, the files listed in the includes: block are ignored and not merged.

All of the files have the requisite #cloud-config in line 1. All files that would be called in the includes: block have merge-how blocks specifying how merging should be handled.

Some of the files are available for examination in my cloud-init gitlab repo (I’m aware that some of them have items in runcmd: that won’t work. I’ve not updated them based on my hand-built single-file config I’m currently working on.