Subject: [PATCH] services: add cloud-init service

From: Ricardo Wurmus <[email-masked]>
Date: Thu, 21 Nov 2024 19:25:47 +0100

Hi Alexander,

thank you for the patch!

I'm interested in a cloud-init service because I think we need a way to
have Guix System images be configured dynamically when using them in AWS
or in Openstack environments.  The dynamic configuration I'm most
interested in is user credentials and networking.

Last I looked into this, the Python library for cloud init had explicit
support for various distributions to modify system configuration files
and run tools (e.g. to configure and bring up networking, or to set the
hostname).  It did not generate a central configuration file that could
be processed.  It just triggered explicit per-distro actions.

We couldn't actually use any of that stuff for Guix System. What I
investigated a few months back was to see if there was a way to generate
some sort of configuration file that our services could then consult.

Sadly there was no such thing as a central configuration file containing
all necessary bits of information.  From what I can tell cloud-utils
does not have what it takes to configure networking or user accounts.
It's probably useful for other bits, though I haven't ever used those.

Could you please expand on what your service does---and what it cannot
or does not aim to do---and how it would be used?

Thanks!

-- 
Ricardo