Handling files using cloud-init
An early need we all face is to have a file, a license, or a script in place right from the beginning of the instance life. Cloud-init proposes different ways of sending those files over the new instance. We'll see how to send files using plain text and base64 data encodings.
Getting ready
To step through this recipe, you will need:
- Access to a cloud-config enabled infrastructure
How to do it…
The first file we'll write is a MOTD (short for Message Of The Day) with root read-write permissions, read-only for everyone else. This file will have its content declared right from the cloud-config file:
#cloud-config write_files: - path: /etc/motd content: | This server is configured using cloud-init. Welcome. owner: root:root permissions: '0644'
This machine, when booted, will have /etc/motd
in place and display the string at login:
$ ssh ubuntu@server_ip Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-36-generic x86_64...