#cloud-config # Run 'apt-get update' on first boot apt_update: true # Run 'apt-get upgrade' on first boot # disabled for testing apt_upgrade: true packages: - curl - git - wget - python3-pip - build-essential - python3-dev - python3-venv - python3-wheel - libxslt-dev - libzip-dev - libldap2-dev - libsasl2-dev - python3-setuptools - node-less - postgresql # boot commands # These are like 'runcmd', but run very early in the boot process & run on every boot by default. bootcmd: - echo $(whoami) > /root/boot.txt runcmd: # enable postgres - systemctl enable --now postgresql.service - su - postgres -c "createuser -s ubuntu" # setup directories - sudo -u ubuntu mkdir /home/ubuntu/config - sudo -u ubuntu mkdir /home/ubuntu/custom - sudo -u ubuntu mkdir /home/ubuntu/db # set the locale locale: en_US.UTF-8 # timezone: set the timezone for this instance timezone: UTC # Log all cloud-init process output (info & errors) to a logfile output: {all: ">> /var/log/cloud-init-output.log"} # final_message written to log when cloud-init processes are finished final_message: "System boot (via cloud-init) is COMPLETE, after $UPTIME seconds. Finished at $TIMESTAMP"