TOOLS/ — generators + scripts + config + ARCHITECTURE.md ├── yaml-generator/ (code) ├── resource-generator/ (code) ├── docs-generator/ (code) ├── scripts/ (← devops/*.sh) ├── config/ (← devops/profiles/ + devops/config/) │ ├── test/ profile.env, services_list.txt, operation_timeouts.json │ ├── prod/ │ └── dev/ └── ARCHITECTURE.md (← devops/ARCHITECTURE.md) generated/ — pipeline output only (gitignored) ├── test/resources_yaml/, go/, docs/, provider_build/ ├── prod/ └── dev/ provider/ — code only, no generated files resources_yaml/ — DELETED (generated) internal/resources_gen/ — DELETED (generated) devops/ — removed (replaced by TOOLS/scripts + TOOLS/config + generated/) Generators now fail if NUBES_*_DIR not set (no defaults to provider/). Provider requires pipeline to populate resources_gen/ before build.
9.4 KiB
9.4 KiB
Resource nubes_mongodb
Service ID: 92
Service Name: MongoDB
Manual | Create params | Modify params | Output params | Operations | Example
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`
### Имя ipSpace для публикации внешнего IP
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`
### Список разрешённых IP-адресов
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`
---
## 3. Параметры модификации базы данных
Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.
### Количество узлов
Количество реплик в кластере MongoDB.
Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.
> **Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.
### Квота памяти пода (MB)
Объём памяти для одного пода в мегабайтах.
Пример: `2048`
### Квота CPU пода (mCPU)
CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`
### Размер диска для базы данных (GB)
Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.
Пример: `20`
### Имя ipSpace для публикации внешнего IP
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`
### Список разрешённых IP-адресов
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`
---
## 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. Дополнительная информация
Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину и паролю.
## 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`
### Имя ipSpace для публикации внешнего IP
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`
### Список разрешённых IP-адресов
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`
---
## 3. Параметры модификации базы данных
Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.
### Количество узлов
Количество реплик в кластере MongoDB.
Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.
> **Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.
### Квота памяти пода (MB)
Объём памяти для одного пода в мегабайтах.
Пример: `2048`
### Квота CPU пода (mCPU)
CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).
Пример: `1000`
### Размер диска для базы данных (GB)
Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.
Пример: `20`
### Имя ipSpace для публикации внешнего IP
Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.
Укажите `no-needed`, если внешний адрес не требуется.
Пример: `internet-no-antiddos-v1`
### Список разрешённых IP-адресов
Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.
Если оставить пустым — доступ открыт для всех источников.
Пример: `["10.0.0.0/24", "192.168.1.10/32"]`
---
## 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. Дополнительная информация
Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину и паролю.