# The top level settings are used as module # and system configuration. # A set of users which may be applied and/or used by various modules # when a 'default' entry is found it will reference the 'default_user' # from the distro configuration specified below users: - default # If this is set, 'root' will not be able to ssh in and they # will get a message to login instead as the above $user (debian) disable_root: true # This will cause the set+update hostname module to not operate (if true) preserve_hostname: false # This preserve the sources list apt_preserve_sources_list: true datasource_list: [ NoCloud ] # Example datasource config #datasourcef: # Ec2: # metadata_urls: [ 'blah.com' ] # timeout: 5 # (defaults to 50 seconds) # max_wait: 10 # (defaults to 120 seconds) # The modules that run in the 'init' stage cloud_init_modules: # migrate old versions of cloud-init data to new # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#migrator - migrator # provide random seed data # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#seed-random - seed_random # Run arbitrary commands early in the boot process # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#bootcmd - bootcmd # write arbitrary files # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#write-files - write-files # grow partitions # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#growpart - growpart # Resize filesystem # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#resizefs - resizefs # configure partitions and filesystems # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#disk-setup - disk_setup # configure mount points and swap files # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#mounts - mounts # set hostname and fqdn # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#set-hostname - set_hostname # update hostname and fqdn # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#update-hostname - update_hostname # update /etc/hosts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#update-etc-hosts - update_etc_hosts # add ca certificates # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#ca-certs - ca-certs # configure system loggig via rsyslog # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#rsyslog - rsyslog # configure users and groups # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#users-and-groups - users-groups # configure ssh and ssh keys # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#ssh - ssh # The modules that run in the 'config' stage cloud_config_modules: # Emit the cloud config ready event # this can be used by upstart jobs for 'start on cloud-config'. # emit upstart configuration # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#emit-upstart - emit_upstart # import ssh id # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#ssh-import-id - ssh-import-id # set system locale # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#locale - locale # Set user passwords # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#set-passwords - set-passwords # configure grub debconf installation device # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#grub-dpkg - grub-dpkg # configure apt pipelining # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#apt-pipelining - apt-pipelining # configure apt # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#apt-configure - apt-configure # enable and configure ntp # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#ntp - ntp # set system timezone # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#timezone - timezone # disable aws ec2 metadata # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#disable-ec2-metadata - disable-ec2-metadata # Run arbitrary commands # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#runcmd - runcmd # enable/disable byobu system wide and for default user # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#byobu - byobu # The modules that run in the 'final' stage cloud_final_modules: # update, upgrade, and install packages # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#package-update-upgrade-install - package-update-upgrade-install # configure ubuntu fan networking # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#fan - fan # install, configure and start puppet # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#puppet - puppet # module that configures, starts and installs chef. # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#chef - chef # set up and run salt minion # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#salt-minion - salt-minion # install, configure and start mcollective # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#mcollective - mcollective # support rightscale configuration hooks # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#rightscale-userdata - rightscale_userdata # run vendor scripts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#scripts-vendor - scripts-vendor # run one time scripts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#scripts-per-once - scripts-per-once # run per boot scripts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#scripts-per-boot - scripts-per-boot # run per instance scripts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#scripts-per-instance - scripts-per-instance # run user scripts # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#scripts-user - scripts-user # log fingerprints of user ssh keys # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#ssh-authkey-fingerprints - ssh-authkey-fingerprints # control which ssh keys may be written to console # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#keys-to-console - keys-to-console # post data to url # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#phone-home - phone-home # output final message when cloud-init has finished # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#final-message - final-message # change power state # https://cloudinit.readthedocs.io/en/18.3/topics/modules.html#power-state-change - power-state-change # System and/or distro specific settings # (not accessible to handlers/transforms) system_info: # This will affect which distro class gets used distro: debian # Default user name + that default users groups (if added/used) default_user: name: pi #lock_passwd: True shell: /bin/bash # Other config here will be given to the distro class and/or path classes paths: cloud_dir: /var/lib/cloud/ templates_dir: /etc/cloud/templates/ upstart_dir: /etc/init/ ssh_svcname: ssh