output "ansible_inventory_yaml" { description = "Ansible inventory in YAML format — write to ansible/inventory/generated/prod.yml" sensitive = false value = yamlencode({ all = { children = { swarm = { hosts = { for name, server in hcloud_server.swarm : name => { ansible_host = server.ipv4_address private_ip = local.swarm_private_ips[name] ansible_user = "root" } } } db = { hosts = { for name, server in hcloud_server.db : name => { ansible_host = server.ipv4_address private_ip = local.db_private_ips[name] ansible_user = "root" } } } } } }) } output "prod_private_ips" { description = "Private IPs assigned to prod nodes" sensitive = false value = { swarm = local.swarm_private_ips db = local.db_private_ips } } 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 } 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" sensitive = false value = hcloud_floating_ip.app.ip_address }