Cloud-init is a widely utilized industry-standard method for initializing cloud instances. Cloud providers use Cloud-init to customize instances with network configuration, instance information, and even user-provided configuration directives. It is also a great tool to use in your “private cloud at home” to add a little automation to the initial setup and configuration of your homelab[he]#039[/he]s virtual and physical machines—and to learn more about how large cloud providers work.
Source: LXer – Add nodes to your private cloud using Cloud-init