mirror of
https://gitlab.sarex.io/infra/terraform-contour-mirror.git
synced 2026-08-06 02:31:35 +03:00
163 lines
4.1 KiB
HCL
163 lines
4.1 KiB
HCL
variable "environment" {
|
|
description = "Target environment name."
|
|
type = string
|
|
}
|
|
|
|
variable "management_endpoint" {
|
|
description = "RabbitMQ Management API endpoint, for example http://rabbitmq.rabbitmq.svc.cluster.local:15672."
|
|
type = string
|
|
}
|
|
|
|
variable "management_username" {
|
|
description = "RabbitMQ admin username for Management API."
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "management_password" {
|
|
description = "RabbitMQ admin password for Management API."
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "amqp_host" {
|
|
description = "RabbitMQ AMQP host published to generated Kubernetes secrets."
|
|
type = string
|
|
default = "rabbitmq.rabbitmq.svc.cluster.local"
|
|
}
|
|
|
|
variable "amqp_port" {
|
|
description = "RabbitMQ AMQP port published to generated Kubernetes secrets."
|
|
type = number
|
|
default = 5672
|
|
}
|
|
|
|
variable "rabbitmq_policy" {
|
|
description = "Platform policy for RabbitMQ declarations."
|
|
type = object({
|
|
allow_create = optional(bool, true)
|
|
allow_delete = optional(bool, false)
|
|
})
|
|
default = {}
|
|
}
|
|
|
|
variable "vhosts" {
|
|
description = "RabbitMQ vhosts declared in infrastructure.yaml."
|
|
type = list(object({
|
|
name = string
|
|
description = optional(string)
|
|
tracing = optional(bool, false)
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "users" {
|
|
description = "RabbitMQ users declared in infrastructure.yaml."
|
|
type = list(object({
|
|
name = string
|
|
tags = optional(list(string), [])
|
|
password_length = optional(number)
|
|
password_special = optional(bool, false)
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "permissions" {
|
|
description = "RabbitMQ permissions declared in infrastructure.yaml."
|
|
type = list(object({
|
|
vhost = string
|
|
user = string
|
|
configure = optional(string, "")
|
|
write = optional(string, "")
|
|
read = optional(string, "")
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "topic_permissions" {
|
|
description = "RabbitMQ topic permissions declared in infrastructure.yaml."
|
|
type = list(object({
|
|
vhost = string
|
|
user = string
|
|
permissions = optional(list(object({
|
|
exchange = string
|
|
write = optional(string, "")
|
|
read = optional(string, "")
|
|
})), [])
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "exchanges" {
|
|
description = "RabbitMQ exchanges declared in infrastructure.yaml."
|
|
type = list(object({
|
|
name = string
|
|
vhost = string
|
|
type = optional(string, "topic")
|
|
durable = optional(bool, true)
|
|
auto_delete = optional(bool, false)
|
|
arguments = optional(any, {})
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "queues" {
|
|
description = "RabbitMQ queues declared in infrastructure.yaml."
|
|
type = list(object({
|
|
name = string
|
|
vhost = string
|
|
durable = optional(bool, true)
|
|
auto_delete = optional(bool, false)
|
|
arguments = optional(any, {})
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "bindings" {
|
|
description = "RabbitMQ bindings declared in infrastructure.yaml."
|
|
type = list(object({
|
|
vhost = string
|
|
source = string
|
|
destination = string
|
|
destination_type = string
|
|
routing_key = optional(string, "")
|
|
arguments = optional(any, {})
|
|
properties_key = optional(string)
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "policies" {
|
|
description = "RabbitMQ policies declared in infrastructure.yaml."
|
|
type = list(object({
|
|
name = string
|
|
vhost = string
|
|
pattern = string
|
|
apply_to = optional(string, "all")
|
|
priority = optional(number, 0)
|
|
definition = any
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "unmanaged_output_users" {
|
|
description = "Existing RabbitMQ users intentionally not managed, kept only for output compatibility."
|
|
type = list(string)
|
|
default = []
|
|
}
|
|
|
|
variable "unmanaged_output_permissions" {
|
|
description = "Existing RabbitMQ user/vhost pairs intentionally not managed, kept only for output compatibility."
|
|
type = list(object({
|
|
vhost = string
|
|
user = string
|
|
}))
|
|
default = []
|
|
}
|
|
|
|
variable "default_user_password_length" {
|
|
description = "Default generated RabbitMQ user password length."
|
|
type = number
|
|
default = 32
|
|
}
|