-
Notifications
You must be signed in to change notification settings - Fork 2
/
packer.json
119 lines (118 loc) · 4.22 KB
/
packer.json
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
107
108
109
110
111
112
113
114
115
116
117
118
{
"builders": [
{
"boot_command": [
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"c<wait5>",
"set gfxpayload=keep<enter><wait5>",
"linux /images/pxeboot/vmlinuz <wait5>",
"inst.stage2=cdrom quite text <wait5>",
"net.ifnames=0 biosdevname=0 systemd.unified_cgroup_hierarchy=1 <wait5>",
"inst.ks=http://{{.HTTPIP}}:{{.HTTPPort}}/ks.cfg <wait5>",
"---<enter><wait5>",
"initrd /images/pxeboot/initrd.img<enter><wait5>",
"boot<enter>"
],
"boot_wait": "1s",
"cpus": 2,
"disk_size": 131072,
"gfx_accelerate_3d": false,
"gfx_controller": "vboxsvga",
"guest_additions_mode": "upload",
"guest_os_type": "Fedora_64",
"headless": true,
"http_directory": "./",
"iso_checksum": "6037e489103401a6ad4e54a4bcb2df7525693bdc3f2ce4aa895838b65647e551",
"iso_url": "http://dl.fedoraproject.org/pub/fedora/linux/releases/41/Server/x86_64/iso/Fedora-Server-dvd-x86_64-41-1.4.iso",
"memory": 16384,
"shutdown_command": "sudo shutdown -h now",
"ssh_password": "vagrant",
"ssh_port": 22,
"ssh_read_write_timeout": "600s",
"ssh_timeout": "120m",
"ssh_username": "vagrant",
"type": "virtualbox-iso",
"vboxmanage": [
[
"modifyvm",
"{{.Name}}",
"--cpu-profile",
"host"
],
[
"modifyvm",
"{{.Name}}",
"--nested-hw-virt",
"on"
],
[
"modifyvm",
"{{.Name}}",
"--nat-localhostreachable1",
"on"
]
],
"vrdp_bind_address": "0.0.0.0",
"vrdp_port_max": 6000,
"vrdp_port_min": 5900
}
],
"post-processors": [
{
"inline": [
"set -eu",
"export _IMAGE=\"$(ls -1d output-virtualbox-iso/packer-virtualbox-iso-*.vmdk)\"",
"sudo qemu-img convert -f vmdk -O qcow2 \"$_IMAGE\" \"$_IMAGE.convert\"",
"sudo rm -rf \"$_IMAGE\"",
"sudo chmod a+r /boot/vmlinuz*",
"sudo virt-customize --no-network -a \"$_IMAGE.convert\" --delete \"/var/lib/*/random-seed\" --delete \"/var/lib/wicked/*\" --firstboot-command \"/usr/local/bin/virt-sysprep-firstboot.sh\"",
"sudo virt-sysprep --operations defaults,-ssh-userdir,-customize -a \"$_IMAGE.convert\"",
"sudo virt-sparsify --in-place \"$_IMAGE.convert\"",
"sudo qemu-img convert -f qcow2 -O vmdk \"$_IMAGE.convert\" \"$_IMAGE\"",
"sudo rm -rf \"$_IMAGE.convert\""
],
"type": "shell-local"
},
{
"compression_level": 9,
"keep_input_artifact": true,
"output": "output-vagrant/package.box",
"provider_override": "virtualbox",
"type": "vagrant"
}
],
"provisioners": [
{
"inline": [
"set -eu",
"sudo chmod u+rw /etc/*shadow* /etc/*passwd* /etc/*group*",
"echo 'zchunk=False' | sudo tee -a /etc/dnf/dnf.conf",
"sudo dnf makecache",
"sudo dnf update -y",
"sudo dnf install -y ca-certificates curl gcc glibc-common glibc-langpack-en hostname iproute python3 python3-libdnf5 sudo yum-utils",
"sudo dnf install -y --allowerasing coreutils",
"sudo dnf install -y bzip2 dkms kernel-devel",
"sudo mount -o loop VBoxGuestAdditions.iso /mnt",
"(echo 'y' | sudo sh /mnt/VBoxLinuxAdditions.run) || echo $?",
"sudo umount /mnt"
],
"type": "shell"
},
{
"galaxy_file": "./ansible-galaxy-requirements.yml",
"inventory_directory": "./",
"playbook_file": "./packer.yml",
"type": "ansible",
"user": "vagrant"
}
]
}