Files
lunarfront-infra/terraform/variables.tf
Ryan Moon 3471374cb6
Some checks failed
Terraform / terraform (push) Failing after 32s
Test / test (push) Successful in 1s
feat: add DOKS, managed postgres/redis, WAF rules, external-dns
2026-04-02 17:25:13 -05:00

86 lines
2.2 KiB
HCL

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"
}