Last active
June 25, 2023 00:47
-
-
Save v1nsai/b454894fc4d443e369248f94ed8e4056 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
source "qemu" "instance" { | |
iso_url = "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img" | |
iso_checksum = "b2f77380d6afaa6ec96e41d5f9571eda" | |
format = "qcow2" | |
ssh_username = "root" | |
ssh_private_key_file = "~/.ssh/instance" | |
vm_name = "instance" | |
disk_image = true | |
boot_wait = "10s" | |
use_default_display = true | |
headless = false | |
http_directory = "projects/instance/packer/cloud-data" | |
vnc_port_min = 5900 | |
vnc_port_max = 5900 | |
ssh_timeout = "20m" | |
qemuargs = [["-smbios", "type=1,serial=ds=nocloud-net;instance-id=packer;seedfrom=http://{{ .HTTPIP }}:{{ .HTTPPort }}/"]] | |
} | |
build { | |
sources = ["source.qemu.instance"] | |
provisioner "shell-local" { | |
inline = [ | |
# "cat projects/instance/install.sh | base64 -w 0 > projects/instance/install.sh.base64", # Linux | |
"cat projects/instance/install.sh | base64 > projects/instance/install.sh.base64", # MacOS | |
"yq -i '.write_files[0].content = load_str(\"projects/instance/install.sh.base64\")' projects/instance/packer/cloud-data/user-data" | |
] | |
} | |
provisioner "file" { | |
source = "${path.cwd}/projects/instance/install.sh" | |
destination = "/tmp/provisioner-install.sh" | |
} | |
provisioner "shell" { | |
inline = [ | |
"mv /tmp/provisioner-install.sh /home/localadmin/provisioner-install.sh" | |
] | |
} | |
} | |
#cloud-config | |
ssh_pwauth: true | |
users: | |
- name: root | |
lock_passwd: false | |
hashed_passwd: $6$rounds=4096$s0cBOA5fV0NQT3a7$x1/wtO50h8UjYX.AuEN1qxr9z4Tw7.bhW/DeGY1z8ZtPmS245FkezDAogv1/ZxLfazSING3H0qW2z6qXeDPkH0 | |
ssh_authorized_keys: | |
- ssh-rsa AAAAB3NzaC1yc2EAAAA... | |
- name: localadmin | |
sudo: ALL=(ALL) NOPASSWD:ALL | |
groups: users, admin, sudo | |
shell: /bin/bash | |
lock_passwd: false | |
passwd: $6$rounds=4096$nQEeaHtr... | |
ssh_authorized_keys: | |
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCX3ZnnojSpqi1R7CWmP7uVFU2fEd2uS4PYQpWC23ScmDGP7KFHeTJfMc6eMaAhbxfIXx2CFdsIhP5U58BFLmAxkUIM8lGnHgh1uME/aOMZokZrDhYnw0eaamVOg0rdKD/uaTo87ASoxpf0XYnrqcrYhFIQodxjsCC8pCU5Egjh9QDgHsniJ5vWEkxZGPQ4SXIj4txh8uXMI0mh57BWJRK0zJIDzZCxubtrOpWoQnVvg/ZV+Thgy0P9m7e8OHbaM3U/7p4DBd1MZ95jNwjefMeD5hR46T35rkR9w/ebEIKhGjz0UB2yRUZPOPqBzVfixYA6gfd5c1AhjluCyCqhLEMd Generated-by-Nova | |
- name: wordpress | |
groups: [www-data] | |
shell: /bin/bash | |
lock_passwd: false | |
ssh_pwauth: true | |
passwd: $6$rounds=4096$s0cBOA... | |
apt: | |
preserve_sources_list: true | |
package_update: false | |
write_files: | |
- path: /home/localadmin/cloudinit-install.sh | |
content: | | |
VvdXQ6IDYwL2c... | |
permissions: '0755' | |
owner: localadmin:localadmin | |
encoding: base64 | |
defer: true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment