83 lines
2.1 KiB
Terraform
83 lines
2.1 KiB
Terraform
variable "location" {
|
|
description = "Hetzner Cloud datacenter location for all servers and volumes."
|
|
type = string
|
|
default = "nbg1"
|
|
}
|
|
|
|
variable "network_zone" {
|
|
description = "Hetzner Cloud network zone matching var.location."
|
|
type = string
|
|
default = "eu-central"
|
|
}
|
|
|
|
variable "server_image" {
|
|
description = "OS image used for all servers."
|
|
type = string
|
|
default = "ubuntu-24.04"
|
|
}
|
|
|
|
variable "dev_server_type" {
|
|
description = "Server type for dev (Gitea + Runner)."
|
|
type = string
|
|
default = "cx22"
|
|
}
|
|
|
|
variable "prod_server_type" {
|
|
description = "Server type for prod (Traefik, Websites, Database, Bitwarden, Misc, Tracking, Rustdesk)."
|
|
type = string
|
|
default = "cx32"
|
|
}
|
|
|
|
variable "vpn_server_type" {
|
|
description = "Server type for vpn (OpenVPN + TraefikVPN)."
|
|
type = string
|
|
default = "cx22"
|
|
}
|
|
|
|
variable "dev_volume_size" {
|
|
description = "Size in GB of the volume attached to dev (disk2 in architecture.md)."
|
|
type = number
|
|
default = 50
|
|
}
|
|
|
|
variable "prod_volume_size" {
|
|
description = "Size in GB of the volume attached to prod (disk1 in architecture.md)."
|
|
type = number
|
|
default = 50
|
|
}
|
|
|
|
variable "network_ip_range" {
|
|
description = "IP range of the private network shared by dev and prod."
|
|
type = string
|
|
default = "10.0.0.0/16"
|
|
}
|
|
|
|
variable "subnet_ip_range" {
|
|
description = "IP range of the network subnet shared by dev and prod."
|
|
type = string
|
|
default = "10.0.1.0/24"
|
|
}
|
|
|
|
variable "dev_private_ip" {
|
|
description = "Private network IP for dev."
|
|
type = string
|
|
default = "10.0.1.10"
|
|
}
|
|
|
|
variable "prod_private_ip" {
|
|
description = "Private network IP for prod."
|
|
type = string
|
|
default = "10.0.1.11"
|
|
}
|
|
|
|
variable "ssh_key_name" {
|
|
description = "Name of an SSH key already uploaded to your Hetzner Cloud project (Console > Security > SSH Keys)."
|
|
type = string
|
|
}
|
|
|
|
variable "allowed_ssh_source_ips" {
|
|
description = "CIDRs allowed to reach port 22 on every server. Narrow this to your own IP(s) once known."
|
|
type = list(string)
|
|
default = ["0.0.0.0/0", "::/0"]
|
|
}
|