This commit introduces the foundational Infrastructure-as-Code for provisioning a test environment on Hetzner Cloud. It defines server nodes, private networking, comprehensive firewalls, and includes documentation on resource lifecycle and safe configuration practices.
47 lines
1.0 KiB
HCL
47 lines
1.0 KiB
HCL
variable "hcloud_token" {
|
|
type = string
|
|
sensitive = true
|
|
description = "Hetzner Cloud API token for the test project"
|
|
}
|
|
|
|
variable "environment" {
|
|
type = string
|
|
default = "test"
|
|
description = "Environment name prefix for all resources"
|
|
}
|
|
|
|
variable "location" {
|
|
type = string
|
|
default = "fsn1"
|
|
description = "Hetzner Cloud datacenter location"
|
|
}
|
|
|
|
variable "image" {
|
|
type = string
|
|
default = "ubuntu-24.04"
|
|
description = "Server image"
|
|
}
|
|
|
|
variable "server_type_swarm" {
|
|
type = string
|
|
default = "cx32"
|
|
description = "Hetzner server type for the Swarm node"
|
|
}
|
|
|
|
variable "server_type_db" {
|
|
type = string
|
|
default = "cx42"
|
|
description = "Hetzner server type for the DB node"
|
|
}
|
|
|
|
variable "admin_ssh_public_key_path" {
|
|
type = string
|
|
default = "~/.ssh/id_ed25519.pub"
|
|
description = "Path to the admin SSH public key file"
|
|
}
|
|
|
|
variable "admin_allowed_cidrs" {
|
|
type = list(string)
|
|
description = "CIDR list for admin SSH and management port access"
|
|
}
|