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.
14 lines
8.5 KiB
Markdown
14 lines
8.5 KiB
Markdown
# Resource nubes_mongodb
|
|
|
|
Service ID: `92`
|
|
|
|
Service Name: MongoDB
|
|
|
|
[Manual](mongodb.md) | [Create params](mongodb_params_create.md) | [Modify params](mongodb_params_modify.md) | [Output params](mongodb_outputs.md) | [Operations](mongodb_ops.md) | [Example](mongodb_example.md)
|
|
|
|
## MAN
|
|
|
|
<div class="man-content">
|
|
# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Оптимально выбирать нечётное количество узлов в кластере MongoDB, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Выделение внешнего IP для доступа к master<br/><br/>Флаг, определяющий необходимость выделения внешнего IP.<br/>Допустимые значения: `true` или `false`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Указывается только если включено выделение внешнего IP.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Оптимально выбирать нечётное количество узлов в кластере MongoDB, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Выделение внешнего IP для доступа к master<br/><br/>Флаг, определяющий необходимость выделения внешнего IP.<br/>Допустимые значения: `true` или `false`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Указывается только если включено выделение внешнего IP.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>### Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину и паролю.
|
|
</div>
|