terraform-provider-ignition

command module
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

README

terraform-provider-ignition

terraform-provider-ignition allows Terraform to validate a Butane configuration and transpile it to an Ignition configuration.

The Butane configuration is transpiled to the corresponding ignition version according to the Butane specification.
The Butane version is taken from the content attribute.

The Ignition versions 3.0.0, 3.1.0, 3.2.0, 3.3.0 and 3.4.0 are supported.

Usage

Configure the config transpiler provider (e.g. providers.tf).

provider "ignition" {}

terraform {
  required_providers {
    ignition = {
      source  = "e-breuninger/ignition"
      version = "1.0.6"
    }
  }
}

Define a Butane config for Fedora CoreOS or Flatcar Linux:

variant: fcos
version: 1.5.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-key foo
variant: flatcar
version: 1.1.0
passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-key foo

Define a ignition_config data source with strict validation.

data "ignition_config" "worker" {
  content      = file("worker.yaml")
  strict       = true
  pretty_print = false

  snippets = [
    file("units.yaml"),
    file("storage.yaml"),
  ]
}

Optionally, template the content.

data "ignition_config" "worker" {
  content = templatefile("worker.yaml", {
    ssh_authorized_key = "ssh-ed25519 AAAA...",
  })
  strict       = true
}

Render the ignition_config as Ignition for use by machine instances.

resource "aws_instance" "worker" {
  user_data = data.ignition_config.worker.rendered
}

Run terraform init to ensure plugin version requirements are met.

$ terraform init

Requirements

Credits

This provider is a fork of the terraform provider poseidon/ct

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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