Infrastruktur als Code für den Skalierungs-Test auf Hetzner: - deploy/terraform: privates Netz, Firewalls, 2 App-Nodes, DB-Node, Load Balancer (Health-Check /health); cloud-init bootet Docker + Stack je Node - deploy/compose/docker-compose.prod.yml + nginx.prod.conf: App-Node-Stack (PHP-FPM + Nginx) routet /api,/p,/t,/css,/health → Symfony, Rest → Vue-SPA - App-Anpassungen: HealthController (/health für LB), brand.css nach /css verschoben (kein Pfad-Clash mit SPA-Assets im Prod-Routing) - deploy/README.md: Anleitung inkl. JWT-Key-Verteilung & Cross-Node-Test - reference.php (auto-generiert) aus Versionierung entfernt Terraform validiert (terraform validate), Prod-Compose-Syntax geprüft. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
15 lines
430 B
HCL
15 lines
430 B
HCL
output "load_balancer_ip" {
|
|
description = "Öffentliche IP des Load Balancers → hierauf den DNS-A-Record setzen"
|
|
value = hcloud_load_balancer.lb.ipv4
|
|
}
|
|
|
|
output "app_server_ips" {
|
|
description = "Öffentliche IPs der App-Nodes (SSH/Debug)"
|
|
value = hcloud_server.app[*].ipv4_address
|
|
}
|
|
|
|
output "db_server_ip" {
|
|
description = "Öffentliche IP des DB-Nodes (SSH)"
|
|
value = hcloud_server.db.ipv4_address
|
|
}
|