MCPcopy Index your code
hub / github.com/coreos/ignition

github.com/coreos/ignition @v2.26.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.26.0 ↗ · + Follow
2,456 symbols 8,662 edges 577 files 389 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
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.

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

Extension points exported contracts — how you extend this code

Registrant (Interface)
Registrant interface implementors may be registered in a Registry [16 implementers]
internal/registry/registry.go
Stage (Interface)
Stage is responsible for actually executing a stage of the configuration. [7 implementers]
internal/exec/stages/stages.go
MergesKeys (Interface)
(no doc) [14 implementers]
config/util/interfaces.go
LoggerOps (Interface)
(no doc) [2 implementers]
internal/log/log.go
IgnoreFunc (FuncType)
takes a slice of path elements, returns whether to ignore the subtree
config/doc/schema.go
Translator (Interface)
(no doc) [1 implementers]
config/translate/translate.go
StageCreator (Interface)
StageCreator is responsible for instantiating a particular stage given a logger and root path under the root partition. [7 …
internal/exec/stages/stages.go
IgnoresDups (Interface)
(no doc) [31 implementers]
config/util/interfaces.go

Core symbols most depended-on inside this repo

StrToPtr
called by 1122
config/util/helpers.go
GetBaseDisk
called by 319
tests/types/types.go
BoolToPtr
called by 212
config/util/helpers.go
Register
called by 181
tests/register/register.go
IntToPtr
called by 173
config/util/helpers.go
NilOrEmpty
called by 123
config/util/helpers.go
Translate
called by 116
config/translate/translate.go
AddFiles
called by 106
tests/types/types.go

Shape

Function 1,106
Method 831
Struct 399
TypeAlias 89
Class 19
Interface 10
Enum 1
FuncType 1

Languages

Go98%
C2%
C++1%

Modules by API surface

config/v3_7_experimental/types/schema.go47 symbols
config/v3_6/types/schema.go47 symbols
config/v3_5/types/schema.go47 symbols
config/v3_4/types/schema.go46 symbols
config/v3_3/types/schema.go45 symbols
config/v3_2/types/schema.go43 symbols
internal/distro/distro.go40 symbols
config/v3_1/types/schema.go38 symbols
config/v3_0/types/schema.go35 symbols
internal/log/log.go32 symbols
tests/servers/servers.go29 symbols
tests/types/types.go25 symbols

For agents

$ claude mcp add ignition \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact