variable "do_token" { description = "DigitalOcean API token" type = string sensitive = true } variable "ssh_key_name" { description = "Name of the SSH key uploaded to DigitalOcean" type = string } variable "region" { description = "DigitalOcean region" type = string default = "nyc3" } variable "droplet_size" { description = "Droplet size slug" type = string default = "s-2vcpu-4gb" } variable "cloudflare_api_token" { description = "Cloudflare API token (needs Zone:DNS:Edit permission)" type = string sensitive = true } variable "domain" { description = "Root domain managed in Cloudflare (e.g. example.com)" type = string } variable "admin_ip" { description = "Your public IP for SSH and git access (without /32)" type = string sensitive = true } # ─── DOKS ───────────────────────────────────────────────────────────────────── variable "k8s_version" { description = "Kubernetes version slug (run: doctl kubernetes options versions)" type = string default = "1.32.13-do.2" } variable "k8s_node_size" { description = "Node pool droplet size" type = string default = "s-2vcpu-4gb" } variable "k8s_min_nodes" { description = "Minimum nodes in the pool" type = number default = 1 } variable "k8s_max_nodes" { description = "Maximum nodes in the pool" type = number default = 3 } variable "cluster_lb_ip" { description = "IP of the DOKS ingress load balancer (set after first cluster apply)" type = string default = "" } # ─── Managed databases ──────────────────────────────────────────────────────── variable "postgres_size" { description = "Managed Postgres cluster size slug" type = string default = "db-s-1vcpu-1gb" } variable "redis_size" { description = "Managed Valkey/Redis cluster size slug" type = string default = "db-s-1vcpu-1gb" }