Files
cole-maxwell1 1382c42803 feat: add Hetzner-hosted todo application stack
Implement the server-rendered Go todo application with PostgreSQL persistence, Tailwind styling, health checks, and test coverage.

Provision production and staging infrastructure with OpenTofu, including private networking, static IPs, Object Storage backups, and load balancing.

Configure Rocky Linux hosts with Ansible, rootless Podman, PostgreSQL, WAL-G backup automation, staging restores, and generated inventory.
2026-08-06 21:34:56 -05:00

61 lines
1.4 KiB
Terraform

output "network" {
value = {
id = hcloud_network.main.id
subnet_id = hcloud_network_subnet.main.id
subnet = hcloud_network_subnet.main.ip_range
prod_ip = module.prod.private_ip
staging_ip = module.staging.private_ip
}
}
output "instances" {
value = {
prod = module.prod
staging = module.staging
}
}
output "load_balancer" {
value = {
id = hcloud_load_balancer.app.id
ipv4 = hcloud_load_balancer.app.ipv4
ipv6 = hcloud_load_balancer.app.ipv6
hostname = hcloud_load_balancer.app.name
}
}
output "backup_bucket" {
value = module.storage.bucket
}
output "ansible_inventory" {
description = "Secret-free Ansible inventory for the provisioned nodes."
value = yamlencode({
all = {
vars = {
ansible_user = "root"
}
children = {
prod = {
hosts = {
(module.prod.name) = {
ansible_host = module.prod.ipv4
private_ip = module.prod.private_ip
deployment_environment = "prod"
}
}
}
staging = {
hosts = {
(module.staging.name) = {
ansible_host = module.staging.ipv4
private_ip = module.staging.private_ip
deployment_environment = "staging"
}
}
}
}
}
})
}