W3cubDocs

/Terraform

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.id}",
  ]
}

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

  user_data = "${data.ignition_config.example.rendered}"
}

© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/ignition/index.html