Skip to main content
Version: 1.12-grodno (current)

Модуль mongo-dbs

Название модуля

mongo-dbs

Ресурсы, которые деплоит модуль

Модуль создает отдельную базу данных MongoDB в кластере Yandex Managed MongoDB и настраивает подключение через Kubernetes secret:

  • yandex_mdb_mongodb_database - Создание базы данных MongoDB в кластере
  • yandex_mdb_mongodb_user - Создание пользователя MongoDB с правами readWrite
  • kubernetes_secret - Создание Kubernetes secret с строкой подключения

Переменные

Обязательные переменные

ПеременнаяОписание
provider-zoneГеозона провайдера (zone)
provider-tokenТокен провайдера (YC IAM token)
provider-cloudidID облака
provider-folderidID папки
mongodb_cluster_idID кластера MongoDB (из модуля mongodb-cluster)
mongodb_addressАдрес кластера MongoDB
mongodb_userИмя создаваемого пользователя MongoDB
mongodb_passwordПароль создаваемого пользователя MongoDB
mongodb_databaseИмя создаваемой базы данных

Опциональные переменные

ПеременнаяОписаниеЗначение по умолчанию
mongodb_portПорт подключения к MongoDB27018
k8s_secret_nameИмя Kubernetes secretnull (не создается)
k8s_namespaceNamespace для Kubernetes secret"dev"
env_prodФлаг production-окружения (настраивает maintenance_window)false

Пример использования

module "user_db8" {
source = "../modules/mongo-dbs"
mongodb_cluster_id = module.mongodb8_cluster.cluster_id
mongodb_address = module.mongodb8_cluster.hostname
mongodb_user = "userdb"
mongodb_password = var.mongodb_user_passwd // используйте секрет
mongodb_database = "userdb"
k8s_secret_name = "userdb-connection-string"
k8s_namespace = "prod"
provider-zone = var.provider-zone
provider-token = var.provider-token
provider-cloudid = var.provider-cloudid
provider-folderid = var.provider-folderid
}

Примечания

  • Модуль создает базу данных и пользователя в уже существующем кластере MongoDB
  • Для production-окружения рекомендуется установить env_prod = true
  • Строка подключения имеет формат: mongodb://<user>:<password>@<address>:<port>/<database>?authSource=<database>