Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFE] Hetzner support #1412

Closed
6 tasks done
tormath1 opened this issue Apr 3, 2024 · 4 comments · Fixed by flatcar/scripts#2142
Closed
6 tasks done

[RFE] Hetzner support #1412

tormath1 opened this issue Apr 3, 2024 · 4 comments · Fixed by flatcar/scripts#2142
Labels
kind/feature A feature request platform/new-platform linked to new platform addition (cloud provider, image type, architecture, etc.)

Comments

@tormath1
Copy link
Contributor

tormath1 commented Apr 3, 2024

Current situation

There is no Flatcar images for Hetzner.

Impact

Folks can't simply use Flatcar on Hetzner.

Ideal future situation

Folks can deploy Flatcar on Hetzner without additional steps.

Implementation options

Additional information

@tormath1 tormath1 added the kind/feature A feature request label Apr 3, 2024
@tormath1 tormath1 added the platform/new-platform linked to new platform addition (cloud provider, image type, architecture, etc.) label Apr 3, 2024
@LenzGr
Copy link

LenzGr commented Apr 3, 2024

Just for reference, there's also https://github.com/Thor77/hetzner-flatcar

@apricote
Copy link

apricote commented Apr 11, 2024

These PRs add basic support for Hetzner (3rd checkbox in the list above):

(Disclaimer: This was done because of personal interest, not in my capacity as a Hetzner employee)

@tormath1 tormath1 moved this from 📝 Needs Triage to ⚒️ In Progress in Flatcar tactical, release planning, and roadmap Apr 11, 2024
@apricote
Copy link

apricote commented Apr 17, 2024

With the above PRs merged, to quote @tormath1 in chat:

According to the release planning, we should get Hetzner images for the Alpha and Beta in the next release. 🥳

What Works

These change already support:

  • Setting the hostname properly
  • Reading the SSH Key from the Hetzner Cloud metadata service and setting it for the core user
  • Reading metadata variables through Afterburn and making them available to other units

Whats still missing

As far as I can tell we are still missing the following functionality for feature parity with the official images.

All of these feature are very much oriented at the beginner users, who are probably not running Flatcar. I do not think we require them, and adding a note about this in the docs should be fine.

hc-utils

units for configuring networks

This seems to work out-of-the-box on flatcar

Units for volume automounts

This is just a udev rules file, should be easy to get in the oem sysext. One issue I encountered was, that the hc-utils file modified /etc/fstab which is not an option on Flatcar. Not sure how to dynamically generate and persist systemd .mount files here

Root Passwords

Initial Root Password

On Hetzner Cloud its possible to start a server without SSH Key. We generate a root password and show it to the user once. This is then configured on the server through cloud-init chpasswd for the root user.

Root Password Reset

Its possible to reset the root password through the API. This is being handled by qemu-guest-agent on the official images.

I found that qemu-guest-agent on Flatcar was only installed on the amd64 board, not on arm64.

Another issue is, that the message received is for the root user. Not sure if we can just intercept this and always modify the core user instead, or if we want to accept that this does not work.

@tormath1
Copy link
Contributor Author

tormath1 commented May 30, 2024

Hetzner are images are now available on Alpha and Beta 🥳
Next steps are:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A feature request platform/new-platform linked to new platform addition (cloud provider, image type, architecture, etc.)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants