English Italian
Provisioning Fedora CoreOS on Exoscale
This guide shows how to provision new Fedora CoreOS (FCOS) instances on https://exoscale.com[Exoscale] Cloud Hosting.
Before provisioning an FCOS machine, it is recommended to have an Ignition configuration file containing your customizations. If you do not have one, see xref:producing-ign.adoc[Producing an Ignition File].
Fedora CoreOS has a default `core` user that can be used to explore the OS. If you want to use it, finalize its xref:authentication.adoc[configuration] by providing e.g. an SSH key.
If you do not want to use Ignition to get started, you can make use of the https://coreos.github.io/afterburn/platforms/[Afterburn support]..
You also need to have access to an Exoscale account. https://portal.exoscale.com/register[Register] if you don't have one.
Uploading an FCOS image as a custom Template
Exoscale offers official FCOS templates, but they are currently out of date. For now we recommend creating your own template. Track progress on fixing this in https://github.com/coreos/fedora-coreos-tracker/issues/1166[#1166].
Exoscale provides https://community.exoscale.com/documentation/compute/custom-templates[Custom Templates] to be able to upload any cloud image. To create a Custom Template you first need to download and decompress the image.
Download and decompress the QCOW2 image with https://github.com/coreos/coreos-installer[coreos-installer]
coreos-installer download -d -s "${STREAM}" -p exoscale -f qcow2.xz
Alternatively, QCOW2 images can be downloaded from the https://getfedora.org/coreos/download?tab=cloud_operators[download page] and manually decompressed.
Next you can https://community.exoscale.com/documentation/compute/custom-templates/#register-a-custom-template[Register a Custom Template]. This can be done from the https://portal.exoscale.com/compute/templates/add[Web Portal] or the https://community.exoscale.com/documentation/tools/exoscale-command-line-interface/[Exoscale CLI]. Either option requires the uncompressed image to be uploaded somewhere public and for the URL and an MD5 checksum to be provided during registration. One option is to use the object storage provided by Exoscale to host the image.
Upload to Object Storage and create Custom Template
# Set the version and calcuate the checksum
CHECKSUM=$(md5sum $FILE | cut -d " " -f 1)
# Upload to object storage
exo storage mb "sos://${BUCKET}"
exo storage upload --acl public-read $FILE "sos://${BUCKET}/image-import/"
# Create the template using given URL and CHECKSUM
URL=$(exo storage show "sos://${BUCKET}/image-import/$FILE" --output-template "{{.URL}}")
exo compute instance-template register --boot-mode=uefi $TEMPLATE $URL $CHECKSUM
You can then view the template using `exo compute instance-template show --visibility=private $TEMPLATE`.
Launching a VM instance