This directory contains the Terraform configuration for the All Things Linux atl.sh infrastructure.
| Name | Version |
|---|---|
| terraform | >= 1.8 |
| cloudflare | ~> 5 |
| hcloud | ~> 1.60 |
| Name | Version |
|---|---|
| cloudflare | 5.18.0 |
| hcloud | 1.60.1 |
No modules.
| Name | Type |
|---|---|
| cloudflare_dns_record.staging_a | resource |
| cloudflare_dns_record.staging_aaaa | resource |
| hcloud_firewall.staging | resource |
| hcloud_rdns.staging_ipv4 | resource |
| hcloud_rdns.staging_ipv6 | resource |
| hcloud_server.staging | resource |
| hcloud_ssh_key.admin | resource |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| cloudflare_api_token | Cloudflare API token with DNS edit permissions | string |
n/a | yes |
| cloudflare_zone_id | Cloudflare Zone ID for atl.sh | string |
n/a | yes |
| dns_subdomain | Subdomain for the staging VPS (e.g., 'staging' → staging.atl.sh) | string |
"staging" |
no |
| hcloud_token | Hetzner Cloud API token | string |
n/a | yes |
| server_image | OS image for the server | string |
"debian-13" |
no |
| server_location | Hetzner datacenter location (fsn1, nbg1, hel1) | string |
"fsn1" |
no |
| server_name | Name of the staging VPS (matches DNS) | string |
"staging.atl.sh" |
no |
| server_type | Hetzner server type (CX32 = 4 vCPU, 8GB RAM) | string |
"cx32" |
no |
| ssh_public_key_path | Path to the SSH public key for admin access | string |
"~/.ssh/id_ed25519.pub" |
no |
| Name | Description |
|---|---|
| dns_record | DNS record pointing to the VPS |
| server_id | Hetzner server ID |
| server_ip | IPv4 address of the staging VPS |
| server_status | Server status |