CLOUD-AGENT(8) - System Manager's Manual # NAME **cloud-agent** - cloud provisioning for OpenBSD VMs # SYNOPSIS **cloud-agent** \[**-nuv**] \[**-c** *cloud*\[,*cloud*...]] \[**-p** *length*] \[**-r** *rootdisk*] \[**-t** *timeout*] \[**-U** *username*] *interface* # DESCRIPTION The **cloud-agent** program manages the OpenBSD provisioning and VM interaction in cloud environments. The options are as follows: **-c** *cloud*\[,*cloud*...] > Probe a list of cloud stacks for provisioning in the specified order. > If this option is not specified, > **cloud-agent** > tries to detect the environment and possible cloud stacks automatically. > Supported > *cloud* > stacks are: > **azure** > > Microsoft Azure > **cloudinit** > > Generic cloud-init > **ec2** > > Amazon AWS EC2 > **opennebula** > > OpenNebula > **openstack** > > OpenStack **-p** *length* > Generate and set a random password for the default user. > The password will be written in its plain form into the > *~/.ssh/authorized\_keys* > file. > This allows to use the > doas(1) > command to gain root privileges. > The minimum > *length* > is 8 characters and the default is an empty password. **-n** > Do not configure the system and skip the provisioning step. **-t** *timeout* > Change the HTTP timeout. > The default is 3 seconds. **-U** *username* > Change the default user. > The default is > "ec2-user" > on AWS, > "azure-user" > on Azure, and > "puffy" > everywhere else. > The default user is used when it is not obtained from the cloud > configuration. > Using > "root" > is supported, but not recommended. **-r** *rootdisk* > Automatically grow the last > OpenBSD > FFS partition of the root disk to use all the available space. **-u** > Deprovision and unconfigure the system. > This deletes keys, passwords, and logs files without asking for permission. **-v** > Produce more verbose output. Enable **cloud-agent** in the hostname.if(5) of the VM's primary networking interface and automatically the last partition of the root disk: # cat /etc/hostname.hvn0 dhcp !/usr/local/libexec/cloud-agent -r sd0 "\$if" # FILES *~/.ssh/authorized\_keys* > The location of the agent-configured SSH public keys and optional password. */usr/local/libexec/cloud-agent* > The agent itself. */usr/local/bin/cms* > The CMS binary that is used to decrypt messages from the Azure fabric. */var/db/cloud-instance* > The instance ID as reported by the cloud. > **cloud-agent** > reprovisions the system when the value has changed. # SEE ALSO meta-data(8), vmd(8) # AUTHORS Reyk Floeter <[reyk@openbsd.org](mailto:reyk@openbsd.org)> OpenBSD 6.5 - June 26, 2019