55 lines
1.3 KiB
HCL
55 lines
1.3 KiB
HCL
#===============================================
|
|
# Create PVE servers
|
|
#===============================================
|
|
resource "google_compute_instance" "agent" {
|
|
name = "agent-1"
|
|
machine_type = "g1-small"
|
|
zone = "${var.zone_instance}"
|
|
tags = ["${var.zabbix_tag}"]
|
|
|
|
# add image disk
|
|
boot_disk {
|
|
initialize_params {
|
|
image = var.disk_image
|
|
}
|
|
}
|
|
|
|
# add network
|
|
network_interface {
|
|
network = "default"
|
|
access_config {
|
|
}
|
|
}
|
|
# ssh_key
|
|
metadata = {
|
|
sshKeys = "${var.default_user}:${file("~/.ssh/id_rsa.pub")}"
|
|
}
|
|
|
|
connection {
|
|
host = self.network_interface.0.access_config.0.nat_ip
|
|
type = "ssh"
|
|
user = "${var.default_user}"
|
|
private_key = "${file("~/.ssh/id_rsa")}"
|
|
}
|
|
|
|
provisioner "remote-exec" {
|
|
inline = ["${file("scripts/setupagent.sh")}"]
|
|
}
|
|
|
|
provisioner "file" {
|
|
source = "scripts/agents/zabbix_agentd.conf"
|
|
destination = "~/zabbix_agentd.conf"
|
|
}
|
|
|
|
provisioner "remote-exec" {
|
|
inline = [
|
|
"sudo apt update",
|
|
"sudo apt install nginx -y",
|
|
"sudo echo ${self.name} >> /var/www/html/index.nginx-debian.html",
|
|
"sudo systemctl enable nginx && sudo systemctl start nginx",
|
|
"sudo cp ~/zabbix_agentd.conf /etc/zabbix/",
|
|
"sudo service zabbix-agent restart"
|
|
]
|
|
}
|
|
}
|