Blob Blame History Raw
cloud-config can be provided via the kernel command line.
configuration that comes from the kernel command line has higher priority
than configuration in /etc/cloud/cloud.cfg

The format is:
  cc: <yaml content here|URL encoded yaml content> [end_cc]

cloud-config will consider any content after 'cc:' to be cloud-config
data.  If an 'end_cc' string is present, then it will stop reading there.
otherwise it considers everthing after 'cc:' to be cloud-config content.

In order to allow carriage returns, you must enter '\\n', literally,
on the command line two backslashes followed by a letter 'n'.

The yaml content may also be URL encoded (urllib.parse.quote()).

Here are some examples:
  root=/dev/sda1 cc: ssh_import_id: [smoser, kirkland]\\n
  root=LABEL=uec-rootfs cc: ssh_import_id: [smoser, bob]\\nruncmd: [ [ ls, -l ], echo hi ] end_cc
  cc:ssh_import_id: [smoser] end_cc cc:runcmd: [ [ ls, -l ] ] end_cc root=/dev/sda1
  cc:ssh_import_id: %5Bsmoser%5D end_cc cc:runcmd: %5B %5B ls, -l %5D %5D end_cc root=/dev/sda1