Article

Table of Contents
Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $300 by adding new articles!

How to Create an Ignition Configuration File

Last Updated: Fri, May 15, 2020
Containers CoreOS FAQ

Introduction

Ignition files are JSON formatted provisioning instructions for container-centric operating systems such as Fedora CoreOS (FCOS) and Flatcar Linux. Ignition can configure system components like storage, filesystems, systemd units, and users. Ignition runs one time, during the first boot of the system.

When you provision an FCOS server at Vultr, you must supply an Ignition file in the customer portal. Ignition files are created by transpiling Fedora CoreOS Configuration (FCC) files with the Fedora CoreOS Config Transpiler, fcct.

A Basic FCC File

Fedora CoreOS Configuration (FCC) files are in YAML format. See the full FCC YAML language specification for more information. Advanced users may prefer the specification summary.

As a simple example, create a file named example.fcc with the following contents. Replace ssh-rsa AAAA... with a public SSH key.

variant: fcos
version: 1.0.0
passwd:
  users:
    - name: example_user
      ssh_authorized_keys:
      - ssh-rsa AAAA...
      groups: [ sudo, docker ]

This basic FCC file instructs Ignition to create a user named example_user as a member of the sudo and docker groups. The user can SSH to the server with a matching private SSH key. Next, this file must be compiled to Ignition format with fcct.

Install fcct

The fcct utility is available for Linux, macOS, and Windows. Follow these installation steps for your platform. Windows users may install Gpg4win to verify the file signature. This example uses Linux x86_64 architecture.

  1. Download the Fedora signing keys.

    $ wget https://getfedora.org/static/fedora.gpg
    
  2. Import the keys to gpg.

    $ gpg --import fedora.gpg
    
  3. Download the latest version of fcct for your platform and architecture.

  4. Download the detached signature.

  5. Verify the download.

    $ gpg --verify fcct-x86_64-unknown-linux-gnu.asc fcct-x86_64-unknown-linux-gnu
    
  6. Make the file executable.

    $ chmod +x fcct-x86_64-unknown-linux-gnu
    

Compile FCC to Ignition

Compile the file with the fcct utility. This example is for x86_64 Linux.

$ ./fcct-x86_64-unknown-linux-gnu -o example.ign example.fcc

Deploy Fedora CoreOS with Ignition

  1. Deploy a new server in your Vultr customer portal.
  2. Select Fedora CoreOS as the server type.
  3. Copy the contents of your example.ign file to the Ignition field.

    Ignition

  4. Select your deployment options and click Deploy Now.

More Information

Find more information about Ignition and FCC at the official Fedora CoreOS site.

Want to contribute?

You could earn up to $300 by adding new articles