variable "edge_host" { type = string default = "" validation { condition = var.edge_host != "" error_message = "edge_host must be provided from homelab.yml through jeannie or an explicit tfvars/env value." } } variable "edge_user" { type = string default = "ubuntu" } variable "edge_ssh_key_path" { type = string default = "/home/jv/.ssh/id_ed25519" } variable "edge_install_dir" { type = string default = "/opt/homelab-edge" } variable "edge_install_docker" { type = bool default = false } variable "server_name" { type = string default = "" validation { condition = var.server_name != "" error_message = "server_name must be provided from homelab.yml through jeannie or an explicit tfvars/env value." } } variable "additional_server_names" { type = list(string) default = [] } variable "enable_letsencrypt" { type = bool default = true } variable "letsencrypt_email" { type = string default = "" } variable "letsencrypt_staging" { type = bool default = false } variable "backend_host" { type = string default = "" validation { condition = var.backend_host != "" error_message = "backend_host must be provided from homelab.yml through jeannie or an explicit tfvars/env value." } } variable "backend_port" { type = number default = 80 } variable "demos_backend_port" { type = number default = 30081 } variable "gitea_backend_port" { type = number default = 3000 } variable "gitea_backend_host" { type = string default = "" validation { condition = var.gitea_backend_host != "" error_message = "gitea_backend_host must be provided from homelab.yml through jeannie or an explicit tfvars/env value." } } variable "heimdall_backend_host" { type = string default = "" } variable "heimdall_backend_port" { type = number default = 8082 } # Matrix (isolated vhost + its own cert; does NOT touch shared current.crt) variable "matrix_enabled" { type = bool default = true } variable "matrix_server_name" { type = string default = "matrix.lab2025.duckdns.org" } # Synapse client-server port on the LAN host. Override to use a Tailscale IP. variable "matrix_backend_host" { type = string default = "192.168.100.73" } variable "matrix_backend_port" { type = number default = 8008 } variable "matrix_cert_dir" { type = string default = "/etc/nginx/certs" } # Element (shares the matrix isolated cert) variable "element_server_name" { type = string default = "element.lab2025.duckdns.org" } variable "element_backend_host" { type = string default = "192.168.100.73" } variable "element_backend_port" { type = number default = 8081 } variable "haproxy_stats_user" { type = string default = "admin" } variable "haproxy_stats_password" { type = string sensitive = true default = "" validation { condition = length(var.haproxy_stats_password) >= 12 && var.haproxy_stats_password != "adminpassword" error_message = "haproxy_stats_password must be set explicitly to a non-default value with at least 12 characters." } }