157 lines
3.0 KiB
HCL
157 lines
3.0 KiB
HCL
variable "name" {
|
|
type = string
|
|
description = "Name of the service"
|
|
}
|
|
|
|
variable "image" {
|
|
type = string
|
|
description = "Image that should be run"
|
|
}
|
|
|
|
variable "service_port" {
|
|
type = number
|
|
default = null
|
|
description = "Port number used by the service"
|
|
}
|
|
|
|
variable "metrics_port_name" {
|
|
type = string
|
|
default = null
|
|
description = "Name of port that /metrics can be scraped from"
|
|
}
|
|
|
|
variable "ingress" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "sticky_disk" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "args" {
|
|
type = list(string)
|
|
default = []
|
|
description = "Arguments passed to the Docker container"
|
|
}
|
|
|
|
variable "resources" {
|
|
type = object({
|
|
cpu = number
|
|
memory = number
|
|
memory_max = optional(number)
|
|
})
|
|
|
|
default = {
|
|
cpu = 50
|
|
memory = 100
|
|
memory_max = null
|
|
}
|
|
|
|
description = "Resources to be assigned to the main task"
|
|
}
|
|
|
|
variable "env" {
|
|
type = map(string)
|
|
default = {}
|
|
description = "Env variables for the main task"
|
|
}
|
|
|
|
variable "ingress_rule" {
|
|
type = string
|
|
default = null
|
|
description = "Routing rule for ingress"
|
|
}
|
|
|
|
variable "ingress_middlewares" {
|
|
type = list(string)
|
|
default = []
|
|
description = "Traefik middlewares that should be used"
|
|
}
|
|
|
|
variable "service_tags" {
|
|
type = list(string)
|
|
default = []
|
|
description = "Additional tags to be added to the service."
|
|
}
|
|
|
|
variable "ports" {
|
|
type = list(object({
|
|
name = string
|
|
host_network = optional(string)
|
|
to = optional(number)
|
|
static = optional(number)
|
|
}))
|
|
default = []
|
|
description = "Additional ports (not service_port) to be bound."
|
|
}
|
|
|
|
variable "templates" {
|
|
type = list(object({
|
|
data = string
|
|
dest = string
|
|
dest_prefix = optional(string, "$${NOMAD_TASK_DIR}")
|
|
change_mode = optional(string)
|
|
change_signal = optional(string)
|
|
left_delimiter = optional(string)
|
|
right_delimiter = optional(string)
|
|
mount = optional(bool, true)
|
|
env = optional(bool, false)
|
|
}))
|
|
default = []
|
|
description = "Templates to be used"
|
|
}
|
|
|
|
variable "host_volumes" {
|
|
type = list(object({
|
|
name = string
|
|
dest = string
|
|
read_only = optional(bool)
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "healthcheck_path" {
|
|
type = string
|
|
default = "/"
|
|
}
|
|
|
|
variable "upstreams" {
|
|
type = list(object({
|
|
destination_name = string
|
|
local_bind_port = number
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "use_mysql" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "use_redis" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "use_vault" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "use_ldap" {
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "mysql_bootstrap" {
|
|
type = object({
|
|
vault_key = string
|
|
db_name_key = optional(string, "db_name")
|
|
db_user_key = optional(string, "db_user")
|
|
db_pass_key = optional(string, "db_pass")
|
|
})
|
|
default = null
|
|
}
|