42 lines
1.4 KiB
Terraform
42 lines
1.4 KiB
Terraform
// 2026-03-19
|
|
// resources.tf — managed RabbitMQ в облаке Nubes для sless и других сервисов.
|
|
|
|
resource "nubes_rabbitmq" "rmq" {
|
|
// Общий брокер для sless event-triggers и других сервисов облака.
|
|
resource_name = "sless-rabbit"
|
|
resource_realm = var.realm
|
|
resource_instances = 1
|
|
resource_memory = 512
|
|
resource_c_p_u = 500
|
|
resource_disk = 5
|
|
need_external_address_master = false
|
|
need_external_address_slave = false
|
|
}
|
|
|
|
locals {
|
|
// try() — обходим опечатку в API: поле называется как internalConnect, так и inernalConnect.
|
|
rmq_host = try(nubes_rabbitmq.rmq.state_out_flat["internalConnect.master"], nubes_rabbitmq.rmq.state_out_flat["inernalConnect.master"])
|
|
rmq_user = nubes_rabbitmq.rmq.vault_secrets["adminUser"]
|
|
rmq_password = nubes_rabbitmq.rmq.vault_secrets["adminPass"]
|
|
}
|
|
|
|
output "rabbitmq_host" {
|
|
value = local.rmq_host
|
|
}
|
|
|
|
output "rabbitmq_user" {
|
|
value = local.rmq_user
|
|
sensitive = true
|
|
}
|
|
|
|
output "rabbitmq_password" {
|
|
value = local.rmq_password
|
|
sensitive = true
|
|
}
|
|
|
|
output "rabbitmq_amqp_url" {
|
|
// Готовый URL для передачи в оператор sless (env RABBITMQ_URL).
|
|
value = "amqp://${local.rmq_user}:${local.rmq_password}@${local.rmq_host}:5672/"
|
|
sensitive = true
|
|
}
|