From 9228157a3d6e04a96b13473adfcc2c541ed333d4 Mon Sep 17 00:00:00 2001 From: Stephen Hawes Date: Wed, 15 Sep 2021 14:18:07 +1000 Subject: [PATCH] add base ami choice to packer json and Makefiles --- Makefile | 12 ++++++++++++ packer/linux/buildkite-ami.json | 6 ++++-- packer/windows/buildkite-ami.json | 6 ++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 3b7f1a4e2..e7dce96fe 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,8 @@ packer-linux-amd64.output: $(PACKER_LINUX_FILES) -e AWS_ACCESS_KEY_ID \ -e AWS_SECRET_ACCESS_KEY \ -e AWS_SESSION_TOKEN \ + -e SOURCE_AMI_NAME_FILTER \ + -e SOURCE_AMI_OWNER \ -e PACKER_LOG \ -v ${HOME}/.aws:/root/.aws \ -v "$(PWD):/src" \ @@ -89,6 +91,8 @@ packer-linux-amd64.output: $(PACKER_LINUX_FILES) -w /src/packer/linux \ hashicorp/packer:$(PACKER_VERSION) build -timestamp-ui -var 'region=$(AWS_REGION)' \ -var 'arch=x86_64' -var 'goarch=amd64' -var 'instance_type=$(AMD64_INSTANCE_TYPE)' \ + -var 'source_ami_name_filter=$(SOURCE_AMI_NAME_FILTER)' \ + -var 'source_ami_owner=$(SOURCE_AMI_OWNER)' \ buildkite-ami.json | tee $@ build/linux-arm64-ami.txt: packer-linux-arm64.output env-AWS_REGION @@ -103,6 +107,8 @@ packer-linux-arm64.output: $(PACKER_LINUX_FILES) -e AWS_ACCESS_KEY_ID \ -e AWS_SECRET_ACCESS_KEY \ -e AWS_SESSION_TOKEN \ + -e SOURCE_AMI_NAME_FILTER \ + -e SOURCE_AMI_OWNER \ -e PACKER_LOG \ -v ${HOME}/.aws:/root/.aws \ -v "$(PWD):/src" \ @@ -110,6 +116,8 @@ packer-linux-arm64.output: $(PACKER_LINUX_FILES) -w /src/packer/linux \ hashicorp/packer:$(PACKER_VERSION) build -timestamp-ui -var 'region=$(AWS_REGION)' \ -var 'arch=arm64' -var 'goarch=arm64' -var 'instance_type=$(ARM64_INSTANCE_TYPE)' \ + -var 'source_ami_name_filter=$(SOURCE_AMI_NAME_FILTER)' \ + -var 'source_ami_owner=$(SOURCE_AMI_OWNER)' \ buildkite-ami.json | tee $@ build/windows-amd64-ami.txt: packer-windows-amd64.output env-AWS_REGION @@ -124,12 +132,16 @@ packer-windows-amd64.output: $(PACKER_WINDOWS_FILES) -e AWS_ACCESS_KEY_ID \ -e AWS_SECRET_ACCESS_KEY \ -e AWS_SESSION_TOKEN \ + -e SOURCE_AMI_NAME_FILTER \ + -e SOURCE_AMI_OWNER \ -e PACKER_LOG \ -v ${HOME}/.aws:/root/.aws \ -v "$(PWD):/src" \ --rm \ -w /src/packer/windows \ hashicorp/packer:$(PACKER_VERSION) build -timestamp-ui -var 'region=$(AWS_REGION)' \ + -var 'source_ami_name_filter=$(SOURCE_AMI_NAME_FILTER)' \ + -var 'source_ami_owner=$(SOURCE_AMI_OWNER)' \ buildkite-ami.json | tee $@ # ----------------------------------------- diff --git a/packer/linux/buildkite-ami.json b/packer/linux/buildkite-ami.json index da485b03e..035b8a171 100644 --- a/packer/linux/buildkite-ami.json +++ b/packer/linux/buildkite-ami.json @@ -1,5 +1,7 @@ { "variables": { + "source_ami_name_filter": "amzn2-ami-hvm-2.0.*-gp2", + "source_ami_owner": "amazon", "region": "us-east-1", "arch": "x86_64", "goarch": "amd64", @@ -12,11 +14,11 @@ "region": "{{user `region`}}", "source_ami_filter": { "filters": { - "name": "amzn2-ami-hvm-2.0.*-gp2", + "name": "{{user `source_ami_name_filter`}}", "architecture": "{{user `arch`}}", "virtualization-type": "hvm" }, - "owners": ["amazon"], + "owners": "{{user `source_ami_owner`}}", "most_recent": true }, "instance_type": "{{user `instance_type`}}", diff --git a/packer/windows/buildkite-ami.json b/packer/windows/buildkite-ami.json index ca480d1eb..137450b09 100644 --- a/packer/windows/buildkite-ami.json +++ b/packer/windows/buildkite-ami.json @@ -1,5 +1,7 @@ { "variables": { + "source_ami_name_filter": "Windows_Server-2019-English-Full-Containers*", + "source_ami_owner": "amazon", "region": "us-east-1" }, "builders": [ @@ -8,10 +10,10 @@ "region": "{{user `region`}}", "source_ami_filter": { "filters": { - "name": "Windows_Server-2019-English-Full-Containers*", + "name": "{{user `source_ami_name_filter`}}", "virtualization-type": "hvm" }, - "owners": ["amazon"], + "owners": "{{user `source_ami_owner`}}", "most_recent": true }, "instance_type": "m5.xlarge",