{"queryDurationMs":52,"svc":{"svcId":92,"svc":"MongoDB","svcShort":"mongodb","code":"paas.mngo.0","version":"master","orchestratorName":"MongoDB","createUrl":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/create/job/","isProductionReady":true,"resourceRealmTypeId":3,"iconSrc":null,"descr":"Управляемая база данных MongoDB","man":"# Инструкция по развертыванию MongoDB через платформу

## 1. Общая информация

MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, горизонтальное масштабирование и гибкую модель хранения.

### Доступные операции с кластером

* **create** — создание базы
* **delete** — удаление базы данных
* **suspend** — остановка базы данных
* **resume** — запуск базы данных
* **modify** — изменение базы данных

### Доступные операции с пользователями

* **create_user** — создание пользователя
* **modify_user** — модификация пользователя
* **delete_user** — удаление пользователя

---

## 2. Параметры развертывания базы данных

Эти параметры необходимо указать при создании базы данных.

### Платформа для развертывания

Среда, в которой будет развернут кластер. Выбирается из предложенного списка.

### Количество узлов

Оптимально выбирать нечётное количество узлов в кластере MongoDB, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.

### Квота памяти пода (MB)

Объём памяти для одного пода в мегабайтах.
Пример: `2048`

### Квота CPU пода (mCPU)

CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`

### Размер диска для базы данных (GB)

Объём диска для хранения данных в гигабайтах.
Пример: `20`

### Выделение внешнего IP для доступа к master

Флаг, определяющий необходимость выделения внешнего IP.
Допустимые значения: `true` или `false`

### Имя ipSpace для публикации внешнего IP

Указывается только если включено выделение внешнего IP.
Пример: `internet-no-antiddos-v1`

---

## 3. Параметры модификации базы данных

Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.

### Количество узлов

Оптимально выбирать нечётное количество узлов в кластере MongoDB, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.

### Квота памяти пода (MB)

Объём памяти для одного пода в мегабайтах.
Пример: `2048`

### Квота CPU пода (mCPU)

CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`

### Размер диска для базы данных (GB)

Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.
Пример: `20`

### Выделение внешнего IP для доступа к master

Флаг, определяющий необходимость выделения внешнего IP.
Допустимые значения: `true` или `false`

### Имя ipSpace для публикации внешнего IP

Указывается только если включено выделение внешнего IP.
Пример: `internet-no-antiddos-v1`

---

## 3. Параметры создания пользователя

### Имя пользователя

Указывается имя пользователя (любой регистр).
Пример: `readApp`

### Имя базы данных

Название базы, в которой будет создан пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: `Apps_9392`

### Имя роли

* **read** — доступ только на чтение
* **readWrite** — чтение и изменение данных
* **dbOwner** — полный контроль над базой данных

---

## 4. Параметры модификации пользователя

### Имя пользователя

Необходимо выбрать существующего пользователя.
Если список пуст, требуется предварительно создать пользователя.

### Имя базы данных

База данных, к которой относится пользователь.
Если база отсутствует, она будет создана автоматически.
Пример: `Apps_9392`

### Имя роли

* **read**
* **readWrite**
* **dbOwner**

---

## 5. Параметры удаления пользователя

### Имя пользователя

Выберите пользователя из списка для удаления.

---

## 6. Выходные параметры

После успешного развертывания базы данных платформа возвращает ключевые параметры.

### internalConnect

Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.
Используется для внутренних интеграций и системных сервисов.

### externalConnect

Внешний FQDN для подключения к кластеру извне.
Порт подключения — **27017**.

---

## 7. Пример подключения

Перед подключением необходимо установить **mongosh**.

Команда подключения к базе данных:

```
mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"
```

Где:

* `<username>` — имя пользователя
* `<password>` — пароль
* `<endpoint_db>` — internalConnect или externalConnect
* `<dbName>` — имя базы данных

## 8. Дополнительная информация

Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину и паролю.","operations":[{"svcOperationId":190,"operation":"delete","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/delete/job/","descr":null,"man":null},{"svcOperationId":198,"operation":"create_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/create_user/job/","descr":null,"man":null},{"svcOperationId":37,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/create/job/","descr":null,"man":null},{"svcOperationId":199,"operation":"delete_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/delete_user/job/","descr":null,"man":null},{"svcOperationId":200,"operation":"modify_user","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/modify_user/job/","descr":null,"man":null},{"svcOperationId":201,"operation":"modify","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/modify/job/","descr":null,"man":null},{"svcOperationId":194,"operation":"suspend","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/suspend/job/","descr":null,"man":null},{"svcOperationId":196,"operation":"resume","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/k8s/job/MongoDB/job/resume/job/","descr":null,"man":null}]},"runDurationMs":52}