initial(main): Add files for basic gridscale deployment of 2 hosts with config

This commit is contained in:
Richard
2026-07-28 17:41:48 +02:00
commit 85c3525895
12 changed files with 634 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
resource "local_file" "ansible_inventory" {
filename = "${path.module}/inventory.ini"
file_permission = "0644"
content = <<-EOT
[all:vars]
ansible_ssh_extra_args='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
private_ip_caddy='${gridscale_server.server_caddy.network[1].auto_assigned_ip}'
private_ip_monitoring='${gridscale_server.server_monitoring.network[1].auto_assigned_ip}'
[caddy]
${var.caddy_hostname} ansible_host=${gridscale_ipv4.public_ipv4.ip} ansible_user=root
[monitoring]
${var.monitoring_hostname} ansible_host=${gridscale_ipv4.public_ipv4_monitoring.ip} ansible_user=root
EOT
}
resource "null_resource" "ansible_provisioner" {
depends_on = [
local_file.ansible_inventory,
gridscale_server.server_caddy,
gridscale_server.server_monitoring
]
provisioner "local-exec" {
# Added 60 seconds delay for the servers to boot up
command = "sleep 60 && uv run ansible-playbook -i ${local_file.ansible_inventory.filename} playbook.yml"
}
}