packer { required_plugins { amazon = { version = ">= 1.2.8" source = "github.com/hashicorp/amazon" } } } variable "AWSAccessKeyID" {} variable "AWSSecretAccessKey" {} source "amazon-ebs" "ubuntu" { ami_name = "gitlab-runner-manager-packer-ami" instance_type = "t2.nano" region = source_ami_filter { filters = { name = "ubuntu/images/*ubuntu-jammy-22.04-amd64-server-*" root-device-type = "ebs" virtualization-type = "hvm" } most_recent = true owners = ["099720109477"] } ssh_username = "ubuntu" } build { name = "runner-manager-ami-packer" sources = [ "source.amazon-ebs.ubuntu" ] provisioner "file" { source = "privateKey.pem" destination = "~/.ssh/key.pem" } provisioner "shell" { inline = [ "chmod 400 ~/.ssh/key.pem" ] } provisioner "shell" { script = "install-docker.sh" } provisioner "shell" { inline = [ "mkdir ~/.aws" ] } provisioner "file" { source = "aws-config" destination = "~/.aws/config" } provisioner "file" { source = "aws-creds" destination = "~/.aws/credentials" } }