diff --git a/terraform/hetzner/prod/firewall.tf b/terraform/hetzner/prod/firewall.tf index e742936..8264b3c 100644 --- a/terraform/hetzner/prod/firewall.tf +++ b/terraform/hetzner/prod/firewall.tf @@ -1,4 +1,4 @@ -resource "hcloud_firewall" "swarm" { +resource "hcloud_firewall" "app" { name = "${local.name_prefix}-firewall-app" rule { @@ -171,7 +171,7 @@ resource "hcloud_firewall" "swarm" { labels = { environment = local.environment - role = "swarm" + role = "app" } } diff --git a/terraform/hetzner/prod/floating_ip.tf b/terraform/hetzner/prod/floating_ip.tf index 5bae79a..a34121b 100644 --- a/terraform/hetzner/prod/floating_ip.tf +++ b/terraform/hetzner/prod/floating_ip.tf @@ -14,5 +14,5 @@ resource "hcloud_floating_ip" "app" { # Failover gerekirse manuel veya otomasyon ile baska app node'una tasinabilir. resource "hcloud_floating_ip_assignment" "app" { floating_ip_id = hcloud_floating_ip.app.id - server_id = hcloud_server.swarm["iklim-app-01"].id + server_id = hcloud_server.app["iklim-app-01"].id } diff --git a/terraform/hetzner/prod/locals.tf b/terraform/hetzner/prod/locals.tf index 906a45f..f660319 100644 --- a/terraform/hetzner/prod/locals.tf +++ b/terraform/hetzner/prod/locals.tf @@ -3,7 +3,7 @@ locals { hcloud_project = "iklim_prod" name_prefix = "iklim-prod" - swarm_private_ips = { + app_private_ips = { "iklim-app-01" = "10.20.10.11" "iklim-app-02" = "10.20.10.12" "iklim-app-03" = "10.20.10.13" diff --git a/terraform/hetzner/prod/outputs.tf b/terraform/hetzner/prod/outputs.tf index 3da6b38..f5a2a02 100644 --- a/terraform/hetzner/prod/outputs.tf +++ b/terraform/hetzner/prod/outputs.tf @@ -1,15 +1,15 @@ output "ansible_inventory_yaml" { - description = "Ansible inventory in YAML format — write to ansible/inventory/generated/prod.yml" + description = "Ansible inventory in YAML format" sensitive = false value = yamlencode({ all = { children = { - swarm = { + app = { hosts = { - for name, server in hcloud_server.swarm : name => { + for name, server in hcloud_server.app : name => { ansible_host = server.ipv4_address - private_ip = local.swarm_private_ips[name] ansible_user = "root" + private_ip = local.app_private_ips[name] } } } @@ -17,8 +17,8 @@ output "ansible_inventory_yaml" { hosts = { for name, server in hcloud_server.db : name => { ansible_host = server.ipv4_address - private_ip = local.db_private_ips[name] ansible_user = "root" + private_ip = local.db_private_ips[name] } } } @@ -31,7 +31,7 @@ output "prod_private_ips" { description = "Private IPs assigned to prod nodes" sensitive = false value = { - swarm = local.swarm_private_ips + app = local.app_private_ips db = local.db_private_ips } } @@ -40,13 +40,13 @@ output "prod_public_ips" { description = "Public IPv4 addresses of prod nodes" sensitive = false value = { - swarm = { for name, server in hcloud_server.swarm : name => server.ipv4_address } + app = { for name, server in hcloud_server.app : name => server.ipv4_address } db = { for name, server in hcloud_server.db : name => server.ipv4_address } } } output "prod_floating_ip" { - description = "Floating IP for prod swarm entry point — point DNS A records here" + description = "Floating IP for prod app entry point — point DNS A records here" sensitive = false value = hcloud_floating_ip.app.ip_address } diff --git a/terraform/hetzner/prod/servers.tf b/terraform/hetzner/prod/servers.tf index 5130edc..d6547ec 100644 --- a/terraform/hetzner/prod/servers.tf +++ b/terraform/hetzner/prod/servers.tf @@ -3,11 +3,11 @@ resource "hcloud_ssh_key" "admin" { public_key = file(var.admin_ssh_public_key_path) } -resource "hcloud_server" "swarm" { - for_each = local.swarm_private_ips +resource "hcloud_server" "app" { + for_each = local.app_private_ips name = each.key - server_type = var.server_type_swarm + server_type = var.server_type_app image = var.image location = var.location ssh_keys = [hcloud_ssh_key.admin.id] @@ -15,7 +15,7 @@ resource "hcloud_server" "swarm" { labels = { environment = local.environment - role = "swarm" + role = "app" type = "service" } @@ -45,10 +45,10 @@ resource "hcloud_server" "db" { } } -resource "hcloud_server_network" "swarm" { - for_each = local.swarm_private_ips +resource "hcloud_server_network" "app" { + for_each = local.app_private_ips - server_id = hcloud_server.swarm[each.key].id + server_id = hcloud_server.app[each.key].id network_id = hcloud_network.main.id ip = each.value @@ -65,9 +65,9 @@ resource "hcloud_server_network" "db" { depends_on = [hcloud_network_subnet.db] } -resource "hcloud_firewall_attachment" "swarm" { - firewall_id = hcloud_firewall.swarm.id - server_ids = [for s in hcloud_server.swarm : s.id] +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" { diff --git a/terraform/hetzner/prod/terraform.tfvars.example b/terraform/hetzner/prod/terraform.tfvars.example index dcec566..edd6613 100644 --- a/terraform/hetzner/prod/terraform.tfvars.example +++ b/terraform/hetzner/prod/terraform.tfvars.example @@ -2,7 +2,7 @@ hcloud_token = "YOUR_HETZNER_PROD_PROJECT_API_TOKEN" location = "fsn1" image = "rocky-10" -server_type_swarm = "cpx42" +server_type_app = "cpx42" server_type_db = "cpx32" admin_ssh_public_key_path = "~/.ssh/id_ed25519.pub" admin_allowed_cidrs = ["1.2.3.4/32", "5.6.7.8/32"] diff --git a/terraform/hetzner/prod/variables.tf b/terraform/hetzner/prod/variables.tf index ea101a2..f00ad10 100644 --- a/terraform/hetzner/prod/variables.tf +++ b/terraform/hetzner/prod/variables.tf @@ -16,10 +16,10 @@ variable "image" { description = "Server image" } -variable "server_type_swarm" { +variable "server_type_app" { type = string default = "cpx42" - description = "Hetzner server type for Swarm nodes" + description = "Hetzner server type for App nodes" } variable "server_type_db" { diff --git a/terraform/hetzner/test/firewall.tf b/terraform/hetzner/test/firewall.tf index fd8171e..a3fb1b8 100644 --- a/terraform/hetzner/test/firewall.tf +++ b/terraform/hetzner/test/firewall.tf @@ -1,4 +1,4 @@ -resource "hcloud_firewall" "swarm" { +resource "hcloud_firewall" "app" { name = "${local.name_prefix}-firewall-app" rule { @@ -171,7 +171,7 @@ resource "hcloud_firewall" "swarm" { labels = { environment = local.environment - role = "swarm" + role = "app" } } diff --git a/terraform/hetzner/test/floating_ip.tf b/terraform/hetzner/test/floating_ip.tf index 2edd340..38aad92 100644 --- a/terraform/hetzner/test/floating_ip.tf +++ b/terraform/hetzner/test/floating_ip.tf @@ -12,5 +12,5 @@ resource "hcloud_floating_ip" "app" { resource "hcloud_floating_ip_assignment" "app" { floating_ip_id = hcloud_floating_ip.app.id - server_id = hcloud_server.swarm.id + server_id = hcloud_server.app.id } diff --git a/terraform/hetzner/test/locals.tf b/terraform/hetzner/test/locals.tf index 8cea29d..8160c7b 100644 --- a/terraform/hetzner/test/locals.tf +++ b/terraform/hetzner/test/locals.tf @@ -3,7 +3,7 @@ locals { hcloud_project = "iklim_test" name_prefix = "iklim-test" - swarm_private_ip = "10.10.10.11" + app_private_ip = "10.10.10.11" db_private_ip = "10.10.20.11" network_zone = "eu-central" diff --git a/terraform/hetzner/test/outputs.tf b/terraform/hetzner/test/outputs.tf index 3384c5c..e7938b8 100644 --- a/terraform/hetzner/test/outputs.tf +++ b/terraform/hetzner/test/outputs.tf @@ -1,15 +1,15 @@ output "ansible_inventory_yaml" { - description = "Ansible inventory in YAML format — write to ansible/inventory/generated/test.yml" + description = "Ansible inventory in YAML format" sensitive = false value = yamlencode({ all = { children = { - swarm = { + app = { hosts = { - (hcloud_server.swarm.name) = { - ansible_host = hcloud_server.swarm.ipv4_address - private_ip = local.swarm_private_ip + (hcloud_server.app.name) = { + ansible_host = hcloud_server.app.ipv4_address ansible_user = "root" + private_ip = local.app_private_ip } } } @@ -17,8 +17,8 @@ output "ansible_inventory_yaml" { hosts = { (hcloud_server.db.name) = { ansible_host = hcloud_server.db.ipv4_address - private_ip = local.db_private_ip ansible_user = "root" + private_ip = local.db_private_ip } } } @@ -31,7 +31,7 @@ output "test_private_ips" { description = "Private IPs assigned to test nodes" sensitive = false value = { - swarm_01 = local.swarm_private_ip + app_01 = local.app_private_ip db_01 = local.db_private_ip } } @@ -40,13 +40,13 @@ output "test_public_ips" { description = "Public IPv4 addresses of test nodes" sensitive = false value = { - swarm_01 = hcloud_server.swarm.ipv4_address + app_01 = hcloud_server.app.ipv4_address db_01 = hcloud_server.db.ipv4_address } } output "test_floating_ip" { - description = "Floating IP for test app entry point — point DNS A records here" + description = "Floating IP assigned to the app entry point" sensitive = false value = hcloud_floating_ip.app.ip_address } diff --git a/terraform/hetzner/test/servers.tf b/terraform/hetzner/test/servers.tf index 59c9ab3..fe3dd96 100644 --- a/terraform/hetzner/test/servers.tf +++ b/terraform/hetzner/test/servers.tf @@ -3,9 +3,9 @@ resource "hcloud_ssh_key" "admin" { public_key = file(var.admin_ssh_public_key_path) } -resource "hcloud_server" "swarm" { +resource "hcloud_server" "app" { name = "iklim-app-01" - server_type = var.server_type_swarm + server_type = var.server_type_app image = var.image location = var.location ssh_keys = [hcloud_ssh_key.admin.id] @@ -13,7 +13,7 @@ resource "hcloud_server" "swarm" { labels = { environment = local.environment - role = "swarm" + role = "app" type = "service" } @@ -44,10 +44,10 @@ resource "hcloud_server" "db" { } # Ayri resource: firewall veya network degistiginde sunucu recreation tetiklenmez. -resource "hcloud_server_network" "swarm" { - server_id = hcloud_server.swarm.id +resource "hcloud_server_network" "app" { + server_id = hcloud_server.app.id network_id = hcloud_network.main.id - ip = local.swarm_private_ip + ip = local.app_private_ip depends_on = [hcloud_network_subnet.app] } @@ -60,9 +60,9 @@ resource "hcloud_server_network" "db" { depends_on = [hcloud_network_subnet.db] } -resource "hcloud_firewall_attachment" "swarm" { - firewall_id = hcloud_firewall.swarm.id - server_ids = [hcloud_server.swarm.id] +resource "hcloud_firewall_attachment" "app" { + firewall_id = hcloud_firewall.app.id + server_ids = [hcloud_server.app.id] } resource "hcloud_firewall_attachment" "db" { diff --git a/terraform/hetzner/test/terraform.tfvars.example b/terraform/hetzner/test/terraform.tfvars.example index e0aa871..a8d2952 100644 --- a/terraform/hetzner/test/terraform.tfvars.example +++ b/terraform/hetzner/test/terraform.tfvars.example @@ -2,7 +2,7 @@ hcloud_token = "YOUR_HETZNER_TEST_PROJECT_API_TOKEN" location = "fsn1" image = "rocky-10" -server_type_swarm = "cpx42" +server_type_app = "cpx42" server_type_db = "cpx42" admin_ssh_public_key_path = "~/.ssh/id_ed25519.pub" admin_allowed_cidrs = ["1.2.3.4/32", "5.6.7.8/32"] diff --git a/terraform/hetzner/test/variables.tf b/terraform/hetzner/test/variables.tf index 8cb47e8..083f4c0 100644 --- a/terraform/hetzner/test/variables.tf +++ b/terraform/hetzner/test/variables.tf @@ -16,10 +16,10 @@ variable "image" { description = "Server image" } -variable "server_type_swarm" { +variable "server_type_app" { type = string default = "cpx42" - description = "Hetzner server type for the Swarm node" + description = "Hetzner server type for the App node" } variable "server_type_db" {