Danny Bessems
abcf530b49
All checks were successful
continuous-integration/drone/push Build is passing
58 lines
1.6 KiB
HCL
58 lines
1.6 KiB
HCL
packer {
|
|
required_plugins {
|
|
}
|
|
}
|
|
|
|
build {
|
|
source "vsphere-iso.ubuntu" {
|
|
name = "bootstrap"
|
|
vm_name = "ova.bootstrap-${var.vm_name}"
|
|
|
|
export {
|
|
images = false
|
|
output_directory = "/scratch/airgapped-k8s/bootstrap"
|
|
}
|
|
}
|
|
|
|
source "vsphere-iso.ubuntu" {
|
|
name = "upgrade"
|
|
vm_name = "ova.upgrade-${var.vm_name}"
|
|
|
|
export {
|
|
images = false
|
|
output_directory = "/scratch/airgapped-k8s/upgrade"
|
|
}
|
|
}
|
|
|
|
provisioner "ansible" {
|
|
pause_before = "45s"
|
|
|
|
playbook_file = "ansible/playbook.yml"
|
|
user = "ubuntu"
|
|
ansible_env_vars = [
|
|
"ANSIBLE_CONFIG=ansible/ansible.cfg",
|
|
"PYTHONUNBUFFERED=1"
|
|
]
|
|
use_proxy = "false"
|
|
extra_arguments = [
|
|
"--extra-vars", "appliancetype=${source.name}",
|
|
"--extra-vars", "ansible_ssh_pass=${var.ssh_password}"//,
|
|
// "--extra-vars", "repo_username=${var.repo_username}",
|
|
// "--extra-vars", "repo_password=${var.repo_password}"
|
|
]
|
|
}
|
|
|
|
post-processor "shell-local" {
|
|
inline = [
|
|
"pwsh -command \"& scripts/Update-OvfConfiguration.ps1 \\",
|
|
" -ApplianceType '${source.name}' \\",
|
|
" -OVFFile '/scratch/airgapped-k8s/${source.name}/ova.${source.name}-${var.vm_name}.ovf' \"",
|
|
"pwsh -file scripts/Update-Manifest.ps1 \\",
|
|
" -ManifestFileName '/scratch/airgapped-k8s/${source.name}/ova.${source.name}-${var.vm_name}.mf'",
|
|
"ovftool --acceptAllEulas --allowExtraConfig --overwrite \\",
|
|
" '/scratch/airgapped-k8s/${source.name}/ova.${source.name}-${var.vm_name}.ovf' \\",
|
|
" /output/airgapped-k8s.${source.name}.ova"
|
|
]
|
|
}
|
|
}
|