consul/test/load/packer/consul-ami/consul.pkr.hcl

73 lines
2.0 KiB
HCL
Raw Normal View History

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
packer {
required_version = ">= 1.5.4"
}
variable "aws_region" {
type = string
default = "${env("AWS_DEFAULT_REGION")}"
}
variable "dd_api_key" {
type = string
default = "${env("DD_API_KEY")}"
}
data "amazon-ami" "autogenerated_1" {
filters = {
architecture = "x86_64"
"block-device-mapping.volume-type" = "gp2"
name = "ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-*"
root-device-type = "ebs"
virtualization-type = "hvm"
}
most_recent = true
owners = ["099720109477"]
region = "${var.aws_region}"
}
source "amazon-ebs" "ubuntu18-ami" {
ami_description = "An Ubuntu 18.04 AMI that has Consul installed."
ami_name = "consul-ubuntu-${ formatdate("YYYY-MM-DD", timestamp()) }T${ formatdate("hh-mm", timestamp()) }-{{uuid}}"
associate_public_ip_address = true
instance_type = "t2.micro"
region = "${var.aws_region}"
source_ami = "${data.amazon-ami.autogenerated_1.id}"
ssh_username = "ubuntu"
tags = {
Environment = "consul-load-test"
}
}
build {
sources = ["source.amazon-ebs.ubuntu18-ami"]
provisioner "shell" {
inline = ["mkdir -p /home/ubuntu/scripts"]
}
provisioner "file" {
destination = "/home/ubuntu"
pause_before = "30s"
source = "${path.root}/scripts"
}
provisioner "shell" {
inline = ["/home/ubuntu/scripts/setup-systemd-resolved"]
pause_before = "30s"
}
provisioner "shell" {
inline = ["DD_AGENT_MAJOR_VERSION=7 DD_API_KEY=${var.dd_api_key} bash -c \"$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)\""]
}
provisioner "shell" {
environment_vars = ["DD_API_KEY=${var.dd_api_key}"]
execute_command = "sudo sh -c '{{ .Vars }} {{ .Path }}'"
script = "${path.root}/scripts/move-files.sh"
}
}