tf/tools/packer/custom-ubuntu-hpc.pkr.hcl (59 lines of code) (raw):

source "azure-arm" "azure-hpc-img" { use_azure_cli_auth = true # USE MARKETPLACE IMAGE AS SOURCE image_offer = "0001-com-ubuntu-server-jammy" image_publisher = "canonical" image_sku = "22_04-lts-gen2" image_version = "latest" # USE SHARED GALLERY AS SOURCE # shared_image_gallery { # subscription = "${var.subscription_id}" # resource_group = "${var.rg_name}" # gallery_name = "${var.sig_name}" # image_name = "${var.image_name}" # image_version = "${var.source_image_version}" # } os_type = "${var.os_type}" vm_size = "Standard_DS2_v2" # IN CASE DISK SIZE NEEDS TO BE BIGGER FOR INSTALLED PACKAGES # os_disk_size_gb = 128 shared_image_gallery_destination { subscription = "${var.subscription_id}" gallery_name = "${var.gallery_name}" image_name = "${var.image_name}" image_version = "${var.image_version}" # replication_regions = ["${var.replication_regions}"] resource_group = "${var.rg_name}" storage_account_type = "Premium_LRS" } # shared_image_gallery_replica_count = 1 managed_image_name = "${var.managed_image_name}" managed_image_resource_group_name = "${var.rg_name}" managed_image_storage_account_type = "Premium_LRS" build_resource_group_name = "${var.rg_name}" virtual_network_name = "${var.vnet}" virtual_network_subnet_name = "${var.subnet}" virtual_network_resource_group_name = "${var.vnet_rg_name}" ssh_pty = "true" ssh_username = "${var.ssh_user}" ssh_private_key_file = "${var.private_key}" } build { sources = ["source.azure-arm.azure-hpc-img"] provisioner "file" { source = "scripts/" destination = "/tmp" } provisioner "shell" { execute_command = "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'" inline = [ "chmod +x /tmp/*.sh", "/tmp/configure.sh || exit 1", "/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync", "sed -i 's/^send host-name =.*/send host-name = \"\"/' /etc/dhcp/dhclient.conf", "export HISTSIZE=0 && sync" ] inline_shebang = "/bin/sh -x" skip_clean = true } }