This commit systematically updates all Terraform configurations, including resources, variables, and labels, to use the more generic `app` designation instead of `swarm`. This improves consistency and decouples the infrastructure naming from a specific container orchestration technology like Docker Swarm.
77 lines
1.8 KiB
HCL
77 lines
1.8 KiB
HCL
resource "hcloud_ssh_key" "admin" {
|
|
name = "${local.name_prefix}-admin-key"
|
|
public_key = file(var.admin_ssh_public_key_path)
|
|
}
|
|
|
|
resource "hcloud_server" "app" {
|
|
for_each = local.app_private_ips
|
|
|
|
name = each.key
|
|
server_type = var.server_type_app
|
|
image = var.image
|
|
location = var.location
|
|
ssh_keys = [hcloud_ssh_key.admin.id]
|
|
placement_group_id = hcloud_placement_group.app_spread.id
|
|
|
|
labels = {
|
|
environment = local.environment
|
|
role = "app"
|
|
type = "service"
|
|
}
|
|
|
|
lifecycle {
|
|
prevent_destroy = true
|
|
}
|
|
}
|
|
|
|
resource "hcloud_server" "db" {
|
|
for_each = local.db_private_ips
|
|
|
|
name = each.key
|
|
server_type = var.server_type_db
|
|
image = var.image
|
|
location = var.location
|
|
ssh_keys = [hcloud_ssh_key.admin.id]
|
|
placement_group_id = hcloud_placement_group.db_spread.id
|
|
|
|
labels = {
|
|
environment = local.environment
|
|
role = "db"
|
|
type = "db"
|
|
}
|
|
|
|
lifecycle {
|
|
prevent_destroy = true
|
|
}
|
|
}
|
|
|
|
resource "hcloud_server_network" "app" {
|
|
for_each = local.app_private_ips
|
|
|
|
server_id = hcloud_server.app[each.key].id
|
|
network_id = hcloud_network.main.id
|
|
ip = each.value
|
|
|
|
depends_on = [hcloud_network_subnet.app]
|
|
}
|
|
|
|
resource "hcloud_server_network" "db" {
|
|
for_each = local.db_private_ips
|
|
|
|
server_id = hcloud_server.db[each.key].id
|
|
network_id = hcloud_network.main.id
|
|
ip = each.value
|
|
|
|
depends_on = [hcloud_network_subnet.db]
|
|
}
|
|
|
|
resource "hcloud_firewall_attachment" "app" {
|
|
firewall_id = hcloud_firewall.app.id
|
|
server_ids = [for s in hcloud_server.app : s.id]
|
|
}
|
|
|
|
resource "hcloud_firewall_attachment" "db" {
|
|
firewall_id = hcloud_firewall.db.id
|
|
server_ids = [for s in hcloud_server.db : s.id]
|
|
}
|