112 lines
2.7 KiB
HCL
112 lines
2.7 KiB
HCL
|
|
variable "centos_image" {
|
|
type = string
|
|
default = "Rocky-8.7-x86_64-dvd1.iso"
|
|
}
|
|
|
|
variable "proxmox_iso_pool" {
|
|
type = string
|
|
default = "vmdata1_nas_nfs:iso"
|
|
}
|
|
|
|
variable "proxmox_node" {
|
|
type = string
|
|
default = "pve1"
|
|
}
|
|
|
|
variable "proxmox_password" {
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "vm_password" {
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "proxmox_storage_format" {
|
|
type = string
|
|
default = "qcow2"
|
|
}
|
|
|
|
variable "proxmox_storage_pool" {
|
|
type = string
|
|
default = "vmdata1_nas_nfs"
|
|
}
|
|
|
|
variable "proxmox_storage_pool_type" {
|
|
type = string
|
|
default = "directory"
|
|
}
|
|
|
|
variable "proxmox_url" {
|
|
type = string
|
|
default = "https://192.168.1.51:8006/api2/json"
|
|
}
|
|
|
|
variable "proxmox_username" {
|
|
type = string
|
|
default = "root@pam"
|
|
}
|
|
|
|
variable "template_description" {
|
|
type = string
|
|
default = "Rocky Linux 8 Template"
|
|
}
|
|
|
|
variable "template_name" {
|
|
type = string
|
|
default = "RockyLinux8Template"
|
|
}
|
|
|
|
variable "version" {
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
source "proxmox" "autogenerated_1" {
|
|
boot_command = ["<tab> text inst.ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/inst.ks<enter><wait>"]
|
|
boot_wait = "10s"
|
|
cores = "2"
|
|
disks {
|
|
disk_size = "8G"
|
|
format = "${var.proxmox_storage_format}"
|
|
storage_pool = "${var.proxmox_storage_pool}"
|
|
storage_pool_type = "${var.proxmox_storage_pool_type}"
|
|
type = "scsi"
|
|
}
|
|
http_directory = "rocky8"
|
|
insecure_skip_tls_verify = true
|
|
iso_file = "${var.proxmox_iso_pool}/${var.centos_image}"
|
|
memory = "2048"
|
|
network_adapters {
|
|
bridge = "vmbr1"
|
|
vlan_tag = "20"
|
|
model = "virtio"
|
|
firewall = false
|
|
}
|
|
node = "${var.proxmox_node}"
|
|
os = "l26"
|
|
password = "${var.proxmox_password}"
|
|
proxmox_url = "${var.proxmox_url}"
|
|
scsi_controller = "virtio-scsi-single"
|
|
ssh_password = "${var.vm_password}"
|
|
ssh_port = 22
|
|
ssh_timeout = "30m"
|
|
ssh_username = "root"
|
|
template_description = "${var.template_description}"
|
|
template_name = "${var.template_name}"
|
|
unmount_iso = true
|
|
username = "${var.proxmox_username}"
|
|
vm_id = 517
|
|
}
|
|
|
|
build {
|
|
sources = ["source.proxmox.autogenerated_1"]
|
|
|
|
provisioner "shell" {
|
|
inline = ["yum install -y cloud-init qemu-guest-agent cloud-utils-growpart gdisk", "shred -u /etc/ssh/*_key /etc/ssh/*_key.pub", "rm -f /var/run/utmp", ">/var/log/lastlog", ">/var/log/wtmp", ">/var/log/btmp", "rm -rf /tmp/* /var/tmp/*", "unset HISTFILE; rm -rf /home/*/.*history /root/.*history", "rm -f /root/*ks", "passwd -d root", "passwd -l root"]
|
|
only = ["proxmox"]
|
|
}
|
|
|
|
}
|