Post-Tyranny-Tech-Infrastru.../tofu/terraform.tfvars.example
Pieter 0135bd360a Implement OpenTofu infrastructure provisioning (#1)
Completed:
-  Hetzner Cloud provider configuration
-  VPS server provisioning with for_each pattern
-  Cloud firewall rules (SSH, HTTP, HTTPS)
-  SSH key management
-  Outputs for Ansible dynamic inventory
-  Variable structure and documentation
-  Test server successfully provisioned

Deferred:
- DNS configuration (commented out, waiting for domain)

Files added:
- tofu/versions.tf - Provider versions
- tofu/variables.tf - Input variable definitions
- tofu/main.tf - Core infrastructure resources
- tofu/dns.tf - DNS configuration (optional)
- tofu/outputs.tf - Outputs for Ansible integration
- tofu/terraform.tfvars.example - Configuration template
- tofu/README.md - Comprehensive setup guide

Closes #1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-27 13:48:42 +01:00

26 lines
931 B
Text

# Copy this file to terraform.tfvars and fill in your values
# terraform.tfvars is gitignored and will not be committed
# Hetzner API Tokens
hcloud_token = "YOUR_HETZNER_CLOUD_API_TOKEN"
hetznerdns_token = "YOUR_HETZNER_DNS_API_TOKEN" # Can be same as cloud token
# SSH Public Key (paste the contents of ~/.ssh/id_rsa.pub or similar)
ssh_public_key = "ssh-ed25519 AAAA... user@hostname"
# Base domain (must be registered and added to Hetzner DNS)
base_domain = "example.com"
# Client configurations
clients = {
# Example client - uncomment and modify when ready to provision
# alpha = {
# server_type = "cx22" # 2 vCPU, 4 GB RAM, 40 GB SSD - €6.25/month
# location = "fsn1" # Falkenstein, Germany
# subdomain = "alpha" # Will create alpha.example.com
# apps = ["zitadel", "nextcloud"]
# }
}
# Enable automated snapshots (20% of server cost)
enable_snapshots = true