Migrating from Fedora Atomic Host (FAH) to Fedora CoreOS (FCOS)
Overview
Fedora Atomic Host was a system to deploy applications in containers. Existing FAH users are encouraged to migrate to FCOS, as the project has reached its end-of-life.
FAH used cloud-init
for provisioning, which required users to provide a cloud-config
file as userdata for configuration of the instance. Since FCOS Ignition and cloud-init
are different and have overlapping feature sets, it is not trivial to convert cloud-init
files to Ignition. Currently, there is no tool for this conversion, so you must manually convert cloud-init
configs to Butane configs. Refer to Butane Specification for an explanation of the available configuration options.
Converting cloud-init
and cloud-config
userdata
The following examples show the difference between FAH userdata and user configuration with Butane.
#cloud-config password: atomic ssh_pwauth: True chpasswd: { expire: False } ssh_authorized_keys: - ssh-rsa ...
This can be manually translated into a passwd
node within the Butane config:
variant: fcos
version: 1.3.0
passwd:
users:
- name: core
password_hash: "$6$5s2u6/jR$un0AvWnqilcgaNB3Mkxd5yYv6mTlWfOoCYHZmfi3LDKVltj.E8XNKEcwWm..."
ssh_authorized_keys:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGdByTgSVHq......."
groups: [ sudo, docker ]
Fedora CoreOS disables password login over SSH by default. It is strongly recommended to only use key authentication. Setting passwords can be useful however for logging into the console directly. |
Converting storage definitions
With FAH, you could configure additional storage for the system with either cloud-init
or docker-storage-setup
via the /etc/sysconfig/docker-storage-setup
file. With FCOS, you should configure additional storage at provisioning time via Ignition in the storage
node of the Butane config.