Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
65 lines
2.4 KiB
HCL
65 lines
2.4 KiB
HCL
output "app_public_ipv4" {
|
|
description = "IP publique du noeud applicatif. A pointer depuis Cloudflare (enregistrements A, proxifies)."
|
|
value = hcloud_server.app.ipv4_address
|
|
}
|
|
|
|
output "app_public_ipv6" {
|
|
description = "IPv6 du noeud applicatif (enregistrements AAAA)."
|
|
value = hcloud_server.app.ipv6_address
|
|
}
|
|
|
|
output "app_private_ip" {
|
|
description = "IP privee du noeud applicatif."
|
|
value = var.app_private_ip
|
|
}
|
|
|
|
output "db_public_ipv4" {
|
|
description = "IP publique du noeud de donnees. NE JAMAIS publier en DNS : elle ne sert qu'au SSH d'administration."
|
|
value = hcloud_server.db.ipv4_address
|
|
}
|
|
|
|
output "db_private_ip" {
|
|
description = "IP privee du noeud de donnees. C'est cette valeur qui alimente DATABASE_HOST et REDIS_HOST."
|
|
value = var.db_private_ip
|
|
}
|
|
|
|
output "pgdata_volume_device" {
|
|
description = "Chemin du peripherique du volume PostgreSQL sur db-01 (a monter sur /var/lib/xpeditis/pgdata)."
|
|
value = hcloud_volume.pgdata.linux_device
|
|
}
|
|
|
|
output "cicd_firewall_name" {
|
|
description = "Firewall temporaire pilote par cd-main.yml. Doit rester vide au repos."
|
|
value = hcloud_firewall.cicd.name
|
|
}
|
|
|
|
output "ssh_commands" {
|
|
description = "Commandes de connexion."
|
|
value = {
|
|
app = "ssh ${var.deploy_user}@${hcloud_server.app.ipv4_address}"
|
|
db = "ssh ${var.deploy_user}@${hcloud_server.db.ipv4_address}"
|
|
}
|
|
}
|
|
|
|
output "dns_records_to_create" {
|
|
description = "Enregistrements DNS a creer dans Cloudflare (tous proxifies, nuage orange)."
|
|
value = {
|
|
"xpeditis.com" = "A ${hcloud_server.app.ipv4_address}"
|
|
"www.xpeditis.com" = "A ${hcloud_server.app.ipv4_address}"
|
|
"app.xpeditis.com" = "A ${hcloud_server.app.ipv4_address}"
|
|
"api.xpeditis.com" = "A ${hcloud_server.app.ipv4_address}"
|
|
"grafana.xpeditis.com" = "A ${hcloud_server.app.ipv4_address}"
|
|
}
|
|
}
|
|
|
|
output "monthly_cost_estimate_eur" {
|
|
description = "Estimation indicative HT (tarifs Hetzner T2 2026, hors Storage Box et services tiers)."
|
|
value = {
|
|
app_server = "${var.app_server_type} : voir grille Hetzner"
|
|
db_server = "${var.db_server_type} : voir grille Hetzner"
|
|
volume = "${var.db_volume_size} Go x 0.048 EUR/Go = ${format("%.2f", var.db_volume_size * 0.048)} EUR"
|
|
backups = var.enable_hetzner_backups ? "+20% du prix des deux serveurs" : "desactives"
|
|
note = "Reference budgetaire : Xpeditis_Previsions_Couts.xlsx, feuille 'Hetzner (auto-heberge)'."
|
|
}
|
|
}
|