Skip to content

A Packer plugin for provisioning with Terraform (local)

License

Notifications You must be signed in to change notification settings

tristanmorgan/packer-plugin-terraform

Repository files navigation

Packer Plugin Terraform

  • license MPL-2.0
  • GoReportCard
  • Version

Inspired by Megan Marsh's talk https://www.hashicorp.com/resources/extending-packer I bit the bullet and started making my own ill advised provisioner for Terraform.

Usage

packer {
  required_plugins {
    terraform = {
      version = ">= 0.0.2"
      source = "github.com/tristanmorgan/terraform"
    }
  }
}

source "docker" "test_server" {
  commit = true
  image  = "amazonlinux:2"
}

build {
  sources = ["source.docker.test_server"]

  provisioner "terraform" {
    code_path       = "./tfcode"
    prevent_sudo    = "true"
    variable_string = jsonencode({
        consul_server_node = false
    })
    version = "1.7.0"
  }
}

parameters

  • version(string) - the version of Terraform to install
  • code_path(string) - (required) the path to the terraform code
  • run_command(string) - override the command to run Terraform
  • install_command(string) - override the command to run Terraform
  • staging_dir(string) - override the remote path to stage the code.
  • variables(map(String, String)) - set terraform variables into a terraform.auto.tfvars file

License

The code is available as open source under the terms of the Mozilla Public License 2.0