Subject: Re: [bug#75144] [PATCH] machine: Implement 'hetzner-environment-type'.

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 07 Feb 2025 23:08:11 +0900

Hi Roman,

Roman Scherer <[email-masked]> writes:

> Hi Maxim,
>
> yes, it is fully automated. What happens is:
>
> - a server is provisioned through the Hetzner API
> - the the server is booted into the rescue system via the API
> - partitions are setup in the rescue system (enlarged)
> - a minimal Guix system is installed
> - then the server re-booted, starting the minimal Guix system
> - then the machine-ssh-environment takes over and applies the final system configuration
> - this all is done once, when the server is initially provisioned
>
> Previsouly I tried the guix-infect.sh approach that installs a Guix
> system on top of a debian/ubuntu image, but I found this was very
> brittle (issues with dns when you remove /etc, etc.). From my experience
> working with this I found the approach with the rescue system both more
> reliable and faster.
>
> Does this mnake sense?

Thanks for the clear explanation, it makes a lot of sense and it's
awesome that you could automate all that!  It looks a lot like the
manual steps I had to go through to install Guix System on a cheap OVH
VPS [0].  It'd be fun to review if their API would allow automating all
that as what you did here for Hetzner.  The nice thing with OVH is that
they do not place any upper limit on the amount of bandwidth consumed
(no extra billing), and it's quite inexpensive (I currently pay less
than 2 CAD/month, although that's only for the first year -- after it's
similar to Hetzner, about 6 CAD/month IIRC).

[0]  https://lists.gnu.org/archive/html/help-guix/2024-08/msg00125.html

-- 
Thanks,
Maxim