Fedora CoreOS Configuration Transpiler (fcct)

The fcct utility verifies and converts a human-friendly (YAML) Fedora CoreOS Configuration (FCC) file into a machine-friendly (JSON) Ignition configuration file. Upon first boot, Ignition, which runs during the creation of initramfs, ingests the Ignition configuration file and provisions the FCOS system as specified in the file.

This guide explains how to obtain and use fcct.

Unless otherwise noted, new releases of fcct are backwards compatible with old releases.

Getting FCCT

You can run fcct as a container with docker or podman or download it as a standalone binary.

Container

This example uses podman, but you can use docker in a similar manner. Note that the release tag tracks the most recent release, and the latest tag tracks the Git development branch.

  1. Pull the container: podman pull quay.io/coreos/fcct:release

  2. Run fcct either by using standard in and standard out or by using files. Refer to the examples below.

    Example running fcct using standard in and standard out:

    podman run -i --rm quay.io/coreos/fcct:release --pretty --strict < your_config.fcc > transpiled_config.ign

    Example running fcct using files:

    podman run --rm -v /path/to/your_config.fcc:/config.fcc:z quay.io/coreos/fcct:release --pretty --strict --input /config.fcc > transpiled_config.ign

    fcct sends its output to stdout, so the examples above pipe that output to a file named transpiled_config.ign.

Standalone binary

To use the fcct binary on Linux, follow these steps:

  1. If you have not already done so, download the Fedora signing keys and import them: gpg --import <key>

  2. Download the latest version of fcct and the detached signature from the releases page.

  3. Verify it with gpg: gpg --verify <detached sig> <fcct binary>