Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 1 | { |
| 2 | "variables": { |
| 3 | "user": "root", |
| 4 | "password": "r00tme", |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 5 | "disk_size": "16000M", |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 6 | "images_cache": "{{ env `PACKER_IMAGES_CACHE` }}", |
| 7 | "image_base_url": "{{ env `IMAGE_BASE_URL` }}", |
| 8 | "image_md5_url": "{{ env `IMAGE_MD5_URL` }}", |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 9 | "vm_name": "{{ env `VM_NAME` }}" |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 10 | }, |
| 11 | "provisioners": [ |
| 12 | { |
Oleksandr Kononenko | 231933b | 2024-02-05 16:46:35 +0200 | [diff] [blame] | 13 | "type": "shell", |
Oleksandr Kononenko | 98ef1c0 | 2025-05-12 20:19:04 +0300 | [diff] [blame] | 14 | "inline": [ |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 15 | "mkdir -p /srv/trymosk/image_build" |
Oleksandr Kononenko | 231933b | 2024-02-05 16:46:35 +0200 | [diff] [blame] | 16 | ] |
| 17 | }, |
| 18 | { |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 19 | "type": "file", |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 20 | "sources": [ |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 21 | "../rockoon" |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 22 | ], |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 23 | "destination": "/srv/trymosk/" |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 24 | }, |
| 25 | { |
| 26 | "type": "file", |
| 27 | "sources": [ |
| 28 | "./ansible", |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 29 | "./scripts/build-image.sh" |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 30 | ], |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 31 | "destination": "/srv/trymosk/image_build/" |
| 32 | }, |
| 33 | { |
| 34 | "type": "file", |
| 35 | "source": "./scripts/launch.sh", |
| 36 | "destination": "/srv/trymosk/" |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 37 | }, |
| 38 | { |
| 39 | "type": "shell", |
Oleksandr Kononenko | faf132e | 2025-07-30 13:03:05 +0300 | [diff] [blame^] | 40 | "scripts": [ |
| 41 | "scripts/apt-configure.sh" |
| 42 | ] |
| 43 | }, |
| 44 | { |
| 45 | "type": "shell", |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 46 | "inline": [ |
Oleksandr Kononenko | d7a1d6e | 2025-07-11 18:53:17 +0300 | [diff] [blame] | 47 | "/srv/trymosk/image_build/build-image.sh", |
| 48 | "rm -rf /srv/trymosk/image_build" |
Oleksandr Kononenko | 5f06270 | 2025-06-04 09:14:27 +0300 | [diff] [blame] | 49 | ] |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 50 | } |
| 51 | ], |
| 52 | "builders": [ |
| 53 | { |
| 54 | "type": "qemu", |
| 55 | "qemuargs": [ |
| 56 | [ |
| 57 | "-m", |
Oleksandr Kononenko | 98ef1c0 | 2025-05-12 20:19:04 +0300 | [diff] [blame] | 58 | "4096M" |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 59 | ], |
| 60 | [ |
| 61 | "-smp", |
| 62 | "4" |
| 63 | ], |
| 64 | [ |
| 65 | "-cdrom", |
| 66 | "config-drive/cloudata.iso" |
| 67 | ], |
| 68 | ["-device", "virtio-net,netdev=user.0"], |
| 69 | ["-object","rng-random,id=objrng0,filename=/dev/urandom"], |
| 70 | ["-device", "virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x10" ] |
| 71 | ], |
| 72 | "vm_name": "{{user `vm_name`}}", |
| 73 | "output_directory": "images", |
| 74 | "disk_compression": true, |
| 75 | "disk_size": "{{ user `disk_size`}}", |
| 76 | "format": "qcow2", |
| 77 | "iso_url": "{{ user `image_base_url`}}", |
| 78 | "iso_checksum": "file:{{ user `image_md5_url`}}", |
| 79 | "iso_target_path": "{{ user `images_cache`}}", |
| 80 | "disk_image": true, |
| 81 | "accelerator": "kvm", |
| 82 | "headless": true, |
| 83 | "ssh_username": "{{user `user`}}", |
| 84 | "ssh_password": "{{user `password`}}", |
| 85 | "ssh_host_port_min": 7000, |
| 86 | "ssh_host_port_max": 7050, |
| 87 | "vnc_port_max": "5956", |
| 88 | "vnc_port_min": "5956", |
Vasyl Saienko | 057953f | 2023-11-27 12:45:27 +0000 | [diff] [blame] | 89 | "shutdown_command": "passwd -d root; rm -rf /etc/sudoers.d/90-cloud-init-users; /sbin/shutdown -P now", |
Oleh Hryhorov | ac5f601 | 2021-03-05 18:26:25 +0200 | [diff] [blame] | 90 | "boot_wait": "10s", |
| 91 | "ssh_wait_timeout": "360s" |
| 92 | } |
| 93 | ] |
| 94 | } |