Help us shape the future of Go! Take the 2026 Go Developer Survey

ignition

module
v2.28.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: Apache-2.0

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 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

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. 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

Directories

Path Synopsis
butane
internal command
internal/doc command
internal/report
Package report allows butane to pretty print errors, the error format is as follows:
Package report allows butane to pretty print errors, the error format is as follows:
doc
shared
Package shared contains types, validations, errors, etc that may be shared between multiple config versions safely.
Package shared contains types, validations, errors, etc that may be shared between multiple config versions safely.
shared/errors
Package errors includes errors that are used in multiple config versions
Package errors includes errors that are used in multiple config versions
shared/parse
Package parse contains a function for parsing unit contents shared between multiple config versions.
Package parse contains a function for parsing unit contents shared between multiple config versions.
shared/validations
Package validations contains validations shared between multiple config versions.
Package validations contains validations shared between multiple config versions.
doc command
earlyrand
Package earlyrand provides a non-blocking reader to a source of randomness that can be used at early-boot.
Package earlyrand provides a non-blocking reader to a source of randomness that can be used at early-boot.
log
providers/akamai
Package akamai provides platform support for Akamai Connected Cloud (previously known as Linode).
Package akamai provides platform support for Akamai Connected Cloud (previously known as Linode).
register
Package register imports all platform providers so their init functions register themselves with the platform registry.
Package register imports all platform providers so their init functions register themselves with the platform registry.
util/tools/docs command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL