Files
Yuris Cakranegara af038e23ea feat: add caddy proxy
2025-06-12 20:55:58 +10:00

64 lines
1.6 KiB
HCL

variable "container_name" {
description = "The name of the Caddy container"
type = string
default = ""
}
variable "image_tag" {
description = "The tag of the Caddy Docker image to use"
type = string
default = "latest"
}
variable "volume_path" {
description = "Base directory for volumes"
type = string
}
variable "domain" {
description = "The domain name to use for services"
type = string
}
variable "tls_email" {
description = "Email address to use for TLS certificate generation with Let's Encrypt"
type = string
}
variable "service_definitions" {
description = "List of service definitions to evaluate for exposure through Caddy"
type = list(object({
name = string
endpoint = string
subdomains = optional(list(string), [])
publish_via = optional(string)
caddy_config = optional(string, "")
caddy_options = optional(map(string), {})
proxied = optional(bool, true) # Controls whether the DNS record is proxied through Cloudflare
}))
}
variable "networks" {
description = "List of Docker networks to connect the Caddy container to"
type = list(string)
default = []
}
variable "monitoring" {
description = "Whether to enable monitoring for the Caddy container"
type = bool
default = false
}
variable "cloudflare_zone_id" {
description = "Cloudflare Zone ID for creating DNS records"
type = string
default = ""
}
variable "external_ip" {
description = "External IP address for A records when using create_dns_records"
type = string
default = ""
}