» Ignition Provider

The Ignition provider is used to generate Ignition configuration files. Ignition is the provisioning utility used by CoreOS Linux.

The ignition provider is what we call a logical provider and doesn't manage any physical resources. It generates configurations files to be used by other resources.

Use the navigation to the left to read about the available resources.

» Ignition versions

The current Ignition version supported by this provider is the 2.1.0. For older versions you should use previous releases of this provider:

  • terraform-provider-ignition <= 0.2.0 - ignition 2.0.0
  • terraform-provider-ignition 1.0.0 => - ignition 2.1.0

» Example Usage

This config will write a single service unit (shown below) with the contents of an example service. This unit will be enabled as a dependency of multi-user.target and therefore start on boot

# Systemd unit data resource containing the unit definition
data "ignition_systemd_unit" "example" {
  name = "example.service"
  content = "[Service]\nType=oneshot\nExecStart=/usr/bin/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
}

# Ingnition config include the previous defined systemd unit data resource
data "ignition_config" "example" {
  systemd = [
    data.ignition_systemd_unit.example.rendered,
  ]
}

# Create a CoreOS server using the Igntion config.
resource "aws_instance" "web" {
  # ...

  user_data = data.ignition_config.example.rendered
}