This commit is contained in:
49
infrastructure/create-resources/hcloud.tf
Normal file
49
infrastructure/create-resources/hcloud.tf
Normal file
@@ -0,0 +1,49 @@
|
||||
|
||||
resource "hcloud_placement_group" "serverctl_master" {
|
||||
name = "serverctl_master_group"
|
||||
type = "spread"
|
||||
}
|
||||
variable "serverctl_master_count" {
|
||||
default = 1
|
||||
}
|
||||
|
||||
resource "hcloud_server" "serverctl_master" {
|
||||
count = var.serverctl_master_count
|
||||
name = "serverctl-master-${count.index}"
|
||||
image = "debian-11"
|
||||
server_type = "cx11"
|
||||
ssh_keys = [
|
||||
var.hcloud_serverctl_ssh_key_id
|
||||
]
|
||||
placement_group_id = hcloud_placement_group.serverctl_master.id
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = ["sudo apt update", "sudo apt install python3 -y", "echo Done!"]
|
||||
|
||||
connection {
|
||||
host = self.ipv4_address
|
||||
type = "ssh"
|
||||
user = "root"
|
||||
private_key = file(var.pvt_key)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "null_resource" "configure_serverctl_master" {
|
||||
count = var.serverctl_master_count
|
||||
|
||||
provisioner "local-exec" {
|
||||
command = "ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -u root -i '${element(hcloud_server.serverctl_master.*.ipv4_address, 0)},' --private-key ${var.pvt_key} -e 'pub_key=${var.pub_key}' apache-install.yml"
|
||||
}
|
||||
|
||||
triggers = {
|
||||
always_run = timestamp()
|
||||
}
|
||||
}
|
||||
|
||||
output "master_ipv4_addresses" {
|
||||
value = {
|
||||
for serverctl in hcloud_server.serverctl_master:
|
||||
serverctl.name => serverctl.ipv4_address
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user