2023-03-28 22:48:58 +00:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
2023-08-11 13:12:13 +00:00
|
|
|
# SPDX-License-Identifier: BUSL-1.1
|
2023-03-28 22:48:58 +00:00
|
|
|
|
2022-06-15 13:29:38 +00:00
|
|
|
packer {
|
|
|
|
required_version = ">= 1.5.4"
|
|
|
|
}
|
|
|
|
|
|
|
|
variable "aws_region" {
|
|
|
|
type = string
|
|
|
|
default = "${env("AWS_DEFAULT_REGION")}"
|
|
|
|
}
|
|
|
|
|
|
|
|
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 hey installed."
|
|
|
|
ami_name = "consul-test-${ 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"
|
|
|
|
}
|
|
|
|
|
|
|
|
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" {
|
|
|
|
execute_command = "sudo -S sh -c '{{ .Vars }} {{ .Path }}'"
|
|
|
|
script = "./scripts/install-k6.sh"
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|