-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwin11-skill09.pkr.hcl
106 lines (91 loc) · 2.44 KB
/
win11-skill09.pkr.hcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
packer {
required_plugins {
# see https://github.com/hashicorp/packer-plugin-proxmox
proxmox = {
version = "1.1.6"
source = "github.com/hashicorp/proxmox"
}
amazon = {
source = "github.com/hashicorp/amazon"
version = "~> 1"
}
}
}
variable "name" {
type = string
default = "rm2024-win11-exam"
}
variable "proxmox_node" {
type = string
default = env("PROXMOX_NODE")
}
locals {
output_directory = "rm2024-win11-exam-${legacy_isotime("20060102")}"
}
source "proxmox-clone" "skill09-vm" {
insecure_skip_tls_verify = true
node = var.proxmox_node
clone_vm = "rm2024-win11-base"
machine = "q35"
cpu_type = "host"
cores = "4"
memory = "8192"
os = "win11"
scsi_controller = "virtio-scsi-single"
http_directory = "httpdir"
ssh_password = "Go4Regio24"
ssh_timeout = "1h"
ssh_username = "regio"
}
source "vmware-vmx" "skill09-vm" {
source_path = "rm2024-win-20240302_1620/rm2024-win11-base.vmx"
format = "ovf"
communicator = "ssh"
display_name = "${var.name}"
output_directory = "${local.output_directory}"
shutdown_command = "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\""
vm_name = "${var.name}"
ssh_password = "Go4Regio24"
ssh_timeout = "1h"
ssh_username = "regio"
}
build {
sources = ["source.proxmox-clone.skill09-vm", "source.vmware-vmx.skill09-vm"]
provisioner "powershell" {
only = ["vmware-vmx.skill09-vm"]
script = "./scripts/provision-vmware-tools.ps1"
}
provisioner "windows-restart" {
only = ["vmware-vmx.skill09-vm"]
}
provisioner "powershell" {
use_pwsh = true
script = "./scripts/provision-chocolatey.ps1"
}
provisioner "windows-restart" {
}
provisioner "powershell" {
scripts = ["./scripts/provision-skill09-tools.ps1"]
}
provisioner "powershell" {
only = ["proxmox-clone.skill09-vm"]
script = "./scripts/provision-fio.ps1"
}
provisioner "powershell" {
scripts = [
"./scripts/eject-media.ps1",
"./scripts/optimize.ps1"
]
}
provisioner "powershell" {
only = ["vmware-vmx.skill09-vm"]
script = "scripts/vmware-shrink-disk.ps1"
}
post-processors {
post-processor "checksum" {
only = ["vmware-vmx.skill09-vm"]
checksum_types = ["sha256"]
output = "${local.output_directory}/${var.name}_{{.ChecksumType}}.checksum"
}
}
}