github.com/hashicorp/packer@v1.14.3/examples/hcl/linux/source.vsphere-iso.pkr.hcl (about) 1 // I use the following config with direnv and set the following values: 2 // export PKR_VAR_bastion_host="" 3 // export PKR_VAR_bastion_user="" 4 // export PKR_VAR_datacenter_name="" 5 // export PKR_VAR_esxi_host="" 6 // export PKR_VAR_esxi_password="" 7 // export PKR_VAR_esxi_user="" 8 // export PKR_VAR_vcenter_endpoint="" 9 // export PKR_VAR_vcenter_password="" 10 // export PKR_VAR_vcenter_user="" 11 // export PKR_VAR_vm_ip="" 12 // export PKR_VAR_gateway_ip="" 13 // ... 14 15 variable "vcenter_endpoint" { type = string } 16 variable "vcenter_user" { type = string } 17 variable "vcenter_password" { type = string } 18 variable "esxi_host" { type = string } 19 variable "esxi_password" { type = string } 20 variable "esxi_user" { type = string } 21 variable "datacenter_name" { type = string } 22 variable "vm_ip" { type = string } 23 variable "gateway_ip" { type = string } 24 variable "datastore" { 25 default = "datastore1" 26 } 27 variable "remote_private_key_file_path" { 28 type = string 29 } 30 31 source "vsphere-iso" "base-ubuntu-amd64" { 32 vcenter_server = var.vcenter_endpoint 33 username = var.vcenter_user 34 password = var.vcenter_password 35 host = var.esxi_host 36 insecure_connection = true 37 38 datacenter = var.datacenter_name 39 datastore = "datastore1" 40 41 ssh_password = "vagrant" 42 ssh_username = "vagrant" 43 44 CPUs = 1 45 RAM = 512 * 2 46 RAM_reserve_all = true 47 48 disk_controller_type = "pvscsi" 49 floppy_files = [ 50 "etc/http/preseed_hardcoded_ip.cfg" 51 ] 52 guest_os_type = "ubuntu64Guest" 53 network_adapters { 54 network = "VM Network" 55 network_card = "vmxnet3" 56 } 57 storage { 58 disk_size = 32768 59 disk_thin_provisioned = true 60 } 61 62 boot_command = [ 63 "<enter><wait><f6><wait><esc><wait>", 64 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 65 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 66 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 67 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 68 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 69 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 70 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 71 "<bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", 72 "<bs><bs><bs>", 73 "/install/vmlinuz", 74 " initrd=/install/initrd.gz", 75 " priority=critical", 76 " locale=en_US", 77 " file=/media/preseed_hardcoded_ip.cfg", 78 " netcfg/get_ipaddress=${var.vm_ip}", 79 " netcfg/get_gateway=${var.gateway_ip}", 80 "<enter>" 81 ] 82 } 83 84 85 source "vsphere-iso" "base-alpine-amd64" { 86 vcenter_server = var.vcenter_endpoint 87 username = var.vcenter_user 88 password = var.vcenter_password 89 host = var.esxi_host 90 insecure_connection = true 91 92 datacenter = var.datacenter_name 93 datastore = "datastore1" 94 95 ssh_username = "root" 96 ssh_password = var.alpine_password 97 98 CPUs = 1 99 RAM = 512 * 2 100 RAM_reserve_all = true 101 102 guest_os_type = "otherLinux64Guest" 103 104 floppy_files = local.floppy_files_alpine_vsphere 105 106 network_adapters { 107 network = "VM Network" 108 network_card = "vmxnet3" 109 } 110 111 storage { 112 disk_size = 32768 113 disk_thin_provisioned = true 114 } 115 }