variable "stack_name" { default = "expose" type = string description = "The name of the stack to create." } variable "networks" { type = list(object({ name = string id = string })) default = [] description = "A list of network names to attach the service to." } variable "traefik" { default = null type = object({ domain = string port = optional(number) non-ssl = optional(bool, true) ssl = optional(bool, false) rule = optional(string) middlewares = optional(list(string)) network = optional(object({ name = string, id = string })) basic-auth-users = optional(list(string)) }) description = "Whether to enable traefik for the service." } variable "placement_constraints" { default = [] type = list(string) description = "Docker Swarm placement constraints" } variable "mounts" { type = map(string) default = {} description = "A map of host paths to container paths to mount. The key is the host path, and the value is the container path." } variable "ports" { type = list(object({ host = optional(number, null) container = number protocol = optional(string, "tcp") publish_mode = optional(string, "ingress") })) default = [] }