Auto approve AMI builder apply

This commit is contained in:
Timothy J. Aveni
2026-06-30 19:14:38 -07:00
parent ab223837c4
commit 458ad8ae85
2 changed files with 20 additions and 18 deletions
+18 -16
View File
@@ -3,7 +3,7 @@ set -euo pipefail
aws_region="${AWS_REGION:-us-west-2}"
system="aarch64-linux"
builder_instance_type="t4g.large"
builder_instance_type=""
name="nixos-zfs-ec2"
keep_builder=false
extra_tofu_args=()
@@ -16,7 +16,7 @@ Options:
--system <aarch64-linux|x86_64-linux>
Target NixOS system (default: aarch64-linux)
--aws-region <region> AWS region (default: AWS_REGION or us-west-2)
--builder-instance-type <t> Temporary builder EC2 type (default: t4g.large)
--builder-instance-type <t> Temporary builder EC2 type (default: Terraform chooses per architecture)
--name <name> AMI name prefix
--keep-builder Keep temporary builder resources after publish
-h, --help Show this help
@@ -104,15 +104,23 @@ flake_lock_rev="$(jq -r '.nodes.nixpkgs.locked.rev // .nodes.nixpkgs.locked.narH
input_hash="$(printf '%s\n%s\n%s\n' "$builder_git_rev" "$flake_lock_rev" "$system" | sha256sum | awk '{ print $1 }')"
ami_name="${name}-${architecture}-${input_hash:0:12}"
common_tofu_vars=(
-var "aws_region=$aws_region"
-var "name=$name"
-var "system=$system"
-var "input_hash=$input_hash"
-var "builder_git_rev=$builder_git_rev"
-var "flake_lock_rev=$flake_lock_rev"
)
if [ -n "$builder_instance_type" ]; then
common_tofu_vars+=(-var "builder_instance_type=$builder_instance_type")
fi
tofu init
tofu apply \
-var "aws_region=$aws_region" \
-var "name=$name" \
-var "system=$system" \
-var "builder_instance_type=$builder_instance_type" \
-var "input_hash=$input_hash" \
-var "builder_git_rev=$builder_git_rev" \
-var "flake_lock_rev=$flake_lock_rev" \
-auto-approve \
"${common_tofu_vars[@]}" \
"${extra_tofu_args[@]}"
builder_instance_id="$(tofu output -raw builder_instance_id)"
@@ -318,13 +326,7 @@ jq -n \
if [ "$keep_builder" = false ]; then
tofu destroy \
-auto-approve \
-var "aws_region=$aws_region" \
-var "name=$name" \
-var "system=$system" \
-var "builder_instance_type=$builder_instance_type" \
-var "input_hash=$input_hash" \
-var "builder_git_rev=$builder_git_rev" \
-var "flake_lock_rev=$flake_lock_rev" \
"${common_tofu_vars[@]}" \
"${extra_tofu_args[@]}"
fi