coreos / fedora-coreos-tracker

Issue tracker for Fedora CoreOS
https://fedoraproject.org/coreos/
264 stars 59 forks source link

Platform Request: IONOSCloud #1815

Open mcbenjemaa opened 1 month ago

mcbenjemaa commented 1 month ago

Why is the platform important? Who uses it?

IONOS Cloud is a widely used Cloud provider, all teams, companies running on IONOS, they would like to use COREOS and ignition

What is the official name of the platform? Is there a short name that's commonly used in client API implementations?

IONOS Cloud

How can the OS retrieve instance userdata? What happens if no userdata is provided?

IONOS Cloud injects a file into the Storage volume before booting the VM. the default path is /var/lib/cloud/seed/nocloud/user-data

https://docs.ionos.com/cloud/compute-services/compute-engine/how-tos/boot-cloud-init

IONOS Cloud will work on building a metadata service, so we can add support for this as well. (but this is not happening soon)

Does the platform provide a way to configure SSH keys for the instance? How can the OS retrieve them? What happens if none are provided?

The ssh keys are selected from a set of previously uploaded keys within the platform when the image is started. if none are provided we still can have a password auth.

How can the OS retrieve network configuration? Is DHCP sufficient, or is there some other network-accessible metadata service?

IONOS Cloud is based on QEMU. DHCP, along with static IPs,

In particular, how can the OS retrieve the system hostname?

IONOS Cloud by default, sets the hostname as the machine name, but we can customize it via the userdata

Does the platform require the OS to have a specific console configuration?

No

Is there a mechanism for the OS to report to the platform that it has successfully booted? Is the mechanism required?

TBD

Does the platform have an agent that runs inside the instance? Is it required? What does it do? What language is it implemented in, and where is the source code repository?

no agent.

How are VM images uploaded to the platform and published to other users? Is there an API? What disk image format is expected?

The VM images are uploaded to a FTP

Are there any other platform quirks we should know about?

No response

ignition Ref https://github.com/coreos/ignition/pull/1957

travier commented 1 month ago

Does the platform provide a way to configure SSH keys for the instance? How can the OS retrieve them? What happens if none are provided?

Yes, the platform also injects SSH keys in the volume.

How does it figure out which user to inject the keys to?

tuunit commented 1 month ago

Does the platform provide a way to configure SSH keys for the instance? How can the OS retrieve them? What happens if none are provided?

Yes, the platform also injects SSH keys in the volume.

How does it figure out which user to inject the keys to?

@travier as of now the default account ssh key is injected into the /var/lib/cloud/nocloud/seed/meta-data file. Which is normally used by cloud-init based distros to load into the root user. The files content could be used by a custom ignition script to load into which ever user is desired. If no SSH key is provided, no injection will happen and the VM will start without any pre-boot modification.

travier commented 1 month ago

How are VM images uploaded to the platform and published to other users? Is there an API? What disk image format is expected?

The VM images are uploaded to a FTP

Can you confirm that QCOW2 is expected, compressed or not? Would RAW also work?

mcbenjemaa commented 1 month ago

Yes Qcow2 images are expected.

tuunit commented 2 weeks ago

How are VM images uploaded to the platform and published to other users? Is there an API? What disk image format is expected?

The VM images are uploaded to a FTP

Can you confirm that QCOW2 is expected, compressed or not? Would RAW also work?

https://docs.ionos.com/cloud/storage-and-backup/block-storage/images-snapshots/private-images

https://www.ionos.com/help/server-cloud-infrastructure/images/importing-an-image/

Compatible image formats:

VMWare disk image Microsoft disk image RAW disk image QEMU QCOW image UDF file system Parallels disk image