coreos /ignition

First boot installer and configuration tool

★ 990⑂ 300👁 36⑃ 1,904● 440▤ 54◈ 2
GoApache-2.0Created 2015-03-28coreos.github.io/ignition/
990
stars
300
forks
36
watchers
1,904
prs
440
issues
54
releases
2
discussions

README

Ignition

Ignition is a utility created 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.

Ignition accepts both Ignition JSON configs and Butane YAML configs. When a Butane YAML config is provided, Ignition automatically transpiles it at boot.

 Butane

This repository also contains Butane, a config transpiler that translates human-readable Butane YAML configs into Ignition JSON configs. The butane CLI can be used for local config validation and features like --files-dir that require client-side processing. See the Butane getting started guide for details.

 Usage

Odds are good that you don't want to invoke Ignition directly. In fact, it isn't even present in the root filesystem. Take a look at the [Getting Started Guide][getting started] for details on providing Ignition with a runtime configuration.

 Known users

- Fedora CoreOS
- Red Hat Enterprise Linux CoreOS
- Flatcar
- openSUSE MicroOS
- SUSE Linux Enterprise Micro

 Contact

- Mailing list: [email protected]
- IRC: fedora-coreos on Libera.Chat
- Reporting bugs: [issues][issues]

 Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

To help triage or fix bugs, see the current Ignition issues.

 Config Validation

To validate a config for Ignition there are binaries for a cli tool called ignition-validate available [on the releases page][releases]. 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 --pull=always --rm -i quay.io/coreos/ignition-validate:release - < myconfig.ign


[getting started]: docs/getting-started.md
[issues]: https://github.com/coreos/ignition/issues/new/choose
[releases]: https://github.com/coreos/ignition/releases

Top issues

Discussions

Latest release

v2.28.0 v2.28.0 2026-10-15
Features

- Butane: stabilize OpenShift spec 5.0.0, targeting Ignition spec 3.5.0
  (2333)
- Butane: add OpenShift spec 5.1.0-experimental, targeting Ignition spec
  3.7.0-experimental (2334)
- Support Outscale (2296)
- Butane: add --yaml-doc-separator to prepend the YAML document separator
  (---) to MachineConfig output

 Changes

- ./test validates the Butane configs in butane/docs without needing a butane binary, restoring coverage that was lost when Butane merged into this repository
- Document file append and overwrite behavior with examples (2270)

 Bug fixes

- Read Az

Snapshot: 2026-11-11T21:00:35Z · Data license Apache-2.0 · JSON