Ignition is the utility used by CoreOS Container Linux, Fedora CoreOS, and RHEL CoreOS to manipulate disks during the initramfs. This includes partitioning disks, formatting partitions, writing files (regular files, systemd units, etc.), and configuring users. On first boot, Ignition reads its configuration from a source of truth (remote URL, network metadata service, hypervisor bridge, etc.) and applies the configuration.
Odds are good that you don't want to invoke Ignition directly. In fact, it isn't even present in the Container Linux root filesystem. Take a look at the Getting Started Guide for details on providing Ignition with a runtime configuration.
- Mailing list: [email protected]
- IRC: #fedora-coreos on freenode.org
- Bugs: issues
See CONTRIBUTING for details on submitting patches and the contribution workflow.
To help triage or fix bugs, see the current Ignition issues.
- To report a bug, use the bug tracker
To validate a config for Ignition there are binaries for a cli tool called ignition-validate
available on the releases page. There is also an ignition-validate container: quay.io/coreos/ignition-validate
.
Example:
# This example uses podman, but docker can be used too
podman run --rm -i quay.io/coreos/ignition-validate - < myconfig.ign
For distributions that use dracut, there is an ignition-dracut repo which contains scripts and systemd units for boot-time execution. But it's very likely that distributions will have to do additional work in order to properly integrate with Ignition.
There are two branches:
master
works with themaster
branch of ignition-dracut and is currently used by Fedora CoreOS, which targets Ignition v2 (spec 3).spec2x
works with thespec2x
branch of ignition-dracut and is currently used by CL and RHEL CoreOS, which (for now) targets Ignition v0.x (spec 2).