# The top level settings are used as module
# and system configuration.

# 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 (ubuntu)
disable_root: true

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true

# Example datasource config
# datasource:
#    Ec2:
#      metadata_urls: [ 'blah.com' ]
#      timeout: 5 # (defaults to 50 seconds)
#      max_wait: 10 # (defaults to 120 seconds)

datasource:
  Azure:
    set_hostname: True
    agent_command: __builtin__


# Disable network-config because Lakitu doesn't support any network renders
# of cloud-init (eni, netplan, sysconfig).
network:
   config: disabled

# Lakitu specific: Lakitu has a "stateless" cloud-init, so the following modules
# are all executed upon reboot. Therefore, the concept of module run frequency
# in lakitu is different from Ubuntu. There are only two run frequencies "always"
# and "once" in lakitu. If we rerun cloud-init without rebooting the instance,
# modules with "always" frequency will be rerun, while modules with "once"
# frequency will not.

# The modules that run in the 'init' stage
cloud_init_modules:
 - [bootcmd, once]
 - [update_etc_hosts, always]
 - [users-groups, once]
 - [write-files, always]
 - [ssh, once]

# The modules that run in the 'config' stage
cloud_config_modules:
 - [mounts, once]
 - [ssh-import-id, once]
 - [timezone, once]
 - [disable-ec2-metadata, always]
 - [set_hostname, always]
 - [runcmd, always]

# The modules that run in the 'final' stage
cloud_final_modules:
 - [rightscale_userdata, once]
 - [scripts-vendor, once]
 - [scripts-per-once, once]
 - [scripts-per-boot, once]
 - [scripts-per-instance, once]
 - [scripts-user, always]
 - [ssh-authkey-fingerprints, once]
 - [keys-to-console, once]
 - [phone-home, once]
 - [final-message, always]

# System and/or distro specific settings
# (not accessible to handlers/transforms)
system_info:
   paths:
      cloud_dir: /var/lib/cloud/
      templates_dir: /etc/cloud/templates/
     
# By default, cloud-init on Azure mounts an NTFS disk to /mnt which clobbers
# the COS stateful_partition at /mnt/stateful_partition.
# /mnt/empty is not used by cos on azure.
# https://bugs.chromium.org/p/chromium/issues/detail?id=934513
mounts:
 - [ ephemeral0, /mnt/empty ]

