Files
heygo/terraform/variables.tf
T
Hermes Agent cca4ea2ec3 fix: use my.dev.heygo.cc for dev private host instead of my.dev.junv.cc
junv.cc is reserved for k3s home services, not Cloudflare apps.
Both dev and prod private hosts now live under heygo.cc, sharing
the .heygo.cc cookie domain — no cross-domain auth issues.
2026-06-20 14:32:12 +10:00

68 lines
2.1 KiB
Terraform

variable "cloudflare_api_token" {
type = string
sensitive = true
description = "Cloudflare API token with D1, Workers KV, and Workers Custom Domains permissions. Export via the CLOUDFLARE_API_TOKEN env var instead of committing it."
}
variable "account_id" {
type = string
description = "Cloudflare account ID that owns the D1 databases, KV namespaces, and Workers."
}
variable "environment" {
type = string
description = "Deployment environment. Must be \"dev\" or \"prod\"."
validation {
condition = var.environment == "dev" || var.environment == "prod"
error_message = "environment must be either \"dev\" or \"prod\"."
}
}
variable "heygo_cc_zone_id" {
type = string
description = "Cloudflare zone ID for heygo.cc. The public shortlinks hostname always lives under this zone."
}
variable "private_domain_zone_id" {
type = string
description = "Zone ID where the private shortlinks hostname lives. Both prod (my.heygo.cc) and dev (my.dev.heygo.cc) are under heygo.cc, so this is the same as heygo_cc_zone_id."
}
variable "public_domain" {
type = string
description = "Public shortlinks hostname (e.g. heygo.cc or dev.heygo.cc)."
}
variable "private_domain" {
type = string
description = "Private shortlinks hostname (e.g. my.heygo.cc or my.dev.heygo.cc)."
}
variable "d1_database_name" {
type = string
description = "Name of the D1 database that stores short links and sessions."
}
variable "kv_namespace_title" {
type = string
description = "Title of the Workers KV namespace used for public link caching."
}
variable "worker_name" {
type = string
description = "Name of the Cloudflare Worker service that the custom domains route to."
}
variable "primary_location_hint" {
type = string
default = "wnam"
description = "Region hint for the D1 primary. One of wnam, enam, weur, eeur, apac, oc."
validation {
condition = contains(
["wnam", "enam", "weur", "eeur", "apac", "oc"],
var.primary_location_hint,
)
error_message = "primary_location_hint must be one of wnam, enam, weur, eeur, apac, oc."
}
}