Cloud-init is a standard—it would not be a stretch to say it is the standard—that cloud providers use to provide initialization and configuration data to cloud instances. It is used most often on the first boot of a new instance to automate network setup, account creation, and SSH (secure shell) key installation—anything required to bring a new system online so that it is accessible by the user.
Source: LXer – How Cloud-init can be used for your Raspberry Pi homelab