Migrando de Fedora Atomic Host (FAH) para o Fedora CoreOS (FCOS)

Visão geral

Fedora Atomic Host era um sistema para realizar o deploy de aplicações em contêineres. Usuários existentes do FAH são encorajados a migrar para o FCOS, como o projeto chegou ao seu EOL.

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.

Convertendo dados de usuário cloud-init e cloud-config

The following examples show the difference between FAH userdata and user configuration with Butane.

Exemplo de arquivo com dados de usuário FAH:
#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:

Exemplo de usuários:
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 desabilita login por senha usando SSH por default. É extremamente recomendado que utilizem somente autenticação por chave. Configurar senhas pode ser útil para logar no console diretamente.

Convertendo definições de armazenamento

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.