-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.pkr.hcl
55 lines (49 loc) · 1.59 KB
/
main.pkr.hcl
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
source "azure-arm" "monitor" {
# App info
client_id = "${var.client_id}"
client_secret = "${var.client_secret}"
subscription_id = "${var.subscription_id}"
tenant_id = "${var.tenant_id}"
# Managed Image info
managed_image_resource_group_name = "${var.managed_image_resource_group_name}"
managed_image_name = "${var.managed_image_name}"
# Base Image info
location = "${var.location}"
image_offer = "${var.offer}"
image_publisher = "${var.publisher}"
image_sku = "${var.sku}"
os_type = "${var.os_type}"
vm_size = "${var.size}"
ssh_username = "${var.ssh_username}"
}
build {
sources = ["source.azure-arm.monitor"]
# Copy Script
provisioner "file" {
source = "software.sh"
destination = "/tmp/software.sh"
}
# Copy Ansible workspace
provisioner "file" {
source = "../ansible"
destination = "/tmp/"
}
# Copy ansible workspace and Excute Script
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'"
inline_shebang = "/bin/bssh -x"
inline = [
"cp -r /tmp/ansible /opt/",
"chmod +x /tmp/software.sh",
"/tmp/software.sh ${var.influxdb_name} ${var.influxdb_username} ${var.influxdb_password}"
]
}
# 이미지 생성을 위한 Azure VM 에이전트+사용자 삭제
provisioner "shell" {
execute_command = "chmod +x {{ .Path }}; {{ .Vars }} sudo -E sh '{{ .Path }}'"
inline_shebang = "/bin/sh -x"
inline = [
"/usr/sbin/waagent -force -deprovision+user && export HISTSIZE=0 && sync"
]
}
}