Cloud-init is a set of scripts used to apply user data to instances. Cloud-init works on many Linux and FreeBSD operating systems.
Each public or private cloud has a metadata service. This service contains information about the environment in which the computer is running. Operating system templates – cloud images consist of instances where each new instance is a clone of the previous one. User data gives the instances their individuality.
- setting up network interfaces;
- setting up a network name resolver;
- setting up non-permanent mount points;
- setting the hostname;
- setting of SSH keys used to authenticate individual users;
- setting user passwords.
Cloud-init retrieves information from the data source about the necessary modifications.
How the metadata will be extracted at load time determines the data sources. By default, the sources are detected automatically.