Introduction
cloud-init Overview
In addition to the ISO installers of popular Linux distributions, Enseva Cloud Services also offers cloud image templates of these operating systems. These templates come from Linux distribution vendors which implement the ‘cloud-init’ package, which you can read more about here: https://cloud-init.io/
Cloud-init handles an automatic configuration of a base operating system via a YAML configuration file upon instance creation. It is recommended to use a YAML validator to check the syntax of your configuration file. There is no installer since it is an image, so multiple deployments of similar instances are fast to deploy. The configuration file can handle simple things like associating a public SSH key to a created user, OS updates, and the installation of packages. More complex actions like handling a python script which makes an API call to create and attach a volume to the fresh instance is also no sweat. This configuration file is uploaded at the last step of the instance creation wizard.
Keep in mind that the simplest and most secure way to connect is using an SSH-2 RSA key pair. The key pair can be generated by Enseva Cloud Services, and the public key needs to be selected when the instance is created through the web UI. Please visit the compute course to learn more about this. Cloud-init can be configured to create a user and password, to log into the instance through the web UI’s connect command, but this is not best practice.
The following pages walks through these ideas, but you are encouraged to read more about what cloud-init configuration files can do, here: