variable "hcloud_token" { description = "Hetzner Cloud API token" type = string sensitive = true } variable "ssh_public_key" { description = "Path to SSH public key" type = string default = "~/.ssh/id_ed25519.pub" } variable "ssh_private_key" { description = "Path to SSH private key" type = string default = "~/.ssh/id_ed25519" } variable "cluster_name" { description = "Name of the Kubernetes cluster" type = string default = "k8s-cluster" } variable "control_plane_count" { description = "Number of control plane nodes" type = number default = 1 } variable "control_plane_type" { description = "Hetzner server type for control plane" type = string default = "cx23" } variable "worker_count" { description = "Number of worker nodes" type = number default = 2 } variable "worker_type" { description = "Hetzner server type for workers" type = string default = "cx33" } variable "location" { description = "Hetzner datacenter location" type = string default = "nbg1" } variable "allowed_ssh_ips" { description = "IP ranges allowed for SSH access" type = list(string) default = [] } variable "allowed_api_ips" { description = "IP ranges allowed for Kubernetes API access" type = list(string) default = [] } variable "restrict_api_ssh_to_tailnet" { description = "Restrict SSH and Kubernetes API to tailnet CIDR" type = bool default = true } variable "tailnet_cidr" { description = "Tailnet CIDR used for SSH/API access" type = string default = "100.64.0.0/10" } variable "tailscale_tailnet" { description = "Tailnet domain suffix, e.g. mytailnet.ts.net" type = string } variable "enable_nodeport_public" { description = "Allow public NodePort traffic" type = bool default = false } variable "network_cidr" { description = "CIDR for private network" type = string default = "10.0.0.0/16" } variable "subnet_cidr" { description = "CIDR for server subnet" type = string default = "10.0.1.0/24" } variable "s3_access_key" { description = "S3 access key for Terraform state" type = string sensitive = true } variable "s3_secret_key" { description = "S3 secret key for Terraform state" type = string sensitive = true } variable "s3_endpoint" { description = "S3 endpoint URL" type = string } variable "s3_bucket" { description = "S3 bucket name for Terraform state" type = string default = "k8s-terraform-state" }