fix: stabilize Polygon config loading and sync

This commit is contained in:
Repinoid
2026-10-25 10:35:26 +03:00
parent ee35088dae
commit 3df89ec9e7
135 changed files with 6994 additions and 2381 deletions
+7 -7
View File
@@ -22,11 +22,11 @@
### Относительный путь к YAML в Polygon ### Относительный путь к YAML в Polygon
В [loader.py](site/config/loader.py) пути заданы относительно текущей рабочей директории: по умолчанию `services`, а в `POLYGON_STANDS` обычно `services/dev`, `services/test`, `services/prod`. Фактические каталоги находятся внутри `site/services/`. Ранее [loader.py](site/config/loader.py) использовал пути относительно текущей рабочей директории: при запуске из корня репозитория это могло привести к поиску `<repo>/services` вместо `<repo>/site/services` и падению импорта до регистрации `/health`.
Инструкция Nubes Flask (`~/HowTo/howto-flask-nubes.md`) указывает запуск `python site/app.py` из корня репозитория. Если рабочая директория процесса действительно корень репозитория, загрузчик будет искать `<repo>/services`, а не `<repo>/site/services`; импорт конфигурации упадёт с `FileNotFoundError` до старта Flask и `/health`. Если платформа меняет рабочую директорию на `site`, этот путь работает. Фактический CWD деплоя и логи пода не проверены. Исправление привязывает относительные значения по умолчанию и `POLYGON_STANDS` к каталогу `site/`, независимо от CWD. Регрессионные тесты импортируют полное Flask-приложение и проверяют `/health` с CWD корня репозитория и `site/`. Фактический CWD исторического деплоя и его логи не проверены, поэтому этот дефект не объявляется доказанной причиной инцидента.
Этот риск может объяснить неготовность приложения после создания, но сам по себе не создаёт `NXDOMAIN`: DNS-имя проверяется до соединения с Flask. Этот дефект мог помешать запуску приложения, но сам по себе не создаёт `NXDOMAIN`: DNS-имя проверяется до соединения с Flask.
### Healthcheck ### Healthcheck
@@ -36,21 +36,21 @@
`config/loader.py` перечисляет YAML только в каталогах, заданных `POLYGON_STANDS`, либо в `services/` при отсутствии этой переменной. Каждый файл открывается и разбирается один раз при импорте `config.loader`; обработчики API затем используют загруженные словари из памяти. Резервные каталоги `resources_yaml.bak-*` из `tf_provider` Polygon не сканирует. `config/loader.py` перечисляет YAML только в каталогах, заданных `POLYGON_STANDS`, либо в `services/` при отсутствии этой переменной. Каждый файл открывается и разбирается один раз при импорте `config.loader`; обработчики API затем используют загруженные словари из памяти. Резервные каталоги `resources_yaml.bak-*` из `tf_provider` Polygon не сканирует.
Следовательно, старый YAML может оставить устаревший сервис или параметры в ответах API и способен помешать запуску, если файл невалиден или отсутствует ожидаемый каталог. Но в коде нет основания заключать, что чтение старых YAML вызвало заметную задержку, а тем более DNS `NXDOMAIN`. Время загрузки YAML отдельно не измерялось. Следовательно, старый YAML может оставить устаревший сервис или параметры в ответах API и способен помешать запуску, если файл невалиден или отсутствует ожидаемый каталог. Генератор `from_stands.py` теперь удаляет YAML, отсутствующие в источнике, после полной успешной конвертации; если есть ошибки, очистка не выполняется. DEV, TEST и PROD копии были перегенерированы из текущих соответствующих каталогов `tf_provider`; fallback `services/` — из DEV. Время загрузки YAML отдельно не измерялось, и нет основания связывать чтение старых файлов с DNS `NXDOMAIN`.
**Исправление прежнего ответа:** оценки размера и времени чтения YAML, а также предположение о конкретном negative-cache TTL DNS ранее были приведены без измерений и не являются установленными фактами. То, что адрес позднее открылся, доказывает только, что в момент повторной проверки он разрешался и отвечал; почему это изменилось, без DNS-диагностики и журналов Nubes неизвестно. **Исправление прежнего ответа:** оценки размера и времени чтения YAML, а также предположение о конкретном negative-cache TTL DNS ранее были приведены без измерений и не являются установленными фактами. То, что адрес позднее открылся, доказывает только, что в момент повторной проверки он разрешался и отвечал; почему это изменилось, без DNS-диагностики и журналов Nubes неизвестно.
Локальные удаления YAML в Polygon не отправлялись в Gitea и не развёртывались, поэтому сами по себе не меняли работающий сервис. Удаление четырёх старых копий `27_vc_vm_v2.yaml` не могло объяснить восстановление DNS: эти YAML влияют на содержимое API, а не на DNS-запись.
## Что проверить для точного диагноза ## Что проверить для точного диагноза
1. В карточке инстанса: фактические `startupConfiguration.resourceRealm`, `accessConfiguration.domain`, `appConfiguration.gitPath`, `appConfiguration.healthPath` и `state_out.connectionUrl`. 1. В карточке инстанса: фактические `startupConfiguration.resourceRealm`, `accessConfiguration.domain`, `appConfiguration.gitPath`, `appConfiguration.healthPath` и `state_out.connectionUrl`.
2. У операции `create`: список `stages`, результат каждой стадии и `errorLog`, особенно стадии DNS и запуска приложения. 2. У операции `create`: список `stages`, результат каждой стадии и `errorLog`, особенно стадии DNS и запуска приложения.
3. В логах пода: статус контейнера и traceback. Ошибка `Services directory not found: services` подтвердит проблему CWD/YAML-пути. 3. В логах пода: статус контейнера и traceback. Для старой опубликованной версии ошибка `Services directory not found: services` указывала бы на проблему CWD/YAML-пути.
4. В DNS: существует ли A-запись для точного `state_out.connectionUrl` и указывает ли она на ingress выбранного resource realm. 4. В DNS: существует ли A-запись для точного `state_out.connectionUrl` и указывает ли она на ingress выбранного resource realm.
## Вывод ## Вывод
Непосредственно `DNS_PROBE_FINISHED_NXDOMAIN` означает отсутствие разрешаемой DNS-записи для запрошенного имени. Наиболее важные проверки — сопоставить `domain` с `state_out.connectionUrl` и изучить DNS-стадию. Отдельно нужно проверить рабочую директорию процесса: текущий `loader.py` использует относительные пути и может не найти YAML при запуске из корня репозитория. Непосредственно `DNS_PROBE_FINISHED_NXDOMAIN` означает отсутствие разрешаемой DNS-записи для запрошенного имени. Наиболее важные проверки — сопоставить `domain` с `state_out.connectionUrl` и изучить DNS-стадию. Риск CWD/YAML-путей исправлен в коде и покрыт регрессионными тестами, но точная причина исторического инцидента остаётся неизвестной.
`tf_provider` — источник истины для схемы Flask; его YAML в рамках этого анализа не менялись. `tf_provider` — источник истины для схемы Flask; его YAML в рамках этого анализа не менялись.
+7 -5
View File
@@ -56,7 +56,7 @@ Polygon эмулирует API Nubes. Чтобы знать какие серв
неудобном для полигона. Поэтому есть двухэтапный процесс: неудобном для полигона. Поэтому есть двухэтапный процесс:
``` ```
~/tf_provider/generated/{dev,test,prod}/resources_yaml/*.yaml ← источник (терраформ) ~/TF/tf_provider/generated/{dev,test,prod}/resources_yaml/*.yaml ← источник истины
│ │
│ from_stands.py — конвертация формата, дедупликация, нормализация │ from_stands.py — конвертация формата, дедупликация, нормализация
│ Запускается ВРУЧНУЮ при изменении терраформ-репы │ Запускается ВРУЧНУЮ при изменении терраформ-репы
@@ -67,7 +67,7 @@ polygon/site/services/{dev,test,prod}/*.yaml ← скоммичены в git-
│ config/loader.py — загрузка ВСЕХ YAML в память при старте │ config/loader.py — загрузка ВСЕХ YAML в память при старте
│ │
▼ ▼
Память Flask-процесса (~0.7 MB на 3 стенда) Память Flask-процесса (конфиги загружаются один раз при старте)
``` ```
### Почему нельзя читать терраформ-формат напрямую? ### Почему нельзя читать терраформ-формат напрямую?
@@ -90,9 +90,9 @@ polygon/site/services/{dev,test,prod}/*.yaml ← скоммичены в git-
```bash ```bash
cd site cd site
python from_stands.py ~/tf_provider/generated/dev/resources_yaml services/dev python from_stands.py ~/TF/tf_provider/generated/dev/resources_yaml services/dev
python from_stands.py ~/tf_provider/generated/test/resources_yaml services/test python from_stands.py ~/TF/tf_provider/generated/test/resources_yaml services/test
python from_stands.py ~/tf_provider/generated/prod/resources_yaml services/prod python from_stands.py ~/TF/tf_provider/generated/prod/resources_yaml services/prod
cd .. cd ..
git add services/ git add services/
@@ -101,6 +101,8 @@ git push
# → редеплоить polygon через Nubes UI # → редеплоить polygon через Nubes UI
``` ```
После успешной конвертации генератор удаляет из целевого каталога YAML, которых больше нет в источнике. Если конвертация завершилась ошибками, устаревшие файлы не удаляются.
### Как проверить что всё загрузилось? ### Как проверить что всё загрузилось?
```bash ```bash
+9 -1
View File
@@ -21,6 +21,14 @@ import yaml
_YAML_EXTS = (".yaml", ".yml") _YAML_EXTS = (".yaml", ".yml")
_DEFAULT_SERVICES_DIR = "services" _DEFAULT_SERVICES_DIR = "services"
_SITE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def _resolve_services_dir(services_dir):
"""Resolve configured relative paths from site/, independent of process CWD."""
if not os.path.isabs(services_dir):
services_dir = os.path.join(_SITE_DIR, services_dir)
return os.path.abspath(services_dir)
def _load_one(services_dir): def _load_one(services_dir):
@@ -69,7 +77,7 @@ else:
STANDS = {} STANDS = {}
for _sid, _sdir in _stand_dirs.items(): for _sid, _sdir in _stand_dirs.items():
_svc, _ops = _load_one(_sdir) _svc, _ops = _load_one(_resolve_services_dir(_sdir))
STANDS[_sid] = {"SERVICES": _svc, "OPS_INDEX": _ops} STANDS[_sid] = {"SERVICES": _svc, "OPS_INDEX": _ops}
DEFAULT_STAND = next(iter(STANDS.keys())) DEFAULT_STAND = next(iter(STANDS.keys()))
+12
View File
@@ -309,6 +309,7 @@ def main():
converted = 0 converted = 0
errors = 0 errors = 0
converted_names = set()
for fname in yaml_files: for fname in yaml_files:
src = os.path.join(stands_dir, fname) src = os.path.join(stands_dir, fname)
@@ -328,6 +329,7 @@ def main():
sort_keys=False, sort_keys=False,
width=200, width=200,
) )
converted_names.add(fname)
# Быстрая проверка результата # Быстрая проверка результата
svc_name = cfg.get("name", "?") svc_name = cfg.get("name", "?")
@@ -343,6 +345,16 @@ def main():
print(f" FAIL {fname}: {e}") print(f" FAIL {fname}: {e}")
errors += 1 errors += 1
if errors == 0:
stale_yaml = sorted(
fname
for fname in os.listdir(services_dir)
if fname.lower().endswith(YAML_EXTS) and fname not in converted_names
)
for fname in stale_yaml:
os.remove(os.path.join(services_dir, fname))
print(f" REMOVE {fname}: not present in source")
print() print()
print(f"Done: {converted} converted, {errors} errors") print(f"Done: {converted} converted, {errors} errors")
+27 -14
View File
@@ -127,10 +127,16 @@ cfsParams:
- SSHFP - SSHFP
- svcOperationCfsParamId: 780 - svcOperationCfsParamId: 780
svcOperationCfsParam: recordInput svcOperationCfsParam: recordInput
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: '[{}]'
isModifiable: false isModifiable: false
dataDescriptor:
record:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 781 - svcOperationCfsParamId: 781
svcOperationCfsParam: recordName svcOperationCfsParam: recordName
dataType: string dataType: string
@@ -144,16 +150,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
recordName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recordTTL:
dataType: integer > 0
defaultValue: '3600'
isRequired: true
isModifiable: false
recordType: recordType:
dataType: string dataType: string
defaultValue: A defaultValue: A
@@ -169,11 +165,22 @@ cfsParams:
- LUA - LUA
- NS - NS
- SSHFP - SSHFP
- CAA
recordName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recordInput: recordInput:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
recordTTL:
dataType: integer > 0
defaultValue: '3600'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 783 - svcOperationCfsParamId: 783
svcOperationCfsParam: recordName svcOperationCfsParam: recordName
dataType: string dataType: string
@@ -204,10 +211,16 @@ cfsParams:
- SSHFP - SSHFP
- svcOperationCfsParamId: 786 - svcOperationCfsParamId: 786
svcOperationCfsParam: recordInput svcOperationCfsParam: recordInput
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: '[{}]'
isModifiable: true isModifiable: true
dataDescriptor:
record:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
254: 254:
- 761 - 761
+59 -43
View File
@@ -2,7 +2,54 @@ name: mariadb
service_id: 115 service_id: 115
service_display_name: Mariadb service_display_name: Mariadb
service_short_name: mariadb service_short_name: mariadb
service_man: 'Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.<br/>Автоматическое резервное копирование, ручное восстановление.' service_man: '# Инструкция по развертыванию MariaDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MariaDB — реляционная база данных, совместимая с MySQL. Разворачивается через `mariadb-operator`
в Kubernetes.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание кластера<br/>* **delete** — удаление кластера<br/>* **suspend** — остановка кластера (под реально останавливается,
ресурсы не потребляются)<br/>* **resume** — запуск ранее остановленного кластера<br/>* **modify** — изменение параметров кластера<br/>* **reconcile** — синхронизация состояния инстанса с платформой<br/><br/>###
Доступные операции с базами данных<br/><br/>* **create_database** — создание базы данных<br/>* **delete_database** — удаление базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user**
— создание пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания кластера<br/><br/>### Платформа для развертывания (`startupConfiguration.resourceRealm`)<br/><br/>Среда,
в которой будет развёрнут кластер.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>JSON-объект:<br/>* `cpu` — квота CPU пода в миликорах (1000 = 1 vCPU). Пример: `500`<br/>* `memory`
— квота памяти пода в мегабайтах. Пример: `512`<br/>* `disk` — размер диска в гигабайтах. Пример: `10`<br/>* `replicas` — количество реплик. Сервис работает в режиме одного primary-узла (Galera выключена),
значение `0` эквивалентно остановке кластера.<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Поддерживаются только две версии: `8.4.0` и `9.4.0`.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>JSON-объект:<br/>*
`masterIpSpace` — имя ipSpace для выделения внешнего IP. Укажите `no-needed`, если внешний адрес не требуется.<br/>* `masterAccessList` — список IP/подсетей, которым разрешён доступ к порту 3306 снаружи.
Пустой список — доступ не ограничен на уровне firewall (в рамках выделенного ipSpace).<br/><br/>### Резервное копирование (`backupConfiguration`)<br/><br/>JSON-объект:<br/>* `s3Uid` — идентификатор S3-пользователя/квоты
для бэкапов.<br/>* `schedule` — cron-выражение расписания бэкапов. По умолчанию `0 0 * * *` (раз в сутки в полночь).<br/>* `retain` — время хранения бэкапов **в часах** (не в днях!). По умолчанию `7`
— то есть 7 часов. При суточном расписании этого значения обычно недостаточно, чтобы между двумя бэкапами всегда оставалась хотя бы одна валидная копия — рекомендуется указывать `retain` явно, с запасом
(например `720` = 30 суток).<br/><br/>> **Важно:** расписание и срок хранения бэкапов задаются **только при создании кластера**. Оператор MariaDB не позволяет изменить cron-расписание бэкапа после создания
(поле `spec.schedule.cron` неизменяемо на уровне admission-вебхука самого оператора) — поэтому эти параметры недоступны для изменения через `modify`.<br/><br/>> **Восстановление из бэкапа пока не реализовано
как самостоятельная операция платформы.** Бэкапы физически хранятся в S3-бакете инстанса (`technicals3backup-<instanceUid>`, префикс `mariadb/backups/`). Если нужно восстановить данные из бэкапа — бэкап
нужно **скачать из S3 и применить к базе вручную** (например через `mariabackup`/`mariadb-backup` restore или соответствующий инструмент).<br/><br/>### Автомасштабирование диска (`autoscaleConfiguration`)<br/><br/>JSON-объект:<br/>*
`enabled` — включить автоматическое расширение диска при исчерпании места.<br/>* `quota` — максимальный размер диска, до которого разрешено автоматическое расширение (не может быть меньше `clusterConfiguration.disk`).<br/>*
`percent`, `schedule` — параметры триггера автомасштабирования.<br/><br/>---<br/><br/>## 3. Параметры модификации кластера<br/><br/>Все параметры модификации, кроме версии, можно как увеличивать, так
и уменьшать (кроме диска — см. ниже) — система подставит текущие сохранённые значения, если их не менять.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>* `cpu`, `memory` — можно
менять в любую сторону.<br/>* `disk` — можно **только увеличивать**, уменьшение уже выделенного размера не поддерживается.<br/>* `replicas` — `0` останавливает кластер тем же образом, что и `suspend`
(альтернативный способ временной остановки через `modify`).<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Можно только повышать версию (`8.4.0 → 9.4.0`). Попытка понизить версию
будет отклонена с явной ошибкой ещё до применения изменений.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>Можно включить внешний доступ (было `no-needed` → указали реальный `masterIpSpace`),
изменить список разрешённых IP, либо полностью отключить внешний доступ (`masterIpSpace: no-needed`) — в этом случае внешний Service, DNS-запись и правило firewall будут корректно откреплены и удалены.<br/><br/>###
Резервное копирование<br/><br/>Не передаётся при модификации — расписание и срок хранения бэкапов фиксируются на этапе `create` (см. п.2).<br/><br/>---<br/><br/>## 4. Параметры создания базы данных (`create_database`)<br/><br/>###
Имя базы данных (`dbName`)<br/><br/>Строка с именем новой базы. Не может совпадать с зарезервированными системными именами: `mysql`, `sys`, `information_schema`, `performance_schema`. База с таким же
именем не должна уже существовать в кластере.<br/><br/>---<br/><br/>## 5. Параметры удаления базы данных (`delete_database`)<br/><br/>### Имя базы данных (`dbName`)<br/><br/>База должна существовать в
кластере. Удаление будет отклонено, если к базе всё ещё привязаны пользователи — сначала нужно снять доступ (`delete_user`) у всех пользователей, ссылающихся на эту базу.<br/><br/>---<br/><br/>## 6. Параметры
создания пользователя (`create_user`)<br/><br/>### Имя пользователя (`username`)<br/><br/>Не может быть `root`, `healthcheck` или `mariadb.sys` — эти имена зарезервированы платформой/оператором. Пользователь
с таким именем не должен уже существовать в кластере — операция сверяется с текущим стейтом сервиса и отклоняется, если имя занято.<br/><br/>### Пароль (`password`)<br/><br/>Пароль для подключения от
имени создаваемого пользователя.<br/><br/>### Базы данных (`dbName`)<br/><br/>JSON-массив вида `[{"dbname": "имя_базы"}]` — список баз, к которым выдаётся полный доступ (`ALL PRIVILEGES`). Все перечисленные
базы должны уже существовать в кластере (создать заранее через `create_database`).<br/><br/>> Ограничения доступа по IP/подсети на уровне пользователя больше нет — `user@host` в самой MariaDB всегда `%`.
Доступ к порту 3306 контролируется только на уровне инстанса через `accessConfiguration.masterAccessList`, задаваемый при `create`/`modify` (см. п.2/п.3).<br/><br/>---<br/><br/>## 7. Параметры удаления
пользователя (`delete_user`)<br/><br/>### Имя пользователя (`username`)<br/><br/>Пользователь должен существовать в кластере. `root`/`healthcheck`/`mariadb.sys` удалить нельзя.<br/><br/>---<br/><br/>##
8. Выходные параметры<br/><br/>### internalConnect<br/><br/>Внутренний адрес для подключения из сервисов, работающих в том же кластере Kubernetes:<br/>```json<br/>{<br/> "master": {<br/> "dns": "<clusterResourceName>.<namespace>.svc.<domain>",<br/> "ip":
null,<br/> "port": 3306<br/> }<br/>}<br/>```<br/><br/>### externalConnect<br/><br/>Присутствует в выходных данных, **только если** был запрошен внешний доступ (`accessConfiguration.masterIpSpace`
отличен от `no-needed`). Если внешний доступ не запрошен или был отключён через `modify` — этого блока не будет вовсе (пустой блок в состояние не пишется):<br/>```json<br/>{<br/> "master": {<br/> "dns":
"write.<namespace>.<domain>",<br/> "ip": "<внешний IP>",<br/> "port": 3306<br/> }<br/>}<br/>```<br/><br/>---<br/><br/>## 9. Пример подключения<br/><br/>### 9.1 Изнутри кластера / того же namespace<br/><br/>```bash<br/>mariadb
-h <internalConnect.dns> -P 3306 -u <username> -p<br/>```<br/><br/>### 9.2 Через port-forward<br/><br/>```bash<br/>kubectl port-forward svc/<clusterResourceName> 3306:3306 -n <namespace><br/>```<br/><br/>**Важно:**
после `port-forward` подключайтесь именно по `127.0.0.1`, а не `localhost`:<br/><br/>```bash<br/>mariadb -h 127.0.0.1 -P 3306 -u <username> -p<br/>```<br/><br/>Клиент `mysql`/`mariadb` при указании `-h
localhost` **игнорирует TCP/порт** и всегда пытается подключиться через локальный unix-сокет (`/var/lib/mysql/mysql.sock`), которого на вашей машине нет — подключение упадёт с `ERROR 2002 (HY000): Can''t
connect to local server through socket`. `127.0.0.1` форсирует реальное TCP-подключение. Также не забывайте `-P` (порт) с заглавной буквы — строчная `-p` относится к паролю.<br/><br/>### 9.3 Снаружи (внешний
адрес)<br/><br/>```bash<br/>mariadb -h <externalConnect.ip или externalConnect.dns> -P 3306 -u <username> -p<br/>```<br/><br/>Доступно только если при создании/модификации был указан реальный `masterIpSpace`
и подключающийся IP входит в `accessConfiguration.masterAccessList` (или список пуст).<br/><br/>Где:<br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль пользователя<br/><br/>---<br/><br/>##
10. Дополнительная информация<br/><br/>* Расписание бэкапов (`backupConfiguration.schedule`/`retain`) задаётся один раз при создании и не может быть изменено позже — ограничение самого `mariadb-operator`,
а не платформы.<br/>* Версию MariaDB можно только повышать, откат на более старую версию не поддерживается.<br/>* Размер диска можно только увеличивать.<br/>* `suspend` реально останавливает под (масштабирование
StatefulSet в 0 реплик), а не просто помечает кластер как приостановленный — расход ресурсов CPU/RAM/диска (кроме уже занятого диска) прекращается.<br/>* При отключении внешнего доступа через `modify`
(`masterIpSpace: no-needed`) внешний Service, DNS-запись и правило firewall удаляются, а `externalConnect` пропадает из выходных данных.<br/>* Самостоятельного восстановления из бэкапа (операции `restore`)
пока нет. Бэкапы лежат в S3 инстанса — восстановление данных в существующий кластер выполняется вручную, скачиванием и применением бэкапа самим владельцем инстанса.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -64,10 +111,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 878 - svcOperationCfsParamId: 878
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -75,11 +121,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '500' defaultValue: '500'
@@ -97,6 +138,11 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- '1' - '1'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 879 - svcOperationCfsParamId: 879
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -134,7 +180,7 @@ cfsParams:
dataType: map-fixed dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: false
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: uuid
@@ -194,19 +240,19 @@ cfsParams:
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: db-aah92zcm defaultValue: db-nmdlrebb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 735 - svcOperationCfsParamId: 735
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: usero6y8ruyp defaultValue: useroxxeykhb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 736 - svcOperationCfsParamId: 736
svcOperationCfsParam: password svcOperationCfsParam: password
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: kgocowba defaultValue: apsyfstb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 737 - svcOperationCfsParamId: 737
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
@@ -220,12 +266,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 738
svcOperationCfsParam: accessHosts
dataType: string
isRequired: true
defaultValue: '%'
isModifiable: false
- svcOperationCfsParamId: 456 - svcOperationCfsParamId: 456
svcOperationCfsParam: deleteS3Bucket svcOperationCfsParam: deleteS3Bucket
dataType: boolean dataType: boolean
@@ -308,28 +348,6 @@ cfsParams:
valueList: valueList:
- 8.4.0 - 8.4.0
- 9.4.0 - 9.4.0
- svcOperationCfsParamId: 886
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 887 - svcOperationCfsParamId: 887
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -383,7 +401,6 @@ cfsParamsByOp:
- 735 - 735
- 736 - 736
- 737 - 737
- 738
139: 139:
- 456 - 456
248: 248:
@@ -394,14 +411,13 @@ cfsParamsByOp:
- 883 - 883
- 884 - 884
- 885 - 885
- 886
- 887 - 887
287: [] 287: []
141: [] 141: []
140: [] 140: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"disk": 10, "cpu": 500, "memory": 512, "replicas": 1}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
mariadbConfiguration: '{"version": "9.4.0"}' mariadbConfiguration: '{"version": "9.4.0"}'
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
+19 -17
View File
@@ -2,21 +2,24 @@ name: kafka
service_id: 116 service_id: 116
service_display_name: ApacheKafka service_display_name: ApacheKafka
service_short_name: kafka service_short_name: kafka
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль \ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create** \ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify** \ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume** \ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание: \ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым \ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### \ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая \ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный \ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>### \ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних \ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>- <br/> port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"<serviceName>-<serviceName>-pool-0.<serviceName>-kafka-brokers.<namespace>.svc.<clusterDomain>\"<br/> port: 9093<br/>```<br/><br/>**externalConnect**\
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок \ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<br/>\
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>' \ port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"broker-1.<namespace>.<dnsZone>\"<br/> port: 9093<br/>```<br/><br/>Заполняется **только один** из параметров:<br/>- при внешней аллокации\
\ (`loadbalancer`) — `externalConnect`, `internalConnect` остаётся пустым;<br/>- при внутреннем режиме — `internalConnect`, `externalConnect` остаётся пустым.<br/><br/>Для подключения используются следующие\
\ порты:<br/><br/>* 9092 — внутренний нешифрованный доступ (plain).<br/>* 9093 — внутренний и внешний доступ по TLS, с обязательной TLS-аутентификацией.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Для\
\ создания топиков, пользователей и управления ими, а также для интеграции с кластерами Kafka используйте соответствующие сервисы и раздел \"Облачные сервисы\".<br/>---"
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -82,10 +85,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1085 - svcOperationCfsParamId: 1085
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
+1 -2
View File
@@ -47,10 +47,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 551 - svcOperationCfsParamId: 551
svcOperationCfsParam: resourceMemory svcOperationCfsParam: resourceMemory
dataType: integer > 0 dataType: integer > 0
+31 -32
View File
@@ -85,10 +85,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 838 - svcOperationCfsParamId: 838
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -116,6 +115,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
shards: shards:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -125,11 +129,6 @@ cfsParams:
- '1' - '1'
- '2' - '2'
- '3' - '3'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 839 - svcOperationCfsParamId: 839
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -216,20 +215,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
quota:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -248,6 +233,20 @@ cfsParams:
- '5' - '5'
- '12' - '12'
- '23' - '23'
quota:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 851 - svcOperationCfsParamId: 851
svcOperationCfsParam: clickhouseFilesConfiguration svcOperationCfsParam: clickhouseFilesConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -434,15 +433,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: false,true defaultValue: false,true
@@ -463,6 +453,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 850 - svcOperationCfsParamId: 850
svcOperationCfsParam: clickhouseFilesConfiguration svcOperationCfsParam: clickhouseFilesConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -514,10 +513,10 @@ cfsParamsByOp:
182: [] 182: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "shards": 1, "disk": 10}' clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "disk": 10, "shards": 1}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}' clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
clickhouseConfiguration: '{"version": "25.10"}' clickhouseConfiguration: '{"version": "25.10"}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
autoscaleConfiguration: '{"quota": 100, "percent": 10, "enabled": false, "schedule": 0}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}' clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}'
+1 -1
View File
@@ -2,7 +2,7 @@ name: s3
service_id: 12 service_id: 12
service_display_name: S3 Object Storage service_display_name: S3 Object Storage
service_short_name: s3 service_short_name: s3
service_man: Руководство доступно по ссылке:<br/>https://docs.s3.msk-1.ngcloud.ru/s3/s3.description.html service_man: Руководство доступно по ссылке:<br/>https://docs.s3-website.msk-1.ngcloud.ru/
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -19,6 +19,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
clusterName:
dataType: string
defaultValue: k8s-6sa9dyug
isRequired: true
isModifiable: false
resourceRealm: resourceRealm:
dataType: string dataType: string
defaultValue: sandbox.nubes.ru defaultValue: sandbox.nubes.ru
@@ -26,9 +31,14 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- sandbox.nubes.ru - sandbox.nubes.ru
clusterName: providerVdc:
dataType: string dataType: string
defaultValue: example-ywasgmh6 defaultValue: ''
isRequired: true
isModifiable: false
networkProvider:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 772 - svcOperationCfsParamId: 772
@@ -40,10 +50,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -82,6 +93,18 @@ cfsParams:
defaultValue: '[{}]' defaultValue: '[{}]'
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
groupName:
dataType: string
defaultValue: workers-5tcvtwk4
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '{}'
sizingDisk: sizingDisk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '50' defaultValue: '50'
@@ -92,18 +115,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
groupName: autoscale:
dataType: string dataType: boolean
defaultValue: workers-gj7zkkhv defaultValue: 'false'
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '{}' - 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: true
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: true
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 775 - svcOperationCfsParamId: 775
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -111,18 +148,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
needExternalAddressIngress:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
needExternalAddressAPI: needExternalAddressAPI:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -135,6 +160,18 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
needExternalAddressIngress:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
258: 258:
- 771 - 771
@@ -143,8 +180,8 @@ cfsParamsByOp:
- 774 - 774
- 775 - 775
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "sandbox.nubes.ru", "clusterName": "example-ywasgmh6"}' startupConfiguration: '{"clusterName": "k8s-6sa9dyug", "resourceRealm": "sandbox.nubes.ru", "providerVdc": "", "networkProvider": ""}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}' controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-gj7zkkhv", "sizingPolicy": ""}' workerConfiguration: '{"groupName": "workers-5tcvtwk4", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"needExternalAddressIngress": true, "accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]"}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
+19 -19
View File
@@ -62,19 +62,6 @@ cfsParams:
defaultValue: '{}' defaultValue: '{}'
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
userCount:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
requestApproveMaxPeriod: requestApproveMaxPeriod:
dataType: integer > 0 dataType: integer > 0
defaultValue: '2' defaultValue: '2'
@@ -120,6 +107,19 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
userCount:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 658 - svcOperationCfsParamId: 658
svcOperationCfsParam: s3Storage svcOperationCfsParam: s3Storage
dataType: integer > 0 dataType: integer > 0
@@ -133,6 +133,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
userCount:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
requestApproveMaxPeriod: requestApproveMaxPeriod:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -186,11 +191,6 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
userCount:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 660 - svcOperationCfsParamId: 660
svcOperationCfsParam: s3Storage svcOperationCfsParam: s3Storage
dataType: integer > 0 dataType: integer > 0
@@ -212,5 +212,5 @@ cfsParamsByOp:
stateParams: stateParams:
resourceRealm: valo.ngcloud.ru resourceRealm: valo.ngcloud.ru
domain: '' domain: ''
valoOptions: '{"ffLogging": true, "userCount": 10, "requestApproveMaxPeriod": 2, "ffOnlineEditor": true, "ffWatermark": true, "ffUserImport": true, "ffThemes": true, "ffPublicLink": true}' valoOptions: '{"requestApproveMaxPeriod": 2, "ffOnlineEditor": true, "ffWatermark": true, "ffUserImport": true, "ffThemes": true, "ffPublicLink": true, "ffLogging": true, "userCount": 10}'
s3Storage: '10' s3Storage: '10'
+142 -21
View File
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
service_id: 150 service_id: 150
service_display_name: Kubernetes кластер Штурвал service_display_name: Kubernetes кластер Штурвал
service_short_name: k8sSthutrvalCluster service_short_name: k8sSthutrvalCluster
service_man: Перед разворачиванием убедиться, что в облаке есть 2 свободных невыделенных IP в пуле service_man: '# Развёртывание Kubernetes: ограничения и предварительный чек-лист<br/><br/>> **Внимание:** перед началом развёртывания кластера Kubernetes убедитесь, что выполнены все описанные ниже условия.
Несоблюдение порядка шагов может привести к ошибкам при создании кластера.<br/><br/>---<br/><br/>## Ограничения при развёртывании<br/><br/>| Ограничение | Статус |<br/>|---|---|<br/>| 1 кластер = 1 vDC
| Действует (будет исправлено в ближайшее время) |<br/><br/>---<br/><br/>## Предварительный чек-лист<br/><br/>Перед установкой кластера Kubernetes необходимо последовательно выполнить следующие шаги.<br/><br/>###
1. Создать организацию в Cloud Director<br/><br/>- Перейдите в услугу **Организация в Cloud Director**.<br/>- Создайте организацию.<br/><br/>### 2. Создать виртуальный датацентр (vDC)<br/><br/>- Перейдите
в услугу **Виртуальный датацентр (vDC)**.<br/>- Создайте vDC.<br/>- Выделите **достаточно ресурсов для разворачивания _всех_ нод** кластера.<br/><br/>### 3. Создать Edge (сетевой шлюз периметра)<br/><br/>-
Перейдите в услугу **Сетевой шлюз периметра (Edge)**.<br/>- Создайте Edge.<br/>- Обязательно:<br/> - Включить **ALB**.<br/> - Установить **Кол-во VS на AVI ≥ 3**.<br/><br/>### 4. Добавить внешние адреса
в организации<br/><br/>- Вернитесь в **Организация в Cloud Director**.<br/>- Выполните операцию **Modify**.<br/>- Добавьте **3 внешних адреса**.<br/>- Количество `ipSpaces` значения не имеет, важно чтобы
суммарно было 3 адреса.<br/><br/>### 5. Настроить SNAT для виртуальных машин<br/><br/>- Вернитесь в **Сетевой шлюз периметра (Edge)**.<br/>- Выполните операцию **Modify**.<br/>- Выберите доступный `ipSpaceName`.<br/>-
Это будет **SNAT для виртуальных машин**.<br/><br/>### 6. Развернуть кластер Kubernetes<br/><br/>- Только **после выполнения всех шагов выше** переходите к услуге **Kubernetes кластер Штурвал**.<br/>-
Начните разворачивание кластера.<br/><br/>---<br/><br/>## Минимальные требования к кластеру<br/><br/>| Параметр | Значение |<br/>|---|---|<br/>| Мастер-ноды | минимум **1** |<br/>| Воркер-ноды | минимум
**1** |<br/>| CPU (на ноду) | **4 vCPU** |<br/>| RAM (на ноду) | **8 GB** |<br/>| Диск (на ноду) | **50 GB** |<br/><br/>---'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -49,6 +59,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
vdcUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
nsxtUid: nsxtUid:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -56,14 +71,65 @@ cfsParams:
isModifiable: false isModifiable: false
clusterName: clusterName:
dataType: string dataType: string
defaultValue: example-kcrwfrbd defaultValue: example-ryatr2rx
isRequired: true isRequired: true
isModifiable: false isModifiable: false
vdcUid: exLogging:
dataType: string dataType: boolean
defaultValue: '' defaultValue: 'true'
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList:
- 'true'
- 'false'
exMonitoring:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exLocalCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exVip:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exUpdate:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exIngress:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exNamedCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 751 - svcOperationCfsParamId: 751
svcOperationCfsParam: controlPlaneConfiguration svcOperationCfsParam: controlPlaneConfiguration
dataType: map-fixed dataType: map-fixed
@@ -71,6 +137,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
sizingPolicy:
dataType: string
defaultValue: '[]'
isRequired: true
isModifiable: false
valueList:
- '{}'
sizingDisk: sizingDisk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '50' defaultValue: '50'
@@ -85,13 +158,6 @@ cfsParams:
- '1' - '1'
- '3' - '3'
- '5' - '5'
sizingPolicy:
dataType: string
defaultValue: '[]'
isRequired: true
isModifiable: false
valueList:
- '{}'
- svcOperationCfsParamId: 752 - svcOperationCfsParamId: 752
svcOperationCfsParam: workerConfiguration svcOperationCfsParam: workerConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -101,7 +167,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
groupName: groupName:
dataType: string dataType: string
defaultValue: workers-rbrr6za5 defaultValue: workers-e6bfgpqf
isRequired: true isRequired: true
isModifiable: false isModifiable: false
sizingPolicy: sizingPolicy:
@@ -121,6 +187,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
autoscale:
dataType: boolean
defaultValue: 'false'
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 753 - svcOperationCfsParamId: 753
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -161,10 +253,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -205,6 +298,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -245,7 +339,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
groupName: groupName:
dataType: string dataType: string
defaultValue: workers-kk0fpv6w defaultValue: workers-ohtgog3p
isRequired: true isRequired: true
isModifiable: false isModifiable: false
sizingPolicy: sizingPolicy:
@@ -261,10 +355,36 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count: count:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
autoscale:
dataType: boolean
defaultValue: ''
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 759 - svcOperationCfsParamId: 759
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -317,8 +437,9 @@ cfsParamsByOp:
174: [] 174: []
173: [] 173: []
stateParams: stateParams:
startupConfiguration: '{"nsxtUid": "", "clusterName": "example-kcrwfrbd", "vdcUid": ""}' startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-ryatr2rx", "exLogging": true, "exMonitoring": true, "exLocalCsi": true, "exVip": true, "exUpdate": true, "exIngress": true,
controlPlaneConfiguration: '{"sizingDisk": 50, "count": 1, "sizingPolicy": "[]"}' "exNamedCsi": true}'
workerConfiguration: '{"groupName": "workers-rbrr6za5", "sizingPolicy": "", "sizingDisk": 50, "count": 2}' controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"groupName": "workers-e6bfgpqf", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
+12 -18
View File
@@ -71,10 +71,6 @@ operations:
operation: recovery_secrets operation: recovery_secrets
kind: subresource kind: subresource
action: recovery action: recovery
- svcOperationId: 234
operation: restart
kind: action
action: restart
- svcOperationId: 216 - svcOperationId: 216
operation: resume operation: resume
kind: instance kind: instance
@@ -103,10 +99,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 664 - svcOperationCfsParamId: 664
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
@@ -143,13 +138,13 @@ cfsParams:
svcOperationCfsParam: domain svcOperationCfsParam: domain
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: bao-ovkw1qbi defaultValue: bao-nosgzjqe
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 675 - svcOperationCfsParamId: 675
svcOperationCfsParam: kvName svcOperationCfsParam: kvName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: kvname-bbycmhbz defaultValue: kvname-ps9az5f9
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 728 - svcOperationCfsParamId: 728
svcOperationCfsParam: policySettings svcOperationCfsParam: policySettings
@@ -158,21 +153,21 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
capabilities:
dataType: json
defaultValue: '["read", "list"]'
isRequired: true
isModifiable: false
path: path:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
capabilities:
dataType: json
defaultValue: '["read", "list"]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 729 - svcOperationCfsParamId: 729
svcOperationCfsParam: policyName svcOperationCfsParam: policyName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: policy-xqjoiy6t defaultValue: policy-kyvtdypv
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 677 - svcOperationCfsParamId: 677
svcOperationCfsParam: kvName svcOperationCfsParam: kvName
@@ -279,12 +274,12 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
capabilities: path:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
path: capabilities:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
@@ -353,7 +348,6 @@ cfsParamsByOp:
- 723 - 723
- 724 - 724
- 725 - 725
234: []
216: [] 216: []
215: [] 215: []
238: 238:
@@ -371,4 +365,4 @@ stateParams:
resourceMemory: '512' resourceMemory: '512'
resourceDisk: '10' resourceDisk: '10'
appVersion: 2.5.2 appVersion: 2.5.2
domain: bao-ovkw1qbi domain: bao-nosgzjqe
+100
View File
@@ -0,0 +1,100 @@
name: nifi
service_id: 153
service_display_name: Nifi
service_short_name: nifi
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 229
operation: create
kind: instance
action: create
- svcOperationId: 235
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 711
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: nifi-qmpqdalo
isModifiable: false
- svcOperationCfsParamId: 712
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '2000'
isModifiable: false
- svcOperationCfsParamId: 713
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '4096'
isModifiable: false
- svcOperationCfsParamId: 714
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
valueList:
- '1'
- svcOperationCfsParamId: 715
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '10'
isModifiable: false
- svcOperationCfsParamId: 716
svcOperationCfsParam: appVersion
dataType: string
isRequired: true
defaultValue: 2.6.0
isModifiable: false
valueList:
- 2.6.0
- svcOperationCfsParamId: 717
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 718
svcOperationCfsParam: jdbcDrivers
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
path:
dataType: string
defaultValue: https://jdbc.postgresql.org/download/postgresql-42.7.8.jar
isRequired: true
isModifiable: false
cfsParamsByOp:
229:
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
235: []
stateParams:
domain: nifi-qmpqdalo
resourceCPU: '2000'
resourceMemory: '4096'
resourceInstances: '1'
resourceDisk: '10'
appVersion: 2.6.0
resourceRealm: ''
jdbcDrivers: '{"path": "https://jdbc.postgresql.org/download/postgresql-42.7.8.jar"}'
+43 -25
View File
@@ -1,33 +1,39 @@
name: llm_ai name: llm_ai
service_id: 163 service_id: 163
service_display_name: LLM service_display_name: ML Улей
service_short_name: llmAi service_short_name: llmAi
service_man: '## 1. Общая информация<br/><br/>LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.<br/>Платформа позволяет создавать организации service_man: '## 1. Общая информация<br/><br/>LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.<br/>Платформа позволяет создавать организации
(тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create** — Создание организации в LLMaaS<br/>- (тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.<br/><br/>### Ограничение: одна организация на контрагента<br/><br/>На одного контрагента может быть создана
**delete** — Удаление организации<br/><br/>- **create_team** — Создание команды внутри организации<br/>- **modify_team** — Редактирование команды (модели, RPM, TPM)<br/>- **delete_team** — **только одна организация** в LLMaaS.<br/>Повторная попытка создать организацию для того же контрагента завершится ошибкой.<br/><br/>### Возможные ошибки и как их обрабатывать<br/><br/>При работе с сервисом
Удаление команды<br/><br/>- **create_secrets** — Создание API-ключа<br/>- **update_secrets** — Обновление параметров API-ключа<br/>- **delete_secrets** — Удаление API-ключа<br/><br/>---<br/><br/>## могут возникнуть типовые ошибки. Ниже описано, как их распознать и что делать.<br/><br/>| Ошибка | Когда возникает | Что делать |<br/>|--------|-----------------|------------|<br/>| `Организация в LLMaaS
уже привязана к контрагенту <contragentCode>` | При операции `create`, если организация для данного контрагента уже существует | На одного контрагента допускается только одна организация. Если нужно изменить
существующую организацию, используйте операции управления командами и ключами |<br/>| `Не хватает нужного гранта. Примените реконсиляцию для данного инстанса` | При операциях `create_team`, `modify_team`,
если модель не выдана организации на Layer 1 | Запустите операцию `reconcile` для данного инстанса. Она обновит список моделей, доступных организации, после чего повторите исходную операцию |<br/>| `Лимиты
API-ключа не могут превышать лимиты команды` | При операциях `create_secrets`, `update_secrets` | Уменьшите значения `RPM` и/или `TPM` ключа до уровня команды или увеличьте лимиты самой команды через
`modify_team` |<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create** — Создание организации в LLMaaS<br/>- **delete** — Удаление организации<br/><br/>- **create_team** —
Создание команды внутри организации<br/>- **modify_team** — Редактирование команды (модели, RPM, TPM)<br/>- **delete_team** — Удаление команды<br/><br/>- **create_secrets** — Создание API-ключа<br/>-
**update_secrets** — Обновление параметров API-ключа<br/>- **delete_secrets** — Удаление API-ключа<br/><br/>- **reconcile** — Обновление списка моделей, доступных организации<br/><br/>---<br/><br/>##
2. Параметры создания организации<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании организации:<br/><br/>* **Платформа для развертывания**<br/> Выбирается автоматически, изменять 2. Параметры создания организации<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании организации:<br/><br/>* **Платформа для развертывания**<br/> Выбирается автоматически, изменять
не нужно.<br/><br/>* **Период бюджета**<br/> Срок жизни организации в днях.<br/> Пример: `30`<br/><br/><br/>---<br/><br/>## 3. Параметры создания команды<br/><br/>* **Имя команды**<br/> Уникальное не нужно.<br/><br/>## 3. Параметры создания команды<br/><br/>* **Имя команды**<br/> Уникальное имя команды в рамках организации.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели,
имя команды в рамках организации.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для команды.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Максимальное доступной для команды.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в
количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример: `100000`<br/><br/>---<br/><br/>## минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример: `100000`<br/><br/>---<br/><br/>## 4. Параметры редактирования команды<br/><br/>Для существующей команды
4. Параметры редактирования команды<br/><br/>Для существующей команды можно изменить:<br/><br/>* **Модель**<br/> Новая модель для команды.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту можно изменить:<br/><br/>* **Модель**<br/> Новая модель для команды.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>*
(RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>---<br/><br/>## 5. Параметры создания API-ключа<br/><br/>Ниже **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>---<br/><br/>## 5. Параметры создания API-ключа<br/><br/>Ниже перечислены параметры, которые необходимо указать
перечислены параметры, которые необходимо указать при создании API-ключа:<br/><br/>* **Имя ключа**<br/> Уникальное имя ключа в рамках организации.<br/> Пример: `prod-key`<br/><br/>* **Команда**<br/> Имя при создании API-ключа:<br/><br/>* **Имя ключа**<br/> Уникальное имя ключа в рамках организации.<br/> Пример: `prod-key`<br/><br/>* **Команда**<br/> Имя команды для привязки ключа. Если не указано
команды для привязки ключа. Если не указано — ключ привязывается к команде `main`.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для данного ключа.<br/> Пример: `gpt-oss-120b`<br/><br/>* — ключ привязывается к команде `main`.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для данного ключа.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту
**Лимит запросов в минуту (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример:
+ исходящих) в минуту.<br/> Пример: `100000`<br/><br/>**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.<br/>При превышении операция будет отклонена с ошибкой.<br/>Перед `100000`<br/><br/>**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.<br/>При превышении операция будет отклонена с ошибкой.<br/>Перед созданием ключа убедитесь, что
созданием ключа убедитесь, что `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/><br/>---<br/><br/>## 6. Параметры обновления API-ключа<br/><br/>Для уже существующего ключа можно изменить параметры. Все `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/><br/>---<br/><br/>## 6. Параметры обновления API-ключа<br/><br/>Для уже существующего ключа можно изменить параметры. Все параметры являются опциональными:<br/><br/>*
параметры являются опциональными:<br/><br/>* **Имя ключа**<br/> Имя обновляемого ключа.<br/> Пример: `prod-key`<br/><br/>* **Модель**<br/> Новое название модели.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Имя ключа**<br/> Имя обновляемого ключа.<br/> Пример: `prod-key`<br/><br/>* **Модель**<br/> Новое название модели.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое
**Лимит запросов в минуту (RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>**Важно:** При обновлении значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>**Важно:** При обновлении лимитов API-ключа новые значения не могут
лимитов API-ключа новые значения не могут превышать лимиты команды.<br/>Если указать значения выше командных, операция завершится ошибкой.<br/>Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/>Команда превышать лимиты команды.<br/>Если указать значения выше командных, операция завершится ошибкой.<br/>Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/>Команда определяется автоматически по стейту
определяется автоматически по стейту услуги — изменить привязку к другой команде через эту операцию нельзя.<br/><br/>---<br/><br/>## 7. Параметры удаления API-ключа<br/><br/>* **Команда**<br/> Имя команды, услуги — изменить привязку к другой команде через эту операцию нельзя.<br/><br/>---<br/><br/>## 7. Параметры удаления API-ключа<br/><br/>* **Команда**<br/> Имя команды, к которой привязан ключ.<br/> Пример:
к которой привязан ключ.<br/> Пример: `production`<br/><br/>* **Имя ключа**<br/> Имя удаляемого ключа.<br/> Пример: `prod-key`<br/><br/>---<br/><br/>## 8. Параметры удаления команды<br/><br/>* **Имя `production`<br/><br/>* **Имя ключа**<br/> Имя удаляемого ключа.<br/> Пример: `prod-key`<br/><br/>---<br/><br/>## 8. Параметры удаления команды<br/><br/>* **Имя команды**<br/> Имя удаляемой команды.<br/> Пример:
команды**<br/> Имя удаляемой команды.<br/> Пример: `production`<br/><br/>---<br/><br/>## 9. Параметры удаления организации<br/><br/>Удаление организации не требует дополнительных параметров — удаляется `production`<br/><br/>---<br/><br/>## 9. Параметры удаления организации<br/><br/>Удаление организации не требует дополнительных параметров — удаляется вся организация со всеми командами и ключами.<br/><br/>---<br/><br/>##
вся организация со всеми командами и ключами.<br/><br/>---<br/><br/>## 10. Выходные параметры<br/><br/>После успешного создания организации платформа возвращает:<br/><br/>* **connectionUrl**<br/> URL 10. Выходные параметры<br/><br/>После успешного создания организации платформа возвращает:<br/><br/>* **connectionUrl**<br/> URL для доступа к inference API (OpenAI-совместимый).<br/> Пример: `https://api.aillm.ru`<br/><br/>---<br/><br/><br/>##
для доступа к inference API (OpenAI-совместимый).<br/> Пример: `https://api.aillm.ru`<br/><br/>---<br/><br/><br/>## 12. Пример использования API<br/><br/>После получения API-ключа клиент может обращаться 11. Пример использования API<br/><br/>После получения API-ключа клиент может обращаться к LLMaaS напрямую:<br/><br/>**Запрос к chat completions:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/chat/completions
к LLMaaS напрямую:<br/><br/>**Запрос к chat completions:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/chat/completions \<br/> -H "Authorization: Bearer sk-..." \<br/> -H "Content-Type: application/json" \<br/> -H "Authorization: Bearer sk-..." \<br/> -H "Content-Type: application/json" \<br/> -d ''{<br/> "model": "gpt-oss-120b",<br/> "messages": [<br/> {"role": "user", "content": "Привет!"}<br/> ]<br/> }''<br/>```<br/><br/>**Получение
\<br/> -d ''{<br/> "model": "gpt-oss-120b",<br/> "messages": [<br/> {"role": "user", "content": "Привет!"}<br/> ]<br/> }''<br/>```<br/><br/>**Получение списка доступных моделей:**<br/><br/>```bash<br/>curl списка доступных моделей:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/models \<br/> -H "Authorization: Bearer sk-..."<br/>```<br/>'
https://api.aillm.ru/v1/models \<br/> -H "Authorization: Bearer sk-..."<br/>```<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: false suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -60,6 +66,10 @@ operations:
operation: modify_team operation: modify_team
kind: subresource kind: subresource
action: modify action: modify
- svcOperationId: 412
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 277 - svcOperationId: 277
operation: update_secrets operation: update_secrets
kind: subresource kind: subresource
@@ -202,6 +212,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1157
svcOperationCfsParam: ''
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
271: 271:
- 826 - 826
@@ -227,11 +243,13 @@ cfsParamsByOp:
- 865 - 865
- 873 - 873
- 874 - 874
412: []
277: 277:
- 852 - 852
- 853 - 853
- 854 - 854
- 855 - 855
- 875 - 875
- 1157
stateParams: stateParams:
resourceRealm: llmAi.aillm.ru resourceRealm: llmAi.aillm.ru
+9 -1
View File
@@ -73,6 +73,12 @@ cfsParams:
valueList: valueList:
- iaas - iaas
- saas - saas
- svcOperationCfsParamId: 1125
svcOperationCfsParam: organizationSuffix
dataType: string
isRequired: false
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 871 - svcOperationCfsParamId: 871
svcOperationCfsParam: admins svcOperationCfsParam: admins
dataType: array-map-fixed dataType: array-map-fixed
@@ -110,7 +116,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count: count:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -118,6 +124,7 @@ cfsParamsByOp:
136: 136:
- 418 - 418
- 556 - 556
- 1125
283: 283:
- 871 - 871
137: [] 137: []
@@ -131,3 +138,4 @@ cfsParamsByOp:
stateParams: stateParams:
resourceRealm: sandbox.nubes.ru resourceRealm: sandbox.nubes.ru
organizationType: iaas organizationType: iaas
organizationSuffix: ''
+49 -34
View File
@@ -100,12 +100,12 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
secret: subparam2:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
subparam2: secret:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
@@ -129,6 +129,25 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
param1:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
param2:
dataType: string
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '["1"'
- '"2"'
- '"3"]'
param3:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
bol1: bol1:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -140,18 +159,32 @@ cfsParams:
minStr1: minStr1:
dataType: string dataType: string
defaultValue: abracadabra defaultValue: abracadabra
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- abracadabra - abracadabra
- incorr
- correctvalue
s3-inst:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 654
svcOperationCfsParam: arrayMapFixedExample
dataType: array-map-fixed
isRequired: false
defaultValue: ''
isModifiable: false
dataDescriptor:
param1: param1:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
param2: param2:
dataType: string dataType: string
defaultValue: '1' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
@@ -163,13 +196,6 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 654
svcOperationCfsParam: arrayMapFixedExample
dataType: array-map-fixed
isRequired: false
defaultValue: ''
isModifiable: false
dataDescriptor:
bol1: bol1:
dataType: boolean dataType: boolean
defaultValue: '' defaultValue: ''
@@ -185,25 +211,6 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- abracadabra - abracadabra
param1:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
param2:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '["1"'
- '"2"'
- '"3"]'
param3:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 863 - svcOperationCfsParamId: 863
svcOperationCfsParam: arr svcOperationCfsParam: arr
dataType: array dataType: array
@@ -214,6 +221,12 @@ cfsParams:
- test - test
- '2' - '2'
- val1 - val1
- svcOperationCfsParamId: 1131
svcOperationCfsParam: s3-ref-root
dataType: string
isRequired: false
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 287 - svcOperationCfsParamId: 287
svcOperationCfsParam: durationMs svcOperationCfsParam: durationMs
dataType: integer >= 0 dataType: integer >= 0
@@ -286,6 +299,7 @@ cfsParamsByOp:
- 647 - 647
- 654 - 654
- 863 - 863
- 1131
71: [] 71: []
92: 92:
- 287 - 287
@@ -306,9 +320,10 @@ stateParams:
whereFail: '1' whereFail: '1'
resourceRealm: dummy resourceRealm: dummy
bodymessage: '' bodymessage: ''
mapExample: '{"subparam1": "", "secret": "", "subparam2": ""}' mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
jsonExample: '' jsonExample: ''
nestedRefExample: '' nestedRefExample: ''
mapFixed: '{"bol1": false, "minStr1": "abracadabra", "param1": 1, "param2": "1", "param3": 1}' mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra", "s3-inst": ""}'
arrayMapFixedExample: '{"bol1": false, "minStr1": "", "param1": 0, "param2": "", "param3": 1}' arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
arr: '' arr: ''
s3-ref-root: ''
+12 -4
View File
@@ -84,12 +84,12 @@ cfsParams:
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 397 - svcOperationCfsParamId: 397
svcOperationCfsParam: cpuGuaranteed svcOperationCfsParam: cpuGuaranteed
dataType: integer > 0 dataType: integer >= 0
isRequired: true isRequired: true
defaultValue: '20' defaultValue: '0'
isModifiable: false isModifiable: false
valueList: valueList:
- '20' - '0'
- '50' - '50'
- '80' - '80'
- svcOperationCfsParamId: 557 - svcOperationCfsParamId: 557
@@ -110,6 +110,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1130
svcOperationCfsParam: suffixName
dataType: string
isRequired: false
defaultValue: 7uabwsgb
isModifiable: false
- svcOperationCfsParamId: 560 - svcOperationCfsParamId: 560
svcOperationCfsParam: cpuAllocated svcOperationCfsParam: cpuAllocated
dataType: integer > 0 dataType: integer > 0
@@ -148,6 +154,7 @@ cfsParamsByOp:
- 557 - 557
- 558 - 558
- 746 - 746
- 1130
24: [] 24: []
112: 112:
- 560 - 560
@@ -160,7 +167,8 @@ stateParams:
organizationUid: '' organizationUid: ''
providerVdc: '' providerVdc: ''
storageConfig: '{"name": "", "size": 2000}' storageConfig: '{"name": "", "size": 2000}'
cpuGuaranteed: '20' cpuGuaranteed: '0'
cpuAllocated: '80' cpuAllocated: '80'
memAllocated: '200' memAllocated: '200'
networkProvider: '' networkProvider: ''
suffixName: 7uabwsgb
+47
View File
@@ -88,6 +88,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1110
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: 10.10.102.0/24
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: 81.22.46.22
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: 185.247.187.77
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 368 - svcOperationCfsParamId: 368
svcOperationCfsParam: needEnableAVI svcOperationCfsParam: needEnableAVI
dataType: boolean dataType: boolean
@@ -115,6 +137,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1112
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
10: 10:
- 8 - 8
@@ -123,12 +167,14 @@ cfsParamsByOp:
- 621 - 621
- 622 - 622
- 825 - 825
- 1110
25: [] 25: []
111: 111:
- 368 - 368
- 369 - 369
- 372 - 372
- 856 - 856
- 1112
252: [] 252: []
stateParams: stateParams:
vdcUid: '' vdcUid: ''
@@ -137,3 +183,4 @@ stateParams:
vdcType: vdc vdcType: vdc
vdcGroupUid: '' vdcGroupUid: ''
qosProfile: '' qosProfile: ''
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
+1 -1
View File
@@ -1,6 +1,6 @@
name: vcexternalip name: vcexternalip
service_id: 25 service_id: 25
service_display_name: Публичные IP адреса service_display_name: '[DEPRECATED] Публичные IP адреса'
service_short_name: vcexternalip service_short_name: vcexternalip
service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать
публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра
+2 -2
View File
@@ -52,7 +52,7 @@ cfsParams:
svcOperationCfsParam: vappName svcOperationCfsParam: vappName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: hf1t7p5c defaultValue: j8lanwbr
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 623 - svcOperationCfsParamId: 623
svcOperationCfsParam: vdcUid svcOperationCfsParam: vdcUid
@@ -71,5 +71,5 @@ cfsParamsByOp:
208: [] 208: []
stateParams: stateParams:
nsxtUid: '' nsxtUid: ''
vappName: hf1t7p5c vappName: j8lanwbr
vdcUid: '' vdcUid: ''
+112 -24
View File
@@ -83,11 +83,22 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 411 - svcOperationCfsParamId: 411
svcOperationCfsParam: vmDisk svcOperationCfsParam: vmDisks
dataType: integer > 0 dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: '[{"busNum": 0, "size": "20"}]'
isModifiable: true isModifiable: true
dataDescriptor:
busNum:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
size:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 412 - svcOperationCfsParamId: 412
svcOperationCfsParam: ipSpaceName svcOperationCfsParam: ipSpaceName
dataType: string dataType: string
@@ -96,9 +107,9 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 413 - svcOperationCfsParamId: 413
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: array
isRequired: false isRequired: false
defaultValue: '' defaultValue: '["0.0.0.0/0"]'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 414 - svcOperationCfsParamId: 414
svcOperationCfsParam: imageVm svcOperationCfsParam: imageVm
@@ -126,10 +137,34 @@ cfsParams:
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 448 - svcOperationCfsParamId: 448
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '["22"]' defaultValue: '[{"port": "22", "type": "tcp"}, {"port": "10050", "type": "tcp"}]'
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: '22'
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1118
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: false
defaultValue: 'false'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 493 - svcOperationCfsParamId: 493
svcOperationCfsParam: vmCpu svcOperationCfsParam: vmCpu
dataType: integer > 0 dataType: integer > 0
@@ -143,22 +178,28 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 495 - svcOperationCfsParamId: 495
svcOperationCfsParam: vmDisk svcOperationCfsParam: vmDisks
dataType: integer > 0 dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
busNum:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
size:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 496 - svcOperationCfsParamId: 496
svcOperationCfsParam: ipSpaceName svcOperationCfsParam: ipSpaceName
dataType: string dataType: string
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 497 - svcOperationCfsParamId: 497
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -167,10 +208,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 498 - svcOperationCfsParamId: 498
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1119
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 509 - svcOperationCfsParamId: 509
svcOperationCfsParam: vmName svcOperationCfsParam: vmName
dataType: string dataType: string
@@ -201,11 +266,6 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 514 - svcOperationCfsParamId: 514
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -242,10 +302,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 520 - svcOperationCfsParamId: 520
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1123
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
cfsParamsByOp: cfsParamsByOp:
132: 132:
- 407 - 407
@@ -260,6 +344,7 @@ cfsParamsByOp:
- 416 - 416
- 417 - 417
- 448 - 448
- 1118
133: [] 133: []
159: 159:
- 493 - 493
@@ -268,6 +353,7 @@ cfsParamsByOp:
- 496 - 496
- 497 - 497
- 498 - 498
- 1119
286: [] 286: []
164: 164:
- 509 - 509
@@ -281,6 +367,7 @@ cfsParamsByOp:
- 517 - 517
- 518 - 518
- 520 - 520
- 1123
135: [] 135: []
134: [] 134: []
stateParams: stateParams:
@@ -288,11 +375,12 @@ stateParams:
vmName: web01 vmName: web01
vmCpu: '1' vmCpu: '1'
vmRam: '1' vmRam: '1'
vmDisk: '' vmDisks: '{"busNum": 0, "size": 1}'
ipSpaceName: '' ipSpaceName: ''
accessIpList: '' accessIpList: '["0.0.0.0/0"]'
imageVm: '' imageVm: ''
cloudInit: '' cloudInit: ''
userLogin: myuser userLogin: myuser
userPublicKey: '' userPublicKey: ''
accessPortList: '["22"]' accessPortList: '{"port": "22", "type": "all"}'
sameSnat: 'false'
+22 -23
View File
@@ -44,11 +44,6 @@ cfsParams:
defaultValue: '100' defaultValue: '100'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk:
dataType: integer > 0
defaultValue: '5'
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '128' defaultValue: '128'
@@ -59,6 +54,11 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk:
dataType: integer > 0
defaultValue: '5'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 814 - svcOperationCfsParamId: 814
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -72,10 +72,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 815 - svcOperationCfsParamId: 815
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -83,11 +82,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
type: type:
dataType: string dataType: string
defaultValue: ingress defaultValue: ingress
@@ -98,7 +92,7 @@ cfsParams:
- service - service
domain: domain:
dataType: string dataType: string
defaultValue: abracadabra-aoy3qnll defaultValue: abracadabra-i5kntoh3
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterIpSpace: masterIpSpace:
@@ -116,6 +110,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 816 - svcOperationCfsParamId: 816
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -128,13 +127,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk: memory:
dataType: integer >= 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
memory: disk:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -168,13 +167,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList: slaveIpSpace:
dataType: json dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveIpSpace: masterAccessList:
dataType: string dataType: json
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -196,6 +195,6 @@ cfsParamsByOp:
98: [] 98: []
97: [] 97: []
stateParams: stateParams:
clusterConfiguration: '{"cpu": 100, "disk": 5, "memory": 128, "replicas": 1}' clusterConfiguration: '{"cpu": 100, "memory": 128, "replicas": 1, "disk": 5}'
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
accessConfiguration: '{"slaveAccessList": "[]", "type": "ingress", "domain": "abracadabra-aoy3qnll", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": ""}' accessConfiguration: '{"type": "ingress", "domain": "abracadabra-i5kntoh3", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
+97 -57
View File
@@ -2,7 +2,49 @@ name: nextcloud
service_id: 50 service_id: 50
service_display_name: Nextcloud service_display_name: Nextcloud
service_short_name: nextcloud service_short_name: nextcloud
service_man: 'Ресурсная платформа: k8s. Автоматизация: helm chart' service_man: '# Инструкция по развертыванию Nextcloud через платформу<br/><br/>## 1. Общая информация<br/><br/>Nextcloud — платформа для хранения и совместной работы с файлами. Разворачивается в K8s через
Helm-чарт `nextcloud/nextcloud`.<br/><br/>Сервис **не самодостаточен** — для создания необходимы заранее развёрнутые в той же ресурсной платформе:<br/><br/>* **PostgreSQL (k8s)** — база данных Nextcloud.
У СУБД должен быть выставлен параметр `sslRequired: false`.<br/>* **Redis (k8s)** — используется как memcache/locking backend.<br/><br/>Резервное копирование выполняется через **Velero** (бэкапятся под
и PVC с данными), а не штатным S3-бэкапом СУБД.<br/><br/>### Доступные операции с сервисом<br/><br/>* **create** — создание сервиса<br/>* **delete** — удаление сервиса<br/>* **suspend** —
остановка сервиса (масштабирование реплик в 0)<br/>* **resume** — запуск сервиса<br/>* **restart** — перезапуск (`kubectl rollout restart`)<br/>* **modify** — изменение настроек
сервиса<br/>* **reconcile** — служебная операция синхронизации версии (запускается платформой автоматически)<br/>* **create_backup** — создание резервной копии вручную (через Velero)<br/>* **recovery** —
восстановление из резервной копии в **новый** инстанс<br/><br/>> **Примечание:** операций работы с пользователями Nextcloud (`create_user`/`modify_user`/`delete_user`) на уровне платформы нет — пользователи
приложения администрируются внутри самого Nextcloud.<br/><br/>---<br/><br/>## 2. Параметры создания сервиса<br/><br/>### Платформа для развертывания<br/><br/>Ресурсная платформа (`resourceRealm`), в которой
будет развёрнут сервис. PostgreSQL и Redis, указанные ниже, обязаны находиться в той же ресурсной платформе.<br/><br/>### СУБД PostgreSQL (psqlUid)<br/><br/>UID инстанса PostgreSQL (k8s), в котором будет
создана база и пользователь `nextcloud`.<br/><br/>* У выбранной СУБД должна отсутствовать база `nextcloud` и пользователь `nextcloud`.<br/>* У СУБД обязан быть выключен `sslMode` (`false`).<br/><br/>###
СУБД Redis (redisUid)<br/><br/>UID инстанса Redis (k8s), который будет использоваться как memcache/locking backend.<br/><br/>### Количество реплик<br/><br/>Количество реплик Nextcloud (`clusterConfiguration.replicas`).<br/><br/>###
Квота памяти пода (MB)<br/><br/>Объём памяти для пода Nextcloud в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода Nextcloud в миликорах (1000 mCPU = 1 vCPU).<br/>Пример:
`1000`<br/><br/>### Размер диска для данных (GB)<br/><br/>Объём диска под данные Nextcloud (`/var/www/html/data`) в гигабайтах.<br/>Пример: `20`<br/><br/>### Домен<br/><br/>Домен, на котором будет доступен
Nextcloud (`accessConfiguration.domain`).<br/><br/>* Если указано **полное доменное имя** (содержит точку, например `cloud.company.ru`) — домен считается клиентским. Перед созданием клиент обязан сам
настроить DNS-запись, указывающую на адрес Ingress платформы, иначе создание завершится ошибкой.<br/>* Если указано **короткое имя** (без точки, например `mycloud`) — платформа сама создаёт DNS-запись
вида `<domain>.nextcloudk8s` и настраивает сертификат.<br/><br/>### Версия<br/><br/>Версия приложения Nextcloud (`appConfiguration.version`, поле `appVersion` Helm-чарта). По ней автоматически подбирается
последняя подходящая версия Helm-чарта.<br/><br/>### Document Server<br/><br/>Параметр `appConfiguration.documentServer`. Если указать `collabora` — в кластер дополнительно разворачивается Collabora Online
(совместное редактирование офисных документов), доступный по пути `/collabora` на том же домене.<br/>Оставьте пустым, если Document Server не нужен.<br/><br/>### Уровень логирования<br/><br/>Параметр
`appConfiguration.logLevel`. Одно из значений: `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, либо `NONE` — чтобы не переопределять логирование Nextcloud.<br/><br/>---<br/><br/>## 3. Параметры модификации
сервиса<br/><br/>Изменению подлежат ресурсы, версия и часть `appConfiguration`. Параметры `psqlUid`/`redisUid` менять после создания не рекомендуется.<br/><br/>### Количество реплик<br/><br/>См. раздел
2.<br/><br/>### Квота памяти пода (MB) / Квота CPU пода (mCPU) / Размер диска (GB)<br/><br/>См. раздел 2.<br/><br/>> **Примечание:** уменьшить уже выделенный размер диска нельзя.<br/><br/>### Версия<br/><br/>Обновление
версии разрешено только **на один патч** либо **на одну минорную версию вперёд** (с `patch=0`). Прыжок сразу через несколько минорных версий или через несколько мажорных версий запрещён — обновляться
нужно последовательно.<br/><br/>> **Примечание:** перед обновлением на новую minor/major-версию необходимо сначала выполнить `modify` на текущей версии, обновившись до последнего релиза этой версии (иначе
операция завершится ошибкой с описанием, до какой версии нужно обновиться сначала).<br/><br/>### Document Server / Уровень логирования<br/><br/>См. раздел 2.<br/><br/>---<br/><br/>## 4. Параметры удаления
сервиса<br/><br/>Специальных параметров нет — удаление сносит namespace целиком.<br/><br/>> **Примечание:** резервные копии, созданные через `create_backup`, хранятся в Velero отдельно от инстанса и **не
удаляются** вместе с сервисом — операции `delete_backup` для Nextcloud нет, копии нужно вычищать на стороне Velero отдельно.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>Специальных
пользовательских параметров нет — имя бэкапа генерируется автоматически в формате `<дата>-<версия>-<namespace>`.<br/><br/>> **Примечание:** создать бэкап можно только если сервис предварительно приостановлен
(`suspend`). Velero, в который создаётся бэкап, должен быть развёрнут в той же ресурсной платформе, что и Nextcloud, и не может быть сменён на другой Velero-инстанс в рамках одного сервиса.<br/><br/>Бэкапится
под с данными вместе с PVC/PV (файлы), метаданные и БД PostgreSQL бэкапом не затрагиваются — версия схемы БД фиксируется отдельно (см. раздел 6).<br/><br/>---<br/><br/>## 6. Параметры восстановления из
бэкапа (recovery)<br/><br/>В отличие от СУБД-сервисов, `recovery` у Nextcloud **не восстанавливает данные в текущий инстанс**, а создаёт **новый** инстанс сервиса (аналог `create`), в который переносятся
файлы из указанной резервной копии.<br/><br/>### Точка восстановления (recoveryPoint)<br/><br/>Имя резервной копии Velero, из которой будет выполнено восстановление.<br/><br/>### Домен нового инстанса<br/><br/>Обязан
отличаться от домена исходного (текущего) инстанса — восстановление на тот же домен не поддерживается.<br/><br/>### СУБД PostgreSQL нового инстанса<br/><br/>Если версия Nextcloud в бэкапе отличается от
текущей версии инстанса, для нового инстанса обязательно нужно указать **другую** СУБД PostgreSQL (нельзя восстанавливать бэкап со старой схемой БД поверх БД с более новой схемой).<br/><br/>---<br/><br/>##
7. Выходные параметры<br/><br/>После успешного создания сервиса платформа возвращает:<br/><br/>### connectionUrl<br/><br/>Адрес для входа в Nextcloud: `https://<домен>`.<br/><br/>### namespace<br/><br/>Namespace
в K8s-кластере, в котором развёрнут сервис.<br/><br/>### Учётные данные (Vault)<br/><br/>В Vault сохраняется пароль администратора (`adminPass`) под логином `admin`.<br/><br/>---<br/><br/>## 8. Пример
подключения<br/><br/>Откройте `connectionUrl` в браузере и авторизуйтесь:<br/><br/>* **Логин:** `admin`<br/>* **Пароль:** значение `adminPass` из блока «Учётные данные» в Vault<br/><br/>---<br/><br/>##
9. Дополнительная информация<br/><br/>### Зависимости<br/><br/>Nextcloud нельзя создать без уже существующих в том же `resourceRealm` сервисов PostgreSQL (k8s, `sslRequired: false`) и Redis (k8s). При
`delete` зависимые СУБД и Redis не трогаются — удаляется только сам Nextcloud.<br/><br/>### suspend/resume<br/><br/>При `suspend` количество реплик Nextcloud, Collabora и exporter''а метрик принудительно
выставляется в `0` через `helm upgrade` (реальное масштабирование, а не просто пауза cron). При `resume` реплики возвращаются к значению из `clusterConfiguration.replicas`.<br/><br/>### Collabora<br/><br/>Собирается
из отдельного `image.repository: nexus-sa.tst.nubes.ru/collabora/code` и включается только при `appConfiguration.documentServer == ''collabora''`. Доступен на том же домене и том же TLS-сертификате, что
и сам Nextcloud, по пути `/collabora`.<br/><br/>### Бэкап/восстановление через Velero<br/><br/>Бэкап/восстановление файлов идёт через Velero с селектором `backup=<serviceName>-velero-backup` и включает
под, PVC и PV — то есть непосредственно файлы `/var/www/html/data`. Восстановление БД в новый инстанс выполняется штатным механизмом `create` с параметром `instanceUidFrom`, который проставляет `recovery`-джоба
автоматически.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -53,21 +95,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
redisUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
resourceRealm: resourceRealm:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
psqlEnabled: psqlEnabled:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -87,6 +123,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
redisUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1056 - svcOperationCfsParamId: 1056
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -94,19 +135,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1000' defaultValue: '1000'
@@ -131,6 +159,19 @@ cfsParams:
- '6144' - '6144'
- '7168' - '7168'
- '8192' - '8192'
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1057 - svcOperationCfsParamId: 1057
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -140,7 +181,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-vjp2crbf defaultValue: nextcloud-gsjkslra
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1058 - svcOperationCfsParamId: 1058
@@ -239,18 +280,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
logLevel:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
version: version:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -265,6 +294,18 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- collabora - collabora
logLevel:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
- svcOperationCfsParamId: 1078 - svcOperationCfsParamId: 1078
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -278,20 +319,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlEnabled: psqlEnabled:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -306,6 +336,11 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- 'true' - 'true'
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlUid: psqlUid:
dataType: uuid dataType: uuid
defaultValue: '' defaultValue: ''
@@ -316,6 +351,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1079 - svcOperationCfsParamId: 1079
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -366,7 +406,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-dcxz2gqv defaultValue: nextcloud-cpp3zfhe
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1081 - svcOperationCfsParamId: 1081
@@ -376,6 +416,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
documentServer:
dataType: string
defaultValue: collabora
isRequired: true
isModifiable: false
valueList:
- collabora
logLevel: logLevel:
dataType: string dataType: string
defaultValue: NONE defaultValue: NONE
@@ -393,13 +440,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
documentServer:
dataType: string
defaultValue: collabora
isRequired: true
isModifiable: false
valueList:
- collabora
cfsParamsByOp: cfsParamsByOp:
16: 16:
- 1055 - 1055
@@ -422,7 +462,7 @@ cfsParamsByOp:
129: [] 129: []
128: [] 128: []
stateParams: stateParams:
startupConfiguration: '{"redisUid": "", "resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": ""}' startupConfiguration: '{"resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}'
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 1000, "memory": 1024}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}'
accessConfiguration: '{"domain": "nextcloud-vjp2crbf"}' accessConfiguration: '{"domain": "nextcloud-gsjkslra"}'
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}' appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
+1 -2
View File
@@ -54,10 +54,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 227 - svcOperationCfsParamId: 227
svcOperationCfsParam: resourceInstances svcOperationCfsParam: resourceInstances
dataType: integer > 0 dataType: integer > 0
+59 -8
View File
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация: процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
keycloak' keycloak'
lifecycle: lifecycle:
suspendOnDestroyDefault: false suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
operations: operations:
- svcOperationId: 14 - svcOperationId: 14
@@ -22,6 +22,18 @@ operations:
operation: modify operation: modify
kind: instance kind: instance
action: modify action: modify
- svcOperationId: 405
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 415
operation: resume
kind: instance
action: resume
- svcOperationId: 416
operation: suspend
kind: instance
action: suspend
stateOut: {} stateOut: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 16 - svcOperationCfsParamId: 16
@@ -37,21 +49,20 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 228 - svcOperationCfsParamId: 228
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '100' defaultValue: '1000'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 229 - svcOperationCfsParamId: 229
svcOperationCfsParam: resourceMemory svcOperationCfsParam: resourceMemory
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '200' defaultValue: '1024'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 230 - svcOperationCfsParamId: 230
svcOperationCfsParam: resourceInstances svcOperationCfsParam: resourceInstances
@@ -62,9 +73,33 @@ cfsParams:
- svcOperationCfsParamId: 231 - svcOperationCfsParamId: 231
svcOperationCfsParam: s3Uid svcOperationCfsParam: s3Uid
dataType: uuid dataType: uuid
isRequired: true isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1126
svcOperationCfsParam: pvType
dataType: string
isRequired: true
defaultValue: s3
isModifiable: false
valueList:
- s3
- local
- svcOperationCfsParamId: 1127
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: '5'
isModifiable: true
- svcOperationCfsParamId: 1128
svcOperationCfsParam: authType
dataType: string
isRequired: true
defaultValue: local
isModifiable: false
valueList:
- local
- keycloak
- svcOperationCfsParamId: 822 - svcOperationCfsParamId: 822
svcOperationCfsParam: resourceInstances svcOperationCfsParam: resourceInstances
dataType: integer > 0 dataType: integer > 0
@@ -83,6 +118,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1129
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
14: 14:
- 16 - 16
@@ -91,15 +132,25 @@ cfsParamsByOp:
- 229 - 229
- 230 - 230
- 231 - 231
- 1126
- 1127
- 1128
15: [] 15: []
270: 270:
- 822 - 822
- 823 - 823
- 824 - 824
- 1129
405: []
415: []
416: []
stateParams: stateParams:
domain: harbor-1 domain: harbor-1
resourceRealm: '' resourceRealm: ''
resourceCPU: '100' resourceCPU: '1000'
resourceMemory: '200' resourceMemory: '1024'
resourceInstances: '1' resourceInstances: '1'
s3Uid: '' s3Uid: ''
pvType: s3
resourceDisk: '5'
authType: local
+1 -2
View File
@@ -71,10 +71,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 964 - svcOperationCfsParamId: 964
svcOperationCfsParam: nodeAgentConfiguration svcOperationCfsParam: nodeAgentConfiguration
dataType: map-fixed dataType: map-fixed
+254
View File
@@ -0,0 +1,254 @@
name: k8svalkey
service_id: 87
service_display_name: Valkey
service_short_name: k8svalkey
service_man: Valkey-кластер.<br/>Пока в статусе EXPEREMENTAL
lifecycle:
suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 396
operation: create
kind: instance
action: create
- svcOperationId: 401
operation: create_user
kind: subresource
action: create
- svcOperationId: 395
operation: delete
kind: instance
action: delete
- svcOperationId: 402
operation: delete_user
kind: subresource
action: delete
- svcOperationId: 400
operation: modify
kind: instance
action: modify
- svcOperationId: 397
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 399
operation: resume
kind: instance
action: resume
- svcOperationId: 398
operation: suspend
kind: instance
action: suspend
stateOut:
users: {}
cfsParams:
- svcOperationCfsParamId: 1066
svcOperationCfsParam: startupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
resourceRealm:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1067
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
shards:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
- '4'
- '5'
- svcOperationCfsParamId: 1068
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1071
svcOperationCfsParam: valkeyConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
version:
dataType: string
defaultValue: 0.1.0
isRequired: true
isModifiable: false
valueList:
- 0.1.0
- svcOperationCfsParamId: 1072
svcOperationCfsParam: valkeyConf
dataType: array-map-fixed
isRequired: false
defaultValue: ''
isModifiable: false
dataDescriptor:
paramName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
paramValue:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1073
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 1074
svcOperationCfsParam: permissions
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 1075
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1069
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
shards:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
- '4'
- '5'
- svcOperationCfsParamId: 1070
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
masterAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp:
396:
- 1066
- 1067
- 1068
- 1071
- 1072
401:
- 1073
- 1074
395: []
402:
- 1075
400:
- 1069
- 1070
397: []
399: []
398: []
stateParams:
startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 500, "disk": 10, "memory": 512, "replicas": 1, "shards": 1}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
valkeyConfiguration: '{"version": "0.1.0"}'
valkeyConf: '{"paramName": "", "paramValue": ""}'
+74
View File
@@ -0,0 +1,74 @@
name: k8s_ziti_controller
service_id: 88
service_display_name: k8sZitiController
service_short_name: k8sZitiController
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 99
operation: create
kind: instance
action: create
- svcOperationId: 105
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 294
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '300'
isModifiable: false
- svcOperationCfsParamId: 295
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: false
- svcOperationCfsParamId: 296
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 297
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 298
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 299
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: k8sZitiController-1
isModifiable: false
cfsParamsByOp:
99:
- 294
- 295
- 296
- 297
- 298
- 299
105: []
stateParams:
resourceCPU: '300'
resourceMemory: '512'
resourceDisk: '1'
resourceInstances: '1'
resourceRealm: ''
domain: k8sZitiController-1
+19 -21
View File
@@ -66,10 +66,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1038 - svcOperationCfsParamId: 1038
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -106,7 +105,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: flask-ub0sbq5h defaultValue: flask-67i6r0en
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1040 - svcOperationCfsParamId: 1040
@@ -116,13 +115,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: '3.12'
isRequired: true
isModifiable: false
valueList:
- '3.12'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
@@ -133,6 +125,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: '3.12'
isRequired: true
isModifiable: false
valueList:
- '3.12'
- svcOperationCfsParamId: 1041 - svcOperationCfsParamId: 1041
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -173,13 +172,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -190,6 +182,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
- svcOperationCfsParamId: 1044 - svcOperationCfsParamId: 1044
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -209,10 +208,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
cfsParamsByOp: cfsParamsByOp:
376: 376:
- 1037 - 1037
@@ -233,6 +231,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "flask-ub0sbq5h"}' accessConfiguration: '{"domain": "flask-67i6r0en"}'
appConfiguration: '{"version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": ""}' appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
jsonEnv: '{}' jsonEnv: '{}'
+183 -116
View File
@@ -101,6 +101,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -116,16 +126,6 @@ cfsParams:
defaultValue: '10' defaultValue: '10'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 789 - svcOperationCfsParamId: 789
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -139,10 +139,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 790 - svcOperationCfsParamId: 790
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -150,11 +149,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -170,6 +164,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 791 - svcOperationCfsParamId: 791
svcOperationCfsParam: postgresConfiguration svcOperationCfsParam: postgresConfiguration
dataType: map-fixed dataType: map-fixed
@@ -183,16 +182,10 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: - '15'
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
poolerMaster: poolerMaster:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -209,25 +202,41 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
sslRequired:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 792 - svcOperationCfsParamId: 792
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: '100'
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 793 - svcOperationCfsParamId: 793
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -237,9 +246,9 @@ cfsParams:
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: string
defaultValue: '' defaultValue: 00000000-0000-0000-0000-000000000000
isRequired: true isRequired: false
isModifiable: false isModifiable: false
retain: retain:
dataType: integer > 0 dataType: integer > 0
@@ -251,6 +260,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: '0'
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 794 - svcOperationCfsParamId: 794
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -258,15 +272,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -290,6 +295,15 @@ cfsParams:
defaultValue: '100' defaultValue: '100'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 1094 - svcOperationCfsParamId: 1094
svcOperationCfsParam: mtlsConfiguration svcOperationCfsParam: mtlsConfiguration
dataType: map-fixed dataType: map-fixed
@@ -297,11 +311,6 @@ cfsParams:
defaultValue: '{}' defaultValue: '{}'
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
certServer:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
type: type:
dataType: string dataType: string
defaultValue: 'off' defaultValue: 'off'
@@ -318,7 +327,7 @@ cfsParams:
isModifiable: false isModifiable: false
durationServer: durationServer:
dataType: integer > 0 dataType: integer > 0
defaultValue: '87600' defaultValue: '43800'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
certCA: certCA:
@@ -326,6 +335,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
certServer:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 741 - svcOperationCfsParamId: 741
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
dataType: string dataType: string
@@ -455,6 +469,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: sslRequired:
@@ -480,24 +495,32 @@ cfsParams:
- 'true' - 'true'
- svcOperationCfsParamId: 798 - svcOperationCfsParamId: 798
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramValue: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
paramName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
log_disconnections:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 799 - svcOperationCfsParamId: 799
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -505,11 +528,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain: retain:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -520,6 +538,16 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 800 - svcOperationCfsParamId: 800
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -527,20 +555,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
quota:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: '' defaultValue: ''
@@ -559,6 +573,20 @@ cfsParams:
- '5' - '5'
- '12' - '12'
- '23' - '23'
quota:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 1095 - svcOperationCfsParamId: 1095
svcOperationCfsParam: mtlsConfiguration svcOperationCfsParam: mtlsConfiguration
dataType: map-fixed dataType: map-fixed
@@ -566,6 +594,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
type:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'off'
- manual
- auto
durationCA: durationCA:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -594,15 +631,6 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
type:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'off'
- manual
- auto
- svcOperationCfsParamId: 801 - svcOperationCfsParamId: 801
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -616,10 +644,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
recoveryPoint: recoveryPoint:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -632,6 +659,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '512' defaultValue: '512'
@@ -652,11 +684,6 @@ cfsParams:
defaultValue: '10' defaultValue: '10'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 803 - svcOperationCfsParamId: 803
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -664,6 +691,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
masterAccessList: masterAccessList:
dataType: json dataType: json
defaultValue: '[]' defaultValue: '[]'
@@ -679,11 +711,6 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 804 - svcOperationCfsParamId: 804
svcOperationCfsParam: postgresConfiguration svcOperationCfsParam: postgresConfiguration
dataType: map-fixed dataType: map-fixed
@@ -725,23 +752,31 @@ cfsParams:
- 'true' - 'true'
- svcOperationCfsParamId: 805 - svcOperationCfsParamId: 805
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 806 - svcOperationCfsParamId: 806
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -765,6 +800,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 807 - svcOperationCfsParamId: 807
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -804,6 +844,32 @@ cfsParams:
- '10' - '10'
- '15' - '15'
- '20' - '20'
- svcOperationCfsParamId: 1106
svcOperationCfsParam: mtlsConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
type:
dataType: string
defaultValue: 'off'
isRequired: true
isModifiable: false
valueList:
- 'off'
- manual
- auto
durationCA:
dataType: integer > 0
defaultValue: '175200'
isRequired: true
isModifiable: false
durationServer:
dataType: integer > 0
defaultValue: '87600'
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
19: 19:
- 788 - 788
@@ -845,15 +911,16 @@ cfsParamsByOp:
- 805 - 805
- 806 - 806
- 807 - 807
- 1106
54: [] 54: []
114: [] 114: []
115: [] 115: []
stateParams: stateParams:
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 500, "memory": 512}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
accessConfiguration: '{"slaveAccessList": "[]", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}' postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
postgresConf: '{"paramName": "", "paramValue": ""}' postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
autoscaleConfiguration: '{"percent": 10, "enabled": false, "schedule": 0, "quota": 100}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
mtlsConfiguration: '{"certServer": "", "type": "off", "durationCA": 175200, "durationServer": 87600, "certCA": ""}' mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 43800, "certCA": "", "certServer": ""}'
+6 -7
View File
@@ -46,10 +46,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1062 - svcOperationCfsParamId: 1062
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -116,6 +115,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -136,11 +140,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1065 - svcOperationCfsParamId: 1065
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
+177 -39
View File
@@ -3,34 +3,65 @@ service_id: 92
service_display_name: MongoDB service_display_name: MongoDB
service_short_name: mongodb service_short_name: mongodb
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** — горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
**Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение
Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
`["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать нечётное созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества узлов ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>###
Включить TLS<br/><br/>Булевый параметр. Определяет режим работы TLS кластера.<br/><br/>- `true` — TLS включён (`tls.mode: allowTLS`). Сертификаты сохраняются в Vault.<br/>- `false` — TLS выключен (`tls.mode:
disabled`).<br/><br/>По умолчанию: `false`.<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система
автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать
нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества
узлов после создания кластера не рекомендуется.<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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>### `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует, их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к "Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или (созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<br/><br/>Список имён резервных копий
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину для удаления.<br/>Пример: `["manual-20260904", "cron-mongok8s-...-20260903020000"]`<br/><br/>---<br/><br/>## 8. Параметры создания пользователя<br/><br/>### Имя пользователя<br/><br/>Указывается имя пользователя
и паролю.' (любой регистр).<br/>Пример: `readApp`<br/><br/>> **Примечание:** имя пользователя должно быть уникальным в рамках кластера. Если пользователь<br/>> с таким именем уже существует, операция завершится
ошибкой — используйте `modify_user` для<br/>> изменения прав или `delete_user` + `create_user` для пересоздания.<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если
база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner**
— полный контроль над базой данных<br/>* **dbAdmin** — администрирование базы данных (индексы, статистика, схема) без доступа к чтению/записи данных<br/><br/>---<br/><br/>## 9. Параметры модификации пользователя<br/><br/>###
Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой
относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/>* **dbAdmin**<br/><br/>---<br/><br/>##
10. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для удаления.<br/><br/>---<br/><br/>## 11. Выходные параметры<br/><br/>После успешного развертывания
базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних
интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>> **Важно:** оба эндпоинта — это Kubernetes
Service на весь replset, а не адрес конкретно<br/>> primary-узла. Kubernetes не отслеживает, кто из узлов сейчас primary, поэтому новое<br/>> подключение без параметра `replicaSet` может попасть на secondary
и упасть с ошибкой записи<br/>> `not writable primary`. Обязательно указывайте `replicaSet=rs0` в строке подключения (см.<br/>> примеры ниже) — тогда драйвер сам обнаружит топологию кластера и всегда
направит запись на<br/>> актуальный primary, независимо от количества реплик и от того, происходили ли выборы.<br/><br/>---<br/><br/>## 12. Пример подключения<br/><br/>Перед подключением необходимо установить
**mongosh**.<br/><br/>### 12.1 Подключение без TLS<br/><br/>Для внутреннего подключения из той же сети:<br/><br/>```<br/>mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>?authSource=admin&replicaSet=rs0"<br/>```<br/><br/>###
12.2 Подключение через внешний endpoint с TLS<br/><br/>Кластер требует клиентский TLS-сертификат (mutual TLS). Сертификаты сохраняются в Vault при создании кластера в блоке `cer` в полях `ca`, `cer`,
`key` в кодировке base64.<br/><br/>Подготовка файлов:<br/><br/>```bash<br/># Декодировать сертификаты из Vault<br/>echo "<ca из блока Учётные данные>" | base64 -d > ca.crt<br/>echo "<cer из из блока Учётные
данные" | base64 -d > tls.crt<br/>echo "<key из из блока Учётные данные>" | base64 -d > tls.key<br/><br/># Собрать клиентский PEM<br/>cat tls.key tls.crt > client.pem<br/>```<br/><br/>Подключение:<br/><br/>```<br/>mongosh
"mongodb://<username>:<password>@<external_endpoint_db>:27017/<dbName>?tls=true&tlsCAFile=ca.crt&tlsCertificateKeyFile=client.pem&authSource=admin&replicaSet=rs0"<br/>```<br/><br/>Где:<br/><br/>* `<username>`
— имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect (для подключения без TLS)<br/>* `<external_endpoint_db>` — externalConnect (для внешнего подключения с TLS)<br/>*
`<dbName>` — имя базы данных<br/><br/>## 13. Дополнительная информация<br/><br/>Режим TLS задаётся параметром `mongoConfiguration.tls` только при создании кластера.<br/>После создания изменение TLS через
модификацию не поддерживается.<br/><br/>- При `true` кластер разворачивается с включённым TLS (`tls.mode: allowTLS`). Сервер принимает как обычные, так и TLS-соединения.<br/>- При `false` TLS выключен
(`tls.mode: disabled`).<br/><br/>Для внешнего подключения (`externalConnect`) используется сертификат, выпущенный через cert-manager, с SAN, покрывающим внешний DNS-адрес кластера — поэтому `tlsAllowInvalidHostnames`
не требуется, хост проверяется как обычно.<br/><br/>Внутренние подключения TLS-сертификат не используют вообще: режим `allowTLS` допускает как TLS, так и обычные соединения, но для внутреннего трафика
применяется обычное (не TLS) подключение — см. пример 12.1.<br/><br/>### Почему обязателен `replicaSet=rs0` в строке подключения<br/><br/>Percona-оператор не проставляет на поды никакого динамического
лейбла роли (primary/secondary) —<br/>у всех подов replset''а полностью одинаковые лейблы, различается только имя/индекс пода.<br/>`master`-сервис — это обычный Kubernetes Service с фиксированным селектором
на весь replset, он<br/>не знает и не может знать, какой под сейчас primary: k8s просто раздаёт новые TCP-подключения<br/>по кругу между всеми узлами. Без `replicaSet=rs0` в URI подключение может закрепиться
на<br/>secondary, и любая попытка записи будет падать с `not writable primary` — независимо от того,<br/>происходили выборы недавно или нет. Указание `replicaSet=rs0` включает у драйвера обнаружение<br/>топологии
реплики, и он сам направляет запись на актуальный primary при любом количестве узлов<br/>и после любых переизбраний.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -39,6 +70,10 @@ operations:
operation: create operation: create
kind: instance kind: instance
action: create action: create
- svcOperationId: 411
operation: create_backup
kind: subresource
action: create
- svcOperationId: 198 - svcOperationId: 198
operation: create_user operation: create_user
kind: subresource kind: subresource
@@ -47,6 +82,10 @@ operations:
operation: delete operation: delete
kind: instance kind: instance
action: delete action: delete
- svcOperationId: 414
operation: delete_backup
kind: subresource
action: delete
- svcOperationId: 199 - svcOperationId: 199
operation: delete_user operation: delete_user
kind: subresource kind: subresource
@@ -67,11 +106,16 @@ operations:
operation: resume operation: resume
kind: instance kind: instance
action: resume action: resume
- svcOperationId: 413
operation: rollback
kind: action
action: rollback
- svcOperationId: 194 - svcOperationId: 194
operation: suspend operation: suspend
kind: instance kind: instance
action: suspend action: suspend
stateOut: stateOut:
backups: {}
users: {} users: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 1089 - svcOperationCfsParamId: 1089
@@ -87,10 +131,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1090 - svcOperationCfsParamId: 1090
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -130,16 +173,59 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1102
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain:
dataType: integer > 0
defaultValue: '7'
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: 0 0 * * *
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1116
svcOperationCfsParam: mongoConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
tls:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 1109
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 635 - svcOperationCfsParamId: 635
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -159,12 +245,28 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1103
svcOperationCfsParam: deleteS3Bucket
dataType: boolean
isRequired: true
defaultValue: 'true'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 1111
svcOperationCfsParam: backupName
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 644 - svcOperationCfsParamId: 644
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: array
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
@@ -217,6 +319,23 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1104
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 640 - svcOperationCfsParamId: 640
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -236,32 +355,51 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1108
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
37: 37:
- 1089 - 1089
- 1090 - 1090
- 1091 - 1091
- 1102
- 1116
411:
- 1109
198: 198:
- 635 - 635
- 636 - 636
- 643 - 643
190: [] 190:
- 1103
414:
- 1111
199: 199:
- 644 - 644
201: 201:
- 1092 - 1092
- 1093 - 1093
- 1104
200: 200:
- 640 - 640
- 641 - 641
- 642 - 642
409: [] 409: []
196: [] 196: []
413:
- 1108
194: [] 194: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
mongoConfiguration: '{"tls": false}'
+33 -7
View File
@@ -76,10 +76,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1098 - svcOperationCfsParamId: 1098
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -129,6 +128,18 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1113
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
maxMessageSize:
dataType: integer > 0
defaultValue: '4'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1100 - svcOperationCfsParamId: 1100
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -136,11 +147,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -161,6 +167,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1101 - svcOperationCfsParamId: 1101
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -178,15 +189,29 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1114
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
maxMessageSize:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
38: 38:
- 1097 - 1097
- 1098 - 1098
- 1099 - 1099
- 1113
39: [] 39: []
106: 106:
- 1100 - 1100
- 1101 - 1101
- 1114
410: [] 410: []
117: [] 117: []
116: [] 116: []
@@ -194,3 +219,4 @@ stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
mqConfiguration: '{"maxMessageSize": 4}'
+9 -11
View File
@@ -53,10 +53,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1020 - svcOperationCfsParamId: 1020
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -93,7 +92,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: lucee-tepsq9jk defaultValue: lucee-bpp5vpr5
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1022 - svcOperationCfsParamId: 1022
@@ -161,11 +160,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
healthPath:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
version: version:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -179,6 +173,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
healthPath:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 1026 - svcOperationCfsParamId: 1026
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -198,10 +197,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
cfsParamsByOp: cfsParamsByOp:
49: 49:
- 1019 - 1019
@@ -223,6 +221,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "lucee-tepsq9jk"}' accessConfiguration: '{"domain": "lucee-bpp5vpr5"}'
appConfiguration: '{"version": "6.0", "gitPath": "https://github.com/xahys/testlucee", "healthPath": ""}' appConfiguration: '{"version": "6.0", "gitPath": "https://github.com/xahys/testlucee", "healthPath": ""}'
jsonEnv: '{}' jsonEnv: '{}'
+13 -9
View File
@@ -51,10 +51,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 1029 - svcOperationCfsParamId: 1029
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -91,7 +90,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: node-btf263ja defaultValue: node-zjkc4kir
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1031 - svcOperationCfsParamId: 1031
@@ -118,7 +117,7 @@ cfsParams:
isModifiable: false isModifiable: false
healthPath: healthPath:
dataType: string dataType: string
defaultValue: '' defaultValue: '1'
isRequired: false isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1032 - svcOperationCfsParamId: 1032
@@ -127,6 +126,12 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '{}' defaultValue: '{}'
isModifiable: true isModifiable: true
dataDescriptor:
DB_PASS:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1033 - svcOperationCfsParamId: 1033
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -200,10 +205,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
cfsParamsByOp: cfsParamsByOp:
58: 58:
- 1028 - 1028
@@ -224,6 +228,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "node-btf263ja"}' accessConfiguration: '{"domain": "node-zjkc4kir"}'
appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": ""}' appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": "1"}'
jsonEnv: '{}' jsonEnv: '{"DB_PASS": ""}'
+2 -4
View File
@@ -64,10 +64,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 170 - svcOperationCfsParamId: 170
svcOperationCfsParam: login svcOperationCfsParam: login
dataType: string dataType: string
@@ -105,10 +104,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
cfsParamsByOp: cfsParamsByOp:
62: 62:
- 164 - 164
+74
View File
@@ -0,0 +1,74 @@
name: nodered
service_id: 97
service_display_name: NodeRed
service_short_name: nodered
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 72
operation: create
kind: instance
action: create
- svcOperationId: 73
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 193
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '500'
isModifiable: false
- svcOperationCfsParamId: 194
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: false
- svcOperationCfsParamId: 195
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 196
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 197
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: nodered-1
isModifiable: false
- svcOperationCfsParamId: 323
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
cfsParamsByOp:
72:
- 193
- 194
- 195
- 196
- 197
- 323
73: []
stateParams:
resourceCPU: '500'
resourceMemory: '512'
resourceDisk: '1'
resourceRealm: ''
domain: nodered-1
resourceInstances: '1'
+26 -7
View File
@@ -67,28 +67,27 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
- svcOperationCfsParamId: 217 - svcOperationCfsParamId: 217
svcOperationCfsParam: registryPath svcOperationCfsParam: registryPath
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 241 - svcOperationCfsParamId: 241
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 782 - svcOperationCfsParamId: 782
svcOperationCfsParam: ingressAnnotations svcOperationCfsParam: ingressAnnotations
dataType: map dataType: map
isRequired: false isRequired: false
defaultValue: '{}' defaultValue: '{}'
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 218 - svcOperationCfsParamId: 218
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
@@ -107,6 +106,24 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1120
svcOperationCfsParam: registryPath
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1121
svcOperationCfsParam: jsonEnv
dataType: map
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1122
svcOperationCfsParam: ingressAnnotations
dataType: map
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 272 - svcOperationCfsParamId: 272
svcOperationCfsParam: resourceRealm svcOperationCfsParam: resourceRealm
dataType: string dataType: string
@@ -114,10 +131,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- iot-naeel - devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- naeel-test-3
cfsParamsByOp: cfsParamsByOp:
77: 77:
- 212 - 212
@@ -133,6 +149,9 @@ cfsParamsByOp:
- 218 - 218
- 219 - 219
- 220 - 220
- 1120
- 1121
- 1122
403: [] 403: []
79: 79:
- 272 - 272
+8
View File
@@ -97,6 +97,12 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1124
svcOperationCfsParam: iniServiceParams
dataType: map
isRequired: false
defaultValue: DISABLE_REGISTRATION:true
isModifiable: false
- svcOperationCfsParamId: 259 - svcOperationCfsParamId: 259
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
@@ -143,6 +149,7 @@ cfsParamsByOp:
- 238 - 238
- 818 - 818
- 821 - 821
- 1124
83: [] 83: []
91: 91:
- 259 - 259
@@ -162,3 +169,4 @@ stateParams:
psqlUid: '' psqlUid: ''
ingressExtraAnnotations: '' ingressExtraAnnotations: ''
iniServerParams: '' iniServerParams: ''
iniServiceParams: DISABLE_REGISTRATION:true
+10 -10
View File
@@ -150,16 +150,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
recordName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recordTTL:
dataType: integer > 0
defaultValue: '3600'
isRequired: true
isModifiable: false
recordType: recordType:
dataType: string dataType: string
defaultValue: A defaultValue: A
@@ -176,11 +166,21 @@ cfsParams:
- NS - NS
- SSHFP - SSHFP
- CAA - CAA
recordName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recordInput: recordInput:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
recordTTL:
dataType: integer > 0
defaultValue: '3600'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 783 - svcOperationCfsParamId: 783
svcOperationCfsParam: recordName svcOperationCfsParam: recordName
dataType: string dataType: string
+68 -50
View File
@@ -2,7 +2,54 @@ name: mariadb
service_id: 115 service_id: 115
service_display_name: Mariadb service_display_name: Mariadb
service_short_name: mariadb service_short_name: mariadb
service_man: 'Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.<br/>Автоматическое резервное копирование, ручное восстановление.' service_man: '# Инструкция по развертыванию MariaDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MariaDB — реляционная база данных, совместимая с MySQL. Разворачивается через `mariadb-operator`
в Kubernetes.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание кластера<br/>* **delete** — удаление кластера<br/>* **suspend** — остановка кластера (под реально останавливается,
ресурсы не потребляются)<br/>* **resume** — запуск ранее остановленного кластера<br/>* **modify** — изменение параметров кластера<br/>* **reconcile** — синхронизация состояния инстанса с платформой<br/><br/>###
Доступные операции с базами данных<br/><br/>* **create_database** — создание базы данных<br/>* **delete_database** — удаление базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user**
— создание пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания кластера<br/><br/>### Платформа для развертывания (`startupConfiguration.resourceRealm`)<br/><br/>Среда,
в которой будет развёрнут кластер.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>JSON-объект:<br/>* `cpu` — квота CPU пода в миликорах (1000 = 1 vCPU). Пример: `500`<br/>* `memory`
— квота памяти пода в мегабайтах. Пример: `512`<br/>* `disk` — размер диска в гигабайтах. Пример: `10`<br/>* `replicas` — количество реплик. Сервис работает в режиме одного primary-узла (Galera выключена),
значение `0` эквивалентно остановке кластера.<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Поддерживаются только две версии: `8.4.0` и `9.4.0`.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>JSON-объект:<br/>*
`masterIpSpace` — имя ipSpace для выделения внешнего IP. Укажите `no-needed`, если внешний адрес не требуется.<br/>* `masterAccessList` — список IP/подсетей, которым разрешён доступ к порту 3306 снаружи.
Пустой список — доступ не ограничен на уровне firewall (в рамках выделенного ipSpace).<br/><br/>### Резервное копирование (`backupConfiguration`)<br/><br/>JSON-объект:<br/>* `s3Uid` — идентификатор S3-пользователя/квоты
для бэкапов.<br/>* `schedule` — cron-выражение расписания бэкапов. По умолчанию `0 0 * * *` (раз в сутки в полночь).<br/>* `retain` — время хранения бэкапов **в часах** (не в днях!). По умолчанию `7`
— то есть 7 часов. При суточном расписании этого значения обычно недостаточно, чтобы между двумя бэкапами всегда оставалась хотя бы одна валидная копия — рекомендуется указывать `retain` явно, с запасом
(например `720` = 30 суток).<br/><br/>> **Важно:** расписание и срок хранения бэкапов задаются **только при создании кластера**. Оператор MariaDB не позволяет изменить cron-расписание бэкапа после создания
(поле `spec.schedule.cron` неизменяемо на уровне admission-вебхука самого оператора) — поэтому эти параметры недоступны для изменения через `modify`.<br/><br/>> **Восстановление из бэкапа пока не реализовано
как самостоятельная операция платформы.** Бэкапы физически хранятся в S3-бакете инстанса (`technicals3backup-<instanceUid>`, префикс `mariadb/backups/`). Если нужно восстановить данные из бэкапа — бэкап
нужно **скачать из S3 и применить к базе вручную** (например через `mariabackup`/`mariadb-backup` restore или соответствующий инструмент).<br/><br/>### Автомасштабирование диска (`autoscaleConfiguration`)<br/><br/>JSON-объект:<br/>*
`enabled` — включить автоматическое расширение диска при исчерпании места.<br/>* `quota` — максимальный размер диска, до которого разрешено автоматическое расширение (не может быть меньше `clusterConfiguration.disk`).<br/>*
`percent`, `schedule` — параметры триггера автомасштабирования.<br/><br/>---<br/><br/>## 3. Параметры модификации кластера<br/><br/>Все параметры модификации, кроме версии, можно как увеличивать, так
и уменьшать (кроме диска — см. ниже) — система подставит текущие сохранённые значения, если их не менять.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>* `cpu`, `memory` — можно
менять в любую сторону.<br/>* `disk` — можно **только увеличивать**, уменьшение уже выделенного размера не поддерживается.<br/>* `replicas` — `0` останавливает кластер тем же образом, что и `suspend`
(альтернативный способ временной остановки через `modify`).<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Можно только повышать версию (`8.4.0 → 9.4.0`). Попытка понизить версию
будет отклонена с явной ошибкой ещё до применения изменений.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>Можно включить внешний доступ (было `no-needed` → указали реальный `masterIpSpace`),
изменить список разрешённых IP, либо полностью отключить внешний доступ (`masterIpSpace: no-needed`) — в этом случае внешний Service, DNS-запись и правило firewall будут корректно откреплены и удалены.<br/><br/>###
Резервное копирование<br/><br/>Не передаётся при модификации — расписание и срок хранения бэкапов фиксируются на этапе `create` (см. п.2).<br/><br/>---<br/><br/>## 4. Параметры создания базы данных (`create_database`)<br/><br/>###
Имя базы данных (`dbName`)<br/><br/>Строка с именем новой базы. Не может совпадать с зарезервированными системными именами: `mysql`, `sys`, `information_schema`, `performance_schema`. База с таким же
именем не должна уже существовать в кластере.<br/><br/>---<br/><br/>## 5. Параметры удаления базы данных (`delete_database`)<br/><br/>### Имя базы данных (`dbName`)<br/><br/>База должна существовать в
кластере. Удаление будет отклонено, если к базе всё ещё привязаны пользователи — сначала нужно снять доступ (`delete_user`) у всех пользователей, ссылающихся на эту базу.<br/><br/>---<br/><br/>## 6. Параметры
создания пользователя (`create_user`)<br/><br/>### Имя пользователя (`username`)<br/><br/>Не может быть `root`, `healthcheck` или `mariadb.sys` — эти имена зарезервированы платформой/оператором. Пользователь
с таким именем не должен уже существовать в кластере — операция сверяется с текущим стейтом сервиса и отклоняется, если имя занято.<br/><br/>### Пароль (`password`)<br/><br/>Пароль для подключения от
имени создаваемого пользователя.<br/><br/>### Базы данных (`dbName`)<br/><br/>JSON-массив вида `[{"dbname": "имя_базы"}]` — список баз, к которым выдаётся полный доступ (`ALL PRIVILEGES`). Все перечисленные
базы должны уже существовать в кластере (создать заранее через `create_database`).<br/><br/>> Ограничения доступа по IP/подсети на уровне пользователя больше нет — `user@host` в самой MariaDB всегда `%`.
Доступ к порту 3306 контролируется только на уровне инстанса через `accessConfiguration.masterAccessList`, задаваемый при `create`/`modify` (см. п.2/п.3).<br/><br/>---<br/><br/>## 7. Параметры удаления
пользователя (`delete_user`)<br/><br/>### Имя пользователя (`username`)<br/><br/>Пользователь должен существовать в кластере. `root`/`healthcheck`/`mariadb.sys` удалить нельзя.<br/><br/>---<br/><br/>##
8. Выходные параметры<br/><br/>### internalConnect<br/><br/>Внутренний адрес для подключения из сервисов, работающих в том же кластере Kubernetes:<br/>```json<br/>{<br/> "master": {<br/> "dns": "<clusterResourceName>.<namespace>.svc.<domain>",<br/> "ip":
null,<br/> "port": 3306<br/> }<br/>}<br/>```<br/><br/>### externalConnect<br/><br/>Присутствует в выходных данных, **только если** был запрошен внешний доступ (`accessConfiguration.masterIpSpace`
отличен от `no-needed`). Если внешний доступ не запрошен или был отключён через `modify` — этого блока не будет вовсе (пустой блок в состояние не пишется):<br/>```json<br/>{<br/> "master": {<br/> "dns":
"write.<namespace>.<domain>",<br/> "ip": "<внешний IP>",<br/> "port": 3306<br/> }<br/>}<br/>```<br/><br/>---<br/><br/>## 9. Пример подключения<br/><br/>### 9.1 Изнутри кластера / того же namespace<br/><br/>```bash<br/>mariadb
-h <internalConnect.dns> -P 3306 -u <username> -p<br/>```<br/><br/>### 9.2 Через port-forward<br/><br/>```bash<br/>kubectl port-forward svc/<clusterResourceName> 3306:3306 -n <namespace><br/>```<br/><br/>**Важно:**
после `port-forward` подключайтесь именно по `127.0.0.1`, а не `localhost`:<br/><br/>```bash<br/>mariadb -h 127.0.0.1 -P 3306 -u <username> -p<br/>```<br/><br/>Клиент `mysql`/`mariadb` при указании `-h
localhost` **игнорирует TCP/порт** и всегда пытается подключиться через локальный unix-сокет (`/var/lib/mysql/mysql.sock`), которого на вашей машине нет — подключение упадёт с `ERROR 2002 (HY000): Can''t
connect to local server through socket`. `127.0.0.1` форсирует реальное TCP-подключение. Также не забывайте `-P` (порт) с заглавной буквы — строчная `-p` относится к паролю.<br/><br/>### 9.3 Снаружи (внешний
адрес)<br/><br/>```bash<br/>mariadb -h <externalConnect.ip или externalConnect.dns> -P 3306 -u <username> -p<br/>```<br/><br/>Доступно только если при создании/модификации был указан реальный `masterIpSpace`
и подключающийся IP входит в `accessConfiguration.masterAccessList` (или список пуст).<br/><br/>Где:<br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль пользователя<br/><br/>---<br/><br/>##
10. Дополнительная информация<br/><br/>* Расписание бэкапов (`backupConfiguration.schedule`/`retain`) задаётся один раз при создании и не может быть изменено позже — ограничение самого `mariadb-operator`,
а не платформы.<br/>* Версию MariaDB можно только повышать, откат на более старую версию не поддерживается.<br/>* Размер диска можно только увеличивать.<br/>* `suspend` реально останавливает под (масштабирование
StatefulSet в 0 реплик), а не просто помечает кластер как приостановленный — расход ресурсов CPU/RAM/диска (кроме уже занятого диска) прекращается.<br/>* При отключении внешнего доступа через `modify`
(`masterIpSpace: no-needed`) внешний Service, DNS-запись и правило firewall удаляются, а `externalConnect` пропадает из выходных данных.<br/>* Самостоятельного восстановления из бэкапа (операции `restore`)
пока нет. Бэкапы лежат в S3 инстанса — восстановление данных в существующий кластер выполняется вручную, скачиванием и применением бэкапа самим владельцем инстанса.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -64,6 +111,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 878 - svcOperationCfsParamId: 878
@@ -102,16 +150,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 880 - svcOperationCfsParamId: 880
svcOperationCfsParam: mariadbConfiguration svcOperationCfsParam: mariadbConfiguration
dataType: map-fixed dataType: map-fixed
@@ -132,7 +180,7 @@ cfsParams:
dataType: map-fixed dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: false
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: uuid
@@ -192,19 +240,19 @@ cfsParams:
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: db-ebbjso21 defaultValue: db-nmdlrebb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 735 - svcOperationCfsParamId: 735
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: user3vanbmfy defaultValue: useroxxeykhb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 736 - svcOperationCfsParamId: 736
svcOperationCfsParam: password svcOperationCfsParam: password
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: p4egnsar defaultValue: apsyfstb
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 737 - svcOperationCfsParamId: 737
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
@@ -218,12 +266,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 738
svcOperationCfsParam: accessHosts
dataType: string
isRequired: true
defaultValue: '%'
isModifiable: false
- svcOperationCfsParamId: 456 - svcOperationCfsParamId: 456
svcOperationCfsParam: deleteS3Bucket svcOperationCfsParam: deleteS3Bucket
dataType: boolean dataType: boolean
@@ -306,28 +348,6 @@ cfsParams:
valueList: valueList:
- 8.4.0 - 8.4.0
- 9.4.0 - 9.4.0
- svcOperationCfsParamId: 886
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 887 - svcOperationCfsParamId: 887
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -335,15 +355,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: '' defaultValue: ''
@@ -367,6 +378,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
cfsParamsByOp: cfsParamsByOp:
138: 138:
- 877 - 877
@@ -381,7 +401,6 @@ cfsParamsByOp:
- 735 - 735
- 736 - 736
- 737 - 737
- 738
139: 139:
- 456 - 456
248: 248:
@@ -392,7 +411,6 @@ cfsParamsByOp:
- 883 - 883
- 884 - 884
- 885 - 885
- 886
- 887 - 887
287: [] 287: []
141: [] 141: []
@@ -400,7 +418,7 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
mariadbConfiguration: '{"version": "9.4.0"}' mariadbConfiguration: '{"version": "9.4.0"}'
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
+19 -15
View File
@@ -2,21 +2,24 @@ name: kafka
service_id: 116 service_id: 116
service_display_name: ApacheKafka service_display_name: ApacheKafka
service_short_name: kafka service_short_name: kafka
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль \ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create** \ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify** \ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume** \ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание: \ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым \ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### \ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая \ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный \ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>### \ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних \ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>- <br/> port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"<serviceName>-<serviceName>-pool-0.<serviceName>-kafka-brokers.<namespace>.svc.<clusterDomain>\"<br/> port: 9093<br/>```<br/><br/>**externalConnect**\
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок \ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<br/>\
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>' \ port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"broker-1.<namespace>.<dnsZone>\"<br/> port: 9093<br/>```<br/><br/>Заполняется **только один** из параметров:<br/>- при внешней аллокации\
\ (`loadbalancer`) — `externalConnect`, `internalConnect` остаётся пустым;<br/>- при внутреннем режиме — `internalConnect`, `externalConnect` остаётся пустым.<br/><br/>Для подключения используются следующие\
\ порты:<br/><br/>* 9092 — внутренний нешифрованный доступ (plain).<br/>* 9093 — внутренний и внешний доступ по TLS, с обязательной TLS-аутентификацией.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Для\
\ создания топиков, пользователей и управления ими, а также для интеграции с кластерами Kafka используйте соответствующие сервисы и раздел \"Облачные сервисы\".<br/>---"
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -82,6 +85,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1085 - svcOperationCfsParamId: 1085
+1
View File
@@ -47,6 +47,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 551 - svcOperationCfsParamId: 551
+45 -44
View File
@@ -85,6 +85,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 838 - svcOperationCfsParamId: 838
@@ -114,6 +115,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
shards: shards:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -123,11 +129,6 @@ cfsParams:
- '1' - '1'
- '2' - '2'
- '3' - '3'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 839 - svcOperationCfsParamId: 839
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -192,11 +193,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
schedule:
dataType: string
defaultValue: 0 0 * * *
isRequired: true
isModifiable: false
s3Uid: s3Uid:
dataType: uuid dataType: uuid
defaultValue: '' defaultValue: ''
@@ -207,6 +203,11 @@ cfsParams:
defaultValue: '7' defaultValue: '7'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
schedule:
dataType: string
defaultValue: 0 0 * * *
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 843 - svcOperationCfsParamId: 843
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -214,6 +215,14 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
enabled:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
schedule: schedule:
dataType: integer >= 0 dataType: integer >= 0
defaultValue: '0' defaultValue: '0'
@@ -238,14 +247,6 @@ cfsParams:
- '10' - '10'
- '15' - '15'
- '20' - '20'
enabled:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 851 - svcOperationCfsParamId: 851
svcOperationCfsParam: clickhouseFilesConfiguration svcOperationCfsParam: clickhouseFilesConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -312,20 +313,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
shards:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -346,6 +333,20 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
shards:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 845 - svcOperationCfsParamId: 845
svcOperationCfsParam: clickhouseKeeperConfiguration svcOperationCfsParam: clickhouseKeeperConfiguration
dataType: map-fixed dataType: map-fixed
@@ -353,15 +354,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '0'
- '1'
- '3'
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -372,6 +364,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
replicas:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '0'
- '1'
- '3'
- svcOperationCfsParamId: 846 - svcOperationCfsParamId: 846
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -512,10 +513,10 @@ cfsParamsByOp:
182: [] 182: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "shards": 1, "disk": 10}' clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "disk": 10, "shards": 1}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}' clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
clickhouseConfiguration: '{"version": "25.10"}' clickhouseConfiguration: '{"version": "25.10"}'
backupConfiguration: '{"schedule": "0 0 * * *", "s3Uid": "", "retain": 7}' backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
autoscaleConfiguration: '{"schedule": 0, "quota": 100, "percent": 10, "enabled": false}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}' clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}'
@@ -19,6 +19,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
clusterName:
dataType: string
defaultValue: k8s-6sa9dyug
isRequired: true
isModifiable: false
resourceRealm: resourceRealm:
dataType: string dataType: string
defaultValue: sandbox.nubes.ru defaultValue: sandbox.nubes.ru
@@ -26,9 +31,14 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- sandbox.nubes.ru - sandbox.nubes.ru
clusterName: providerVdc:
dataType: string dataType: string
defaultValue: example-brcyqrjr defaultValue: ''
isRequired: true
isModifiable: false
networkProvider:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 772 - svcOperationCfsParamId: 772
@@ -40,10 +50,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -82,6 +93,18 @@ cfsParams:
defaultValue: '[{}]' defaultValue: '[{}]'
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
groupName:
dataType: string
defaultValue: workers-5tcvtwk4
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '{}'
sizingDisk: sizingDisk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '50' defaultValue: '50'
@@ -92,18 +115,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
groupName: autoscale:
dataType: string dataType: boolean
defaultValue: workers-jax0kk2f defaultValue: 'false'
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '{}' - 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: true
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: true
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 775 - svcOperationCfsParamId: 775
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -143,8 +180,8 @@ cfsParamsByOp:
- 774 - 774
- 775 - 775
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "sandbox.nubes.ru", "clusterName": "example-brcyqrjr"}' startupConfiguration: '{"clusterName": "k8s-6sa9dyug", "resourceRealm": "sandbox.nubes.ru", "providerVdc": "", "networkProvider": ""}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}' controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-jax0kk2f", "sizingPolicy": ""}' workerConfiguration: '{"groupName": "workers-5tcvtwk4", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
+48 -48
View File
@@ -62,35 +62,6 @@ cfsParams:
defaultValue: '{}' defaultValue: '{}'
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
ffThemes:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffPublicLink:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
userCount:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
requestApproveMaxPeriod: requestApproveMaxPeriod:
dataType: integer > 0 dataType: integer > 0
defaultValue: '2' defaultValue: '2'
@@ -120,6 +91,35 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
ffThemes:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffPublicLink:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
userCount:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 658 - svcOperationCfsParamId: 658
svcOperationCfsParam: s3Storage svcOperationCfsParam: s3Storage
dataType: integer > 0 dataType: integer > 0
@@ -133,6 +133,24 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
userCount:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
requestApproveMaxPeriod:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
ffOnlineEditor:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffWatermark: ffWatermark:
dataType: boolean dataType: boolean
defaultValue: '' defaultValue: ''
@@ -173,24 +191,6 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
userCount:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
requestApproveMaxPeriod:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
ffOnlineEditor:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 660 - svcOperationCfsParamId: 660
svcOperationCfsParam: s3Storage svcOperationCfsParam: s3Storage
dataType: integer > 0 dataType: integer > 0
@@ -212,5 +212,5 @@ cfsParamsByOp:
stateParams: stateParams:
resourceRealm: valo.ngcloud.ru resourceRealm: valo.ngcloud.ru
domain: '' domain: ''
valoOptions: '{"ffThemes": true, "ffPublicLink": true, "ffLogging": true, "userCount": 10, "requestApproveMaxPeriod": 2, "ffOnlineEditor": true, "ffWatermark": true, "ffUserImport": true}' valoOptions: '{"requestApproveMaxPeriod": 2, "ffOnlineEditor": true, "ffWatermark": true, "ffUserImport": true, "ffThemes": true, "ffPublicLink": true, "ffLogging": true, "userCount": 10}'
s3Storage: '10' s3Storage: '10'
+131 -10
View File
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
service_id: 150 service_id: 150
service_display_name: Kubernetes кластер Штурвал service_display_name: Kubernetes кластер Штурвал
service_short_name: k8sSthutrvalCluster service_short_name: k8sSthutrvalCluster
service_man: Перед разворачиванием убедиться, что в облаке есть 2 свободных невыделенных IP в пуле service_man: '# Развёртывание Kubernetes: ограничения и предварительный чек-лист<br/><br/>> **Внимание:** перед началом развёртывания кластера Kubernetes убедитесь, что выполнены все описанные ниже условия.
Несоблюдение порядка шагов может привести к ошибкам при создании кластера.<br/><br/>---<br/><br/>## Ограничения при развёртывании<br/><br/>| Ограничение | Статус |<br/>|---|---|<br/>| 1 кластер = 1 vDC
| Действует (будет исправлено в ближайшее время) |<br/><br/>---<br/><br/>## Предварительный чек-лист<br/><br/>Перед установкой кластера Kubernetes необходимо последовательно выполнить следующие шаги.<br/><br/>###
1. Создать организацию в Cloud Director<br/><br/>- Перейдите в услугу **Организация в Cloud Director**.<br/>- Создайте организацию.<br/><br/>### 2. Создать виртуальный датацентр (vDC)<br/><br/>- Перейдите
в услугу **Виртуальный датацентр (vDC)**.<br/>- Создайте vDC.<br/>- Выделите **достаточно ресурсов для разворачивания _всех_ нод** кластера.<br/><br/>### 3. Создать Edge (сетевой шлюз периметра)<br/><br/>-
Перейдите в услугу **Сетевой шлюз периметра (Edge)**.<br/>- Создайте Edge.<br/>- Обязательно:<br/> - Включить **ALB**.<br/> - Установить **Кол-во VS на AVI ≥ 3**.<br/><br/>### 4. Добавить внешние адреса
в организации<br/><br/>- Вернитесь в **Организация в Cloud Director**.<br/>- Выполните операцию **Modify**.<br/>- Добавьте **3 внешних адреса**.<br/>- Количество `ipSpaces` значения не имеет, важно чтобы
суммарно было 3 адреса.<br/><br/>### 5. Настроить SNAT для виртуальных машин<br/><br/>- Вернитесь в **Сетевой шлюз периметра (Edge)**.<br/>- Выполните операцию **Modify**.<br/>- Выберите доступный `ipSpaceName`.<br/>-
Это будет **SNAT для виртуальных машин**.<br/><br/>### 6. Развернуть кластер Kubernetes<br/><br/>- Только **после выполнения всех шагов выше** переходите к услуге **Kubernetes кластер Штурвал**.<br/>-
Начните разворачивание кластера.<br/><br/>---<br/><br/>## Минимальные требования к кластеру<br/><br/>| Параметр | Значение |<br/>|---|---|<br/>| Мастер-ноды | минимум **1** |<br/>| Воркер-ноды | минимум
**1** |<br/>| CPU (на ноду) | **4 vCPU** |<br/>| RAM (на ноду) | **8 GB** |<br/>| Диск (на ноду) | **50 GB** |<br/><br/>---'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -61,9 +71,65 @@ cfsParams:
isModifiable: false isModifiable: false
clusterName: clusterName:
dataType: string dataType: string
defaultValue: example-imhltbba defaultValue: example-ryatr2rx
isRequired: true isRequired: true
isModifiable: false isModifiable: false
exLogging:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exMonitoring:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exLocalCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exVip:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exUpdate:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exIngress:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exNamedCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 751 - svcOperationCfsParamId: 751
svcOperationCfsParam: controlPlaneConfiguration svcOperationCfsParam: controlPlaneConfiguration
dataType: map-fixed dataType: map-fixed
@@ -99,6 +165,11 @@ cfsParams:
defaultValue: '[{}]' defaultValue: '[{}]'
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
groupName:
dataType: string
defaultValue: workers-e6bfgpqf
isRequired: true
isModifiable: false
sizingPolicy: sizingPolicy:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -116,11 +187,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
groupName: autoscale:
dataType: string dataType: boolean
defaultValue: workers-0krz2kek defaultValue: 'false'
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 753 - svcOperationCfsParamId: 753
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -161,10 +253,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -205,6 +298,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -245,7 +339,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
groupName: groupName:
dataType: string dataType: string
defaultValue: workers-apak4rks defaultValue: workers-ohtgog3p
isRequired: true isRequired: true
isModifiable: false isModifiable: false
sizingPolicy: sizingPolicy:
@@ -265,6 +359,32 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
autoscale:
dataType: boolean
defaultValue: ''
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 759 - svcOperationCfsParamId: 759
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -317,8 +437,9 @@ cfsParamsByOp:
174: [] 174: []
173: [] 173: []
stateParams: stateParams:
startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-imhltbba"}' startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-ryatr2rx", "exLogging": true, "exMonitoring": true, "exLocalCsi": true, "exVip": true, "exUpdate": true, "exIngress": true,
"exNamedCsi": true}'
controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}' controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 2, "groupName": "workers-0krz2kek"}' workerConfiguration: '{"groupName": "workers-e6bfgpqf", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
+12 -16
View File
@@ -71,10 +71,6 @@ operations:
operation: recovery_secrets operation: recovery_secrets
kind: subresource kind: subresource
action: recovery action: recovery
- svcOperationId: 234
operation: restart
kind: action
action: restart
- svcOperationId: 216 - svcOperationId: 216
operation: resume operation: resume
kind: instance kind: instance
@@ -103,6 +99,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 664 - svcOperationCfsParamId: 664
@@ -141,13 +138,13 @@ cfsParams:
svcOperationCfsParam: domain svcOperationCfsParam: domain
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: bao-onbcvsgk defaultValue: bao-nosgzjqe
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 675 - svcOperationCfsParamId: 675
svcOperationCfsParam: kvName svcOperationCfsParam: kvName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: kvname-9e9wvkt2 defaultValue: kvname-ps9az5f9
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 728 - svcOperationCfsParamId: 728
svcOperationCfsParam: policySettings svcOperationCfsParam: policySettings
@@ -156,21 +153,21 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
capabilities:
dataType: json
defaultValue: '["read", "list"]'
isRequired: true
isModifiable: false
path: path:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
capabilities:
dataType: json
defaultValue: '["read", "list"]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 729 - svcOperationCfsParamId: 729
svcOperationCfsParam: policyName svcOperationCfsParam: policyName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: policy-s0hfjfmn defaultValue: policy-kyvtdypv
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 677 - svcOperationCfsParamId: 677
svcOperationCfsParam: kvName svcOperationCfsParam: kvName
@@ -277,12 +274,12 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
capabilities: path:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
path: capabilities:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
@@ -351,7 +348,6 @@ cfsParamsByOp:
- 723 - 723
- 724 - 724
- 725 - 725
234: []
216: [] 216: []
215: [] 215: []
238: 238:
@@ -369,4 +365,4 @@ stateParams:
resourceMemory: '512' resourceMemory: '512'
resourceDisk: '10' resourceDisk: '10'
appVersion: 2.5.2 appVersion: 2.5.2
domain: bao-onbcvsgk domain: bao-nosgzjqe
+100
View File
@@ -0,0 +1,100 @@
name: nifi
service_id: 153
service_display_name: Nifi
service_short_name: nifi
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 229
operation: create
kind: instance
action: create
- svcOperationId: 235
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 711
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: nifi-qmpqdalo
isModifiable: false
- svcOperationCfsParamId: 712
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '2000'
isModifiable: false
- svcOperationCfsParamId: 713
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '4096'
isModifiable: false
- svcOperationCfsParamId: 714
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
valueList:
- '1'
- svcOperationCfsParamId: 715
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '10'
isModifiable: false
- svcOperationCfsParamId: 716
svcOperationCfsParam: appVersion
dataType: string
isRequired: true
defaultValue: 2.6.0
isModifiable: false
valueList:
- 2.6.0
- svcOperationCfsParamId: 717
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 718
svcOperationCfsParam: jdbcDrivers
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
path:
dataType: string
defaultValue: https://jdbc.postgresql.org/download/postgresql-42.7.8.jar
isRequired: true
isModifiable: false
cfsParamsByOp:
229:
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
235: []
stateParams:
domain: nifi-qmpqdalo
resourceCPU: '2000'
resourceMemory: '4096'
resourceInstances: '1'
resourceDisk: '10'
appVersion: 2.6.0
resourceRealm: ''
jdbcDrivers: '{"path": "https://jdbc.postgresql.org/download/postgresql-42.7.8.jar"}'
+43 -65
View File
@@ -1,33 +1,39 @@
name: llm_ai name: llm_ai
service_id: 163 service_id: 163
service_display_name: LLM service_display_name: ML Улей
service_short_name: llmAi service_short_name: llmAi
service_man: '## 1. Общая информация<br/><br/>LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.<br/>Платформа позволяет создавать организации service_man: '## 1. Общая информация<br/><br/>LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.<br/>Платформа позволяет создавать организации
(тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create** — Создание организации в LLMaaS<br/>- (тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.<br/><br/>### Ограничение: одна организация на контрагента<br/><br/>На одного контрагента может быть создана
**delete** — Удаление организации<br/><br/>- **create_team** — Создание команды внутри организации<br/>- **modify_team** — Редактирование команды (модели, RPM, TPM)<br/>- **delete_team** — **только одна организация** в LLMaaS.<br/>Повторная попытка создать организацию для того же контрагента завершится ошибкой.<br/><br/>### Возможные ошибки и как их обрабатывать<br/><br/>При работе с сервисом
Удаление команды<br/><br/>- **create_secrets** — Создание API-ключа<br/>- **update_secrets** — Обновление параметров API-ключа<br/>- **delete_secrets** — Удаление API-ключа<br/><br/>---<br/><br/>## могут возникнуть типовые ошибки. Ниже описано, как их распознать и что делать.<br/><br/>| Ошибка | Когда возникает | Что делать |<br/>|--------|-----------------|------------|<br/>| `Организация в LLMaaS
уже привязана к контрагенту <contragentCode>` | При операции `create`, если организация для данного контрагента уже существует | На одного контрагента допускается только одна организация. Если нужно изменить
существующую организацию, используйте операции управления командами и ключами |<br/>| `Не хватает нужного гранта. Примените реконсиляцию для данного инстанса` | При операциях `create_team`, `modify_team`,
если модель не выдана организации на Layer 1 | Запустите операцию `reconcile` для данного инстанса. Она обновит список моделей, доступных организации, после чего повторите исходную операцию |<br/>| `Лимиты
API-ключа не могут превышать лимиты команды` | При операциях `create_secrets`, `update_secrets` | Уменьшите значения `RPM` и/или `TPM` ключа до уровня команды или увеличьте лимиты самой команды через
`modify_team` |<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create** — Создание организации в LLMaaS<br/>- **delete** — Удаление организации<br/><br/>- **create_team** —
Создание команды внутри организации<br/>- **modify_team** — Редактирование команды (модели, RPM, TPM)<br/>- **delete_team** — Удаление команды<br/><br/>- **create_secrets** — Создание API-ключа<br/>-
**update_secrets** — Обновление параметров API-ключа<br/>- **delete_secrets** — Удаление API-ключа<br/><br/>- **reconcile** — Обновление списка моделей, доступных организации<br/><br/>---<br/><br/>##
2. Параметры создания организации<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании организации:<br/><br/>* **Платформа для развертывания**<br/> Выбирается автоматически, изменять 2. Параметры создания организации<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании организации:<br/><br/>* **Платформа для развертывания**<br/> Выбирается автоматически, изменять
не нужно.<br/><br/>* **Период бюджета**<br/> Срок жизни организации в днях.<br/> Пример: `30`<br/><br/><br/>---<br/><br/>## 3. Параметры создания команды<br/><br/>* **Имя команды**<br/> Уникальное не нужно.<br/><br/>## 3. Параметры создания команды<br/><br/>* **Имя команды**<br/> Уникальное имя команды в рамках организации.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели,
имя команды в рамках организации.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для команды.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Максимальное доступной для команды.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в
количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример: `100000`<br/><br/>---<br/><br/>## минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример: `100000`<br/><br/>---<br/><br/>## 4. Параметры редактирования команды<br/><br/>Для существующей команды
4. Параметры редактирования команды<br/><br/>Для существующей команды можно изменить:<br/><br/>* **Модель**<br/> Новая модель для команды.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту можно изменить:<br/><br/>* **Модель**<br/> Новая модель для команды.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>*
(RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>---<br/><br/>## 5. Параметры создания API-ключа<br/><br/>Ниже **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>---<br/><br/>## 5. Параметры создания API-ключа<br/><br/>Ниже перечислены параметры, которые необходимо указать
перечислены параметры, которые необходимо указать при создании API-ключа:<br/><br/>* **Имя ключа**<br/> Уникальное имя ключа в рамках организации.<br/> Пример: `prod-key`<br/><br/>* **Команда**<br/> Имя при создании API-ключа:<br/><br/>* **Имя ключа**<br/> Уникальное имя ключа в рамках организации.<br/> Пример: `prod-key`<br/><br/>* **Команда**<br/> Имя команды для привязки ключа. Если не указано
команды для привязки ключа. Если не указано — ключ привязывается к команде `main`.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для данного ключа.<br/> Пример: `gpt-oss-120b`<br/><br/>* — ключ привязывается к команде `main`.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для данного ключа.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту
**Лимит запросов в минуту (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример:
+ исходящих) в минуту.<br/> Пример: `100000`<br/><br/>**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.<br/>При превышении операция будет отклонена с ошибкой.<br/>Перед `100000`<br/><br/>**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.<br/>При превышении операция будет отклонена с ошибкой.<br/>Перед созданием ключа убедитесь, что
созданием ключа убедитесь, что `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/><br/>---<br/><br/>## 6. Параметры обновления API-ключа<br/><br/>Для уже существующего ключа можно изменить параметры. Все `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/><br/>---<br/><br/>## 6. Параметры обновления API-ключа<br/><br/>Для уже существующего ключа можно изменить параметры. Все параметры являются опциональными:<br/><br/>*
параметры являются опциональными:<br/><br/>* **Имя ключа**<br/> Имя обновляемого ключа.<br/> Пример: `prod-key`<br/><br/>* **Модель**<br/> Новое название модели.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Имя ключа**<br/> Имя обновляемого ключа.<br/> Пример: `prod-key`<br/><br/>* **Модель**<br/> Новое название модели.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое
**Лимит запросов в минуту (RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>**Важно:** При обновлении значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>**Важно:** При обновлении лимитов API-ключа новые значения не могут
лимитов API-ключа новые значения не могут превышать лимиты команды.<br/>Если указать значения выше командных, операция завершится ошибкой.<br/>Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/>Команда превышать лимиты команды.<br/>Если указать значения выше командных, операция завершится ошибкой.<br/>Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/>Команда определяется автоматически по стейту
определяется автоматически по стейту услуги — изменить привязку к другой команде через эту операцию нельзя.<br/><br/>---<br/><br/>## 7. Параметры удаления API-ключа<br/><br/>* **Команда**<br/> Имя команды, услуги — изменить привязку к другой команде через эту операцию нельзя.<br/><br/>---<br/><br/>## 7. Параметры удаления API-ключа<br/><br/>* **Команда**<br/> Имя команды, к которой привязан ключ.<br/> Пример:
к которой привязан ключ.<br/> Пример: `production`<br/><br/>* **Имя ключа**<br/> Имя удаляемого ключа.<br/> Пример: `prod-key`<br/><br/>---<br/><br/>## 8. Параметры удаления команды<br/><br/>* **Имя `production`<br/><br/>* **Имя ключа**<br/> Имя удаляемого ключа.<br/> Пример: `prod-key`<br/><br/>---<br/><br/>## 8. Параметры удаления команды<br/><br/>* **Имя команды**<br/> Имя удаляемой команды.<br/> Пример:
команды**<br/> Имя удаляемой команды.<br/> Пример: `production`<br/><br/>---<br/><br/>## 9. Параметры удаления организации<br/><br/>Удаление организации не требует дополнительных параметров — удаляется `production`<br/><br/>---<br/><br/>## 9. Параметры удаления организации<br/><br/>Удаление организации не требует дополнительных параметров — удаляется вся организация со всеми командами и ключами.<br/><br/>---<br/><br/>##
вся организация со всеми командами и ключами.<br/><br/>---<br/><br/>## 10. Выходные параметры<br/><br/>После успешного создания организации платформа возвращает:<br/><br/>* **connectionUrl**<br/> URL 10. Выходные параметры<br/><br/>После успешного создания организации платформа возвращает:<br/><br/>* **connectionUrl**<br/> URL для доступа к inference API (OpenAI-совместимый).<br/> Пример: `https://api.aillm.ru`<br/><br/>---<br/><br/><br/>##
для доступа к inference API (OpenAI-совместимый).<br/> Пример: `https://api.aillm.ru`<br/><br/>---<br/><br/><br/>## 12. Пример использования API<br/><br/>После получения API-ключа клиент может обращаться 11. Пример использования API<br/><br/>После получения API-ключа клиент может обращаться к LLMaaS напрямую:<br/><br/>**Запрос к chat completions:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/chat/completions
к LLMaaS напрямую:<br/><br/>**Запрос к chat completions:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/chat/completions \<br/> -H "Authorization: Bearer sk-..." \<br/> -H "Content-Type: application/json" \<br/> -H "Authorization: Bearer sk-..." \<br/> -H "Content-Type: application/json" \<br/> -d ''{<br/> "model": "gpt-oss-120b",<br/> "messages": [<br/> {"role": "user", "content": "Привет!"}<br/> ]<br/> }''<br/>```<br/><br/>**Получение
\<br/> -d ''{<br/> "model": "gpt-oss-120b",<br/> "messages": [<br/> {"role": "user", "content": "Привет!"}<br/> ]<br/> }''<br/>```<br/><br/>**Получение списка доступных моделей:**<br/><br/>```bash<br/>curl списка доступных моделей:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/models \<br/> -H "Authorization: Bearer sk-..."<br/>```<br/>'
https://api.aillm.ru/v1/models \<br/> -H "Authorization: Bearer sk-..."<br/>```<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: false suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -60,6 +66,10 @@ operations:
operation: modify_team operation: modify_team
kind: subresource kind: subresource
action: modify action: modify
- svcOperationId: 412
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 277 - svcOperationId: 277
operation: update_secrets operation: update_secrets
kind: subresource kind: subresource
@@ -106,45 +116,6 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1083
svcOperationCfsParam: variablesKeys
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
teamName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
keyName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
models:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '{}'
tpmLimit:
dataType: integer > 0
defaultValue: '100000'
isRequired: true
isModifiable: false
rpmLimit:
dataType: integer > 0
defaultValue: '60'
isRequired: true
isModifiable: false
count:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 858 - svcOperationCfsParamId: 858
svcOperationCfsParam: teamName svcOperationCfsParam: teamName
dataType: string dataType: string
@@ -241,6 +212,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1157
svcOperationCfsParam: ''
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
271: 271:
- 826 - 826
@@ -250,7 +227,6 @@ cfsParamsByOp:
- 835 - 835
- 857 - 857
- 859 - 859
- 1083
278: 278:
- 858 - 858
- 860 - 860
@@ -267,11 +243,13 @@ cfsParamsByOp:
- 865 - 865
- 873 - 873
- 874 - 874
412: []
277: 277:
- 852 - 852
- 853 - 853
- 854 - 854
- 855 - 855
- 875 - 875
- 1157
stateParams: stateParams:
resourceRealm: llmAi.aillm.ru resourceRealm: llmAi.aillm.ru
+9 -1
View File
@@ -73,6 +73,12 @@ cfsParams:
valueList: valueList:
- iaas - iaas
- saas - saas
- svcOperationCfsParamId: 1125
svcOperationCfsParam: organizationSuffix
dataType: string
isRequired: false
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 871 - svcOperationCfsParamId: 871
svcOperationCfsParam: admins svcOperationCfsParam: admins
dataType: array-map-fixed dataType: array-map-fixed
@@ -110,7 +116,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count: count:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -118,6 +124,7 @@ cfsParamsByOp:
136: 136:
- 418 - 418
- 556 - 556
- 1125
283: 283:
- 871 - 871
137: [] 137: []
@@ -131,3 +138,4 @@ cfsParamsByOp:
stateParams: stateParams:
resourceRealm: sandbox.nubes.ru resourceRealm: sandbox.nubes.ru
organizationType: iaas organizationType: iaas
organizationSuffix: ''
+36 -21
View File
@@ -95,12 +95,12 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
subparam2: subparam1:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
subparam1: subparam2:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
@@ -159,10 +159,17 @@ cfsParams:
minStr1: minStr1:
dataType: string dataType: string
defaultValue: abracadabra defaultValue: abracadabra
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- abracadabra - abracadabra
- incorr
- correctvalue
s3-inst:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 654 - svcOperationCfsParamId: 654
svcOperationCfsParam: arrayMapFixedExample svcOperationCfsParam: arrayMapFixedExample
dataType: array-map-fixed dataType: array-map-fixed
@@ -170,21 +177,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
bol1:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
minStr1:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- abracadabra
param1: param1:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -204,6 +196,21 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
bol1:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
minStr1:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- abracadabra
- svcOperationCfsParamId: 863 - svcOperationCfsParamId: 863
svcOperationCfsParam: arr svcOperationCfsParam: arr
dataType: array dataType: array
@@ -214,6 +221,12 @@ cfsParams:
- test - test
- '2' - '2'
- val1 - val1
- svcOperationCfsParamId: 1131
svcOperationCfsParam: s3-ref-root
dataType: string
isRequired: false
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 287 - svcOperationCfsParamId: 287
svcOperationCfsParam: durationMs svcOperationCfsParam: durationMs
dataType: integer >= 0 dataType: integer >= 0
@@ -286,6 +299,7 @@ cfsParamsByOp:
- 647 - 647
- 654 - 654
- 863 - 863
- 1131
71: [] 71: []
92: 92:
- 287 - 287
@@ -306,9 +320,10 @@ stateParams:
whereFail: '1' whereFail: '1'
resourceRealm: dummy resourceRealm: dummy
bodymessage: '' bodymessage: ''
mapExample: '{"subparam2": "", "subparam1": "", "secret": ""}' mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
jsonExample: '' jsonExample: ''
nestedRefExample: '' nestedRefExample: ''
mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra"}' mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra", "s3-inst": ""}'
arrayMapFixedExample: '{"bol1": false, "minStr1": "", "param1": 0, "param2": "", "param3": 1}' arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
arr: '' arr: ''
s3-ref-root: ''
+12 -4
View File
@@ -84,12 +84,12 @@ cfsParams:
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 397 - svcOperationCfsParamId: 397
svcOperationCfsParam: cpuGuaranteed svcOperationCfsParam: cpuGuaranteed
dataType: integer > 0 dataType: integer >= 0
isRequired: true isRequired: true
defaultValue: '20' defaultValue: '0'
isModifiable: false isModifiable: false
valueList: valueList:
- '20' - '0'
- '50' - '50'
- '80' - '80'
- svcOperationCfsParamId: 557 - svcOperationCfsParamId: 557
@@ -110,6 +110,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1130
svcOperationCfsParam: suffixName
dataType: string
isRequired: false
defaultValue: 7uabwsgb
isModifiable: false
- svcOperationCfsParamId: 560 - svcOperationCfsParamId: 560
svcOperationCfsParam: cpuAllocated svcOperationCfsParam: cpuAllocated
dataType: integer > 0 dataType: integer > 0
@@ -148,6 +154,7 @@ cfsParamsByOp:
- 557 - 557
- 558 - 558
- 746 - 746
- 1130
24: [] 24: []
112: 112:
- 560 - 560
@@ -160,7 +167,8 @@ stateParams:
organizationUid: '' organizationUid: ''
providerVdc: '' providerVdc: ''
storageConfig: '{"name": "", "size": 2000}' storageConfig: '{"name": "", "size": 2000}'
cpuGuaranteed: '20' cpuGuaranteed: '0'
cpuAllocated: '80' cpuAllocated: '80'
memAllocated: '200' memAllocated: '200'
networkProvider: '' networkProvider: ''
suffixName: 7uabwsgb
+47
View File
@@ -88,6 +88,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1110
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: 10.10.102.0/24
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: 81.22.46.22
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: 185.247.187.77
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 368 - svcOperationCfsParamId: 368
svcOperationCfsParam: needEnableAVI svcOperationCfsParam: needEnableAVI
dataType: boolean dataType: boolean
@@ -115,6 +137,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1112
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
10: 10:
- 8 - 8
@@ -123,12 +167,14 @@ cfsParamsByOp:
- 621 - 621
- 622 - 622
- 825 - 825
- 1110
25: [] 25: []
111: 111:
- 368 - 368
- 369 - 369
- 372 - 372
- 856 - 856
- 1112
252: [] 252: []
stateParams: stateParams:
vdcUid: '' vdcUid: ''
@@ -137,3 +183,4 @@ stateParams:
vdcType: vdc vdcType: vdc
vdcGroupUid: '' vdcGroupUid: ''
qosProfile: '' qosProfile: ''
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
+1 -1
View File
@@ -1,6 +1,6 @@
name: vcexternalip name: vcexternalip
service_id: 25 service_id: 25
service_display_name: Публичные IP адреса service_display_name: '[DEPRECATED] Публичные IP адреса'
service_short_name: vcexternalip service_short_name: vcexternalip
service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать
публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра
+2 -2
View File
@@ -52,7 +52,7 @@ cfsParams:
svcOperationCfsParam: vappName svcOperationCfsParam: vappName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: fgpdul5a defaultValue: j8lanwbr
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 623 - svcOperationCfsParamId: 623
svcOperationCfsParam: vdcUid svcOperationCfsParam: vdcUid
@@ -71,5 +71,5 @@ cfsParamsByOp:
208: [] 208: []
stateParams: stateParams:
nsxtUid: '' nsxtUid: ''
vappName: fgpdul5a vappName: j8lanwbr
vdcUid: '' vdcUid: ''
+112 -24
View File
@@ -83,11 +83,22 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 411 - svcOperationCfsParamId: 411
svcOperationCfsParam: vmDisk svcOperationCfsParam: vmDisks
dataType: integer > 0 dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: '[{"busNum": 0, "size": "20"}]'
isModifiable: true isModifiable: true
dataDescriptor:
busNum:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
size:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 412 - svcOperationCfsParamId: 412
svcOperationCfsParam: ipSpaceName svcOperationCfsParam: ipSpaceName
dataType: string dataType: string
@@ -96,9 +107,9 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 413 - svcOperationCfsParamId: 413
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: array
isRequired: false isRequired: false
defaultValue: '' defaultValue: '["0.0.0.0/0"]'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 414 - svcOperationCfsParamId: 414
svcOperationCfsParam: imageVm svcOperationCfsParam: imageVm
@@ -126,10 +137,34 @@ cfsParams:
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 448 - svcOperationCfsParamId: 448
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '["22"]' defaultValue: '[{"port": "22", "type": "tcp"}, {"port": "10050", "type": "tcp"}]'
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: '22'
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1118
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: false
defaultValue: 'false'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 493 - svcOperationCfsParamId: 493
svcOperationCfsParam: vmCpu svcOperationCfsParam: vmCpu
dataType: integer > 0 dataType: integer > 0
@@ -143,22 +178,28 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 495 - svcOperationCfsParamId: 495
svcOperationCfsParam: vmDisk svcOperationCfsParam: vmDisks
dataType: integer > 0 dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
busNum:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
size:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 496 - svcOperationCfsParamId: 496
svcOperationCfsParam: ipSpaceName svcOperationCfsParam: ipSpaceName
dataType: string dataType: string
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 497 - svcOperationCfsParamId: 497
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -167,10 +208,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 498 - svcOperationCfsParamId: 498
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1119
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 509 - svcOperationCfsParamId: 509
svcOperationCfsParam: vmName svcOperationCfsParam: vmName
dataType: string dataType: string
@@ -201,11 +266,6 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 514 - svcOperationCfsParamId: 514
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -242,10 +302,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 520 - svcOperationCfsParamId: 520
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1123
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
cfsParamsByOp: cfsParamsByOp:
132: 132:
- 407 - 407
@@ -260,6 +344,7 @@ cfsParamsByOp:
- 416 - 416
- 417 - 417
- 448 - 448
- 1118
133: [] 133: []
159: 159:
- 493 - 493
@@ -268,6 +353,7 @@ cfsParamsByOp:
- 496 - 496
- 497 - 497
- 498 - 498
- 1119
286: [] 286: []
164: 164:
- 509 - 509
@@ -281,6 +367,7 @@ cfsParamsByOp:
- 517 - 517
- 518 - 518
- 520 - 520
- 1123
135: [] 135: []
134: [] 134: []
stateParams: stateParams:
@@ -288,11 +375,12 @@ stateParams:
vmName: web01 vmName: web01
vmCpu: '1' vmCpu: '1'
vmRam: '1' vmRam: '1'
vmDisk: '' vmDisks: '{"busNum": 0, "size": 1}'
ipSpaceName: '' ipSpaceName: ''
accessIpList: '' accessIpList: '["0.0.0.0/0"]'
imageVm: '' imageVm: ''
cloudInit: '' cloudInit: ''
userLogin: myuser userLogin: myuser
userPublicKey: '' userPublicKey: ''
accessPortList: '["22"]' accessPortList: '{"port": "22", "type": "all"}'
sameSnat: 'false'
+29 -28
View File
@@ -39,6 +39,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '128' defaultValue: '128'
@@ -49,11 +54,6 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
disk: disk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '5' defaultValue: '5'
@@ -72,6 +72,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 815 - svcOperationCfsParamId: 815
@@ -91,7 +92,7 @@ cfsParams:
- service - service
domain: domain:
dataType: string dataType: string
defaultValue: abracadabra-l9gtqv1m defaultValue: abracadabra-i5kntoh3
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterIpSpace: masterIpSpace:
@@ -121,26 +122,26 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
disk: disk:
dataType: integer >= 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 817 - svcOperationCfsParamId: 817
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -148,16 +149,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
slaveIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
slaveAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
type: type:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -176,11 +167,21 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
masterAccessList: masterAccessList:
dataType: json dataType: json
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
74: 74:
- 813 - 813
@@ -194,6 +195,6 @@ cfsParamsByOp:
98: [] 98: []
97: [] 97: []
stateParams: stateParams:
clusterConfiguration: '{"memory": 128, "replicas": 1, "cpu": 100, "disk": 5}' clusterConfiguration: '{"cpu": 100, "memory": 128, "replicas": 1, "disk": 5}'
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-l9gtqv1m", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}' accessConfiguration: '{"type": "ingress", "domain": "abracadabra-i5kntoh3", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
+104 -60
View File
@@ -2,7 +2,49 @@ name: nextcloud
service_id: 50 service_id: 50
service_display_name: Nextcloud service_display_name: Nextcloud
service_short_name: nextcloud service_short_name: nextcloud
service_man: 'Ресурсная платформа: k8s. Автоматизация: helm chart' service_man: '# Инструкция по развертыванию Nextcloud через платформу<br/><br/>## 1. Общая информация<br/><br/>Nextcloud — платформа для хранения и совместной работы с файлами. Разворачивается в K8s через
Helm-чарт `nextcloud/nextcloud`.<br/><br/>Сервис **не самодостаточен** — для создания необходимы заранее развёрнутые в той же ресурсной платформе:<br/><br/>* **PostgreSQL (k8s)** — база данных Nextcloud.
У СУБД должен быть выставлен параметр `sslRequired: false`.<br/>* **Redis (k8s)** — используется как memcache/locking backend.<br/><br/>Резервное копирование выполняется через **Velero** (бэкапятся под
и PVC с данными), а не штатным S3-бэкапом СУБД.<br/><br/>### Доступные операции с сервисом<br/><br/>* **create** — создание сервиса<br/>* **delete** — удаление сервиса<br/>* **suspend** —
остановка сервиса (масштабирование реплик в 0)<br/>* **resume** — запуск сервиса<br/>* **restart** — перезапуск (`kubectl rollout restart`)<br/>* **modify** — изменение настроек
сервиса<br/>* **reconcile** — служебная операция синхронизации версии (запускается платформой автоматически)<br/>* **create_backup** — создание резервной копии вручную (через Velero)<br/>* **recovery** —
восстановление из резервной копии в **новый** инстанс<br/><br/>> **Примечание:** операций работы с пользователями Nextcloud (`create_user`/`modify_user`/`delete_user`) на уровне платформы нет — пользователи
приложения администрируются внутри самого Nextcloud.<br/><br/>---<br/><br/>## 2. Параметры создания сервиса<br/><br/>### Платформа для развертывания<br/><br/>Ресурсная платформа (`resourceRealm`), в которой
будет развёрнут сервис. PostgreSQL и Redis, указанные ниже, обязаны находиться в той же ресурсной платформе.<br/><br/>### СУБД PostgreSQL (psqlUid)<br/><br/>UID инстанса PostgreSQL (k8s), в котором будет
создана база и пользователь `nextcloud`.<br/><br/>* У выбранной СУБД должна отсутствовать база `nextcloud` и пользователь `nextcloud`.<br/>* У СУБД обязан быть выключен `sslMode` (`false`).<br/><br/>###
СУБД Redis (redisUid)<br/><br/>UID инстанса Redis (k8s), который будет использоваться как memcache/locking backend.<br/><br/>### Количество реплик<br/><br/>Количество реплик Nextcloud (`clusterConfiguration.replicas`).<br/><br/>###
Квота памяти пода (MB)<br/><br/>Объём памяти для пода Nextcloud в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода Nextcloud в миликорах (1000 mCPU = 1 vCPU).<br/>Пример:
`1000`<br/><br/>### Размер диска для данных (GB)<br/><br/>Объём диска под данные Nextcloud (`/var/www/html/data`) в гигабайтах.<br/>Пример: `20`<br/><br/>### Домен<br/><br/>Домен, на котором будет доступен
Nextcloud (`accessConfiguration.domain`).<br/><br/>* Если указано **полное доменное имя** (содержит точку, например `cloud.company.ru`) — домен считается клиентским. Перед созданием клиент обязан сам
настроить DNS-запись, указывающую на адрес Ingress платформы, иначе создание завершится ошибкой.<br/>* Если указано **короткое имя** (без точки, например `mycloud`) — платформа сама создаёт DNS-запись
вида `<domain>.nextcloudk8s` и настраивает сертификат.<br/><br/>### Версия<br/><br/>Версия приложения Nextcloud (`appConfiguration.version`, поле `appVersion` Helm-чарта). По ней автоматически подбирается
последняя подходящая версия Helm-чарта.<br/><br/>### Document Server<br/><br/>Параметр `appConfiguration.documentServer`. Если указать `collabora` — в кластер дополнительно разворачивается Collabora Online
(совместное редактирование офисных документов), доступный по пути `/collabora` на том же домене.<br/>Оставьте пустым, если Document Server не нужен.<br/><br/>### Уровень логирования<br/><br/>Параметр
`appConfiguration.logLevel`. Одно из значений: `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, либо `NONE` — чтобы не переопределять логирование Nextcloud.<br/><br/>---<br/><br/>## 3. Параметры модификации
сервиса<br/><br/>Изменению подлежат ресурсы, версия и часть `appConfiguration`. Параметры `psqlUid`/`redisUid` менять после создания не рекомендуется.<br/><br/>### Количество реплик<br/><br/>См. раздел
2.<br/><br/>### Квота памяти пода (MB) / Квота CPU пода (mCPU) / Размер диска (GB)<br/><br/>См. раздел 2.<br/><br/>> **Примечание:** уменьшить уже выделенный размер диска нельзя.<br/><br/>### Версия<br/><br/>Обновление
версии разрешено только **на один патч** либо **на одну минорную версию вперёд** (с `patch=0`). Прыжок сразу через несколько минорных версий или через несколько мажорных версий запрещён — обновляться
нужно последовательно.<br/><br/>> **Примечание:** перед обновлением на новую minor/major-версию необходимо сначала выполнить `modify` на текущей версии, обновившись до последнего релиза этой версии (иначе
операция завершится ошибкой с описанием, до какой версии нужно обновиться сначала).<br/><br/>### Document Server / Уровень логирования<br/><br/>См. раздел 2.<br/><br/>---<br/><br/>## 4. Параметры удаления
сервиса<br/><br/>Специальных параметров нет — удаление сносит namespace целиком.<br/><br/>> **Примечание:** резервные копии, созданные через `create_backup`, хранятся в Velero отдельно от инстанса и **не
удаляются** вместе с сервисом — операции `delete_backup` для Nextcloud нет, копии нужно вычищать на стороне Velero отдельно.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>Специальных
пользовательских параметров нет — имя бэкапа генерируется автоматически в формате `<дата>-<версия>-<namespace>`.<br/><br/>> **Примечание:** создать бэкап можно только если сервис предварительно приостановлен
(`suspend`). Velero, в который создаётся бэкап, должен быть развёрнут в той же ресурсной платформе, что и Nextcloud, и не может быть сменён на другой Velero-инстанс в рамках одного сервиса.<br/><br/>Бэкапится
под с данными вместе с PVC/PV (файлы), метаданные и БД PostgreSQL бэкапом не затрагиваются — версия схемы БД фиксируется отдельно (см. раздел 6).<br/><br/>---<br/><br/>## 6. Параметры восстановления из
бэкапа (recovery)<br/><br/>В отличие от СУБД-сервисов, `recovery` у Nextcloud **не восстанавливает данные в текущий инстанс**, а создаёт **новый** инстанс сервиса (аналог `create`), в который переносятся
файлы из указанной резервной копии.<br/><br/>### Точка восстановления (recoveryPoint)<br/><br/>Имя резервной копии Velero, из которой будет выполнено восстановление.<br/><br/>### Домен нового инстанса<br/><br/>Обязан
отличаться от домена исходного (текущего) инстанса — восстановление на тот же домен не поддерживается.<br/><br/>### СУБД PostgreSQL нового инстанса<br/><br/>Если версия Nextcloud в бэкапе отличается от
текущей версии инстанса, для нового инстанса обязательно нужно указать **другую** СУБД PostgreSQL (нельзя восстанавливать бэкап со старой схемой БД поверх БД с более новой схемой).<br/><br/>---<br/><br/>##
7. Выходные параметры<br/><br/>После успешного создания сервиса платформа возвращает:<br/><br/>### connectionUrl<br/><br/>Адрес для входа в Nextcloud: `https://<домен>`.<br/><br/>### namespace<br/><br/>Namespace
в K8s-кластере, в котором развёрнут сервис.<br/><br/>### Учётные данные (Vault)<br/><br/>В Vault сохраняется пароль администратора (`adminPass`) под логином `admin`.<br/><br/>---<br/><br/>## 8. Пример
подключения<br/><br/>Откройте `connectionUrl` в браузере и авторизуйтесь:<br/><br/>* **Логин:** `admin`<br/>* **Пароль:** значение `adminPass` из блока «Учётные данные» в Vault<br/><br/>---<br/><br/>##
9. Дополнительная информация<br/><br/>### Зависимости<br/><br/>Nextcloud нельзя создать без уже существующих в том же `resourceRealm` сервисов PostgreSQL (k8s, `sslRequired: false`) и Redis (k8s). При
`delete` зависимые СУБД и Redis не трогаются — удаляется только сам Nextcloud.<br/><br/>### suspend/resume<br/><br/>При `suspend` количество реплик Nextcloud, Collabora и exporter''а метрик принудительно
выставляется в `0` через `helm upgrade` (реальное масштабирование, а не просто пауза cron). При `resume` реплики возвращаются к значению из `clusterConfiguration.replicas`.<br/><br/>### Collabora<br/><br/>Собирается
из отдельного `image.repository: nexus-sa.tst.nubes.ru/collabora/code` и включается только при `appConfiguration.documentServer == ''collabora''`. Доступен на том же домене и том же TLS-сертификате, что
и сам Nextcloud, по пути `/collabora`.<br/><br/>### Бэкап/восстановление через Velero<br/><br/>Бэкап/восстановление файлов идёт через Velero с селектором `backup=<serviceName>-velero-backup` и включает
под, PVC и PV — то есть непосредственно файлы `/var/www/html/data`. Восстановление БД в новый инстанс выполняется штатным механизмом `create` с параметром `instanceUidFrom`, который проставляет `recovery`-джоба
автоматически.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -53,6 +95,22 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
resourceRealm:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
psqlEnabled:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
redisEnabled: redisEnabled:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -70,21 +128,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
resourceRealm:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
psqlEnabled:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- svcOperationCfsParamId: 1056 - svcOperationCfsParamId: 1056
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -138,7 +181,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-vbxjicr2 defaultValue: nextcloud-gsjkslra
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1058 - svcOperationCfsParamId: 1058
@@ -193,19 +236,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -230,6 +260,19 @@ cfsParams:
- '6144' - '6144'
- '7168' - '7168'
- '8192' - '8192'
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1060 - svcOperationCfsParamId: 1060
svcOperationCfsParam: appConfiguration svcOperationCfsParam: appConfiguration
dataType: map-fixed dataType: map-fixed
@@ -276,18 +319,9 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlEnabled: psqlEnabled:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -302,6 +336,11 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- 'true' - 'true'
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlUid: psqlUid:
dataType: uuid dataType: uuid
defaultValue: '' defaultValue: ''
@@ -312,6 +351,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1079 - svcOperationCfsParamId: 1079
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -319,16 +363,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer > 0
defaultValue: 1,2
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -353,6 +387,16 @@ cfsParams:
- '6144' - '6144'
- '7168' - '7168'
- '8192' - '8192'
replicas:
dataType: integer > 0
defaultValue: 1,2
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1080 - svcOperationCfsParamId: 1080
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -362,7 +406,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-bcdguda1 defaultValue: nextcloud-cpp3zfhe
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1081 - svcOperationCfsParamId: 1081
@@ -372,6 +416,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
documentServer:
dataType: string
defaultValue: collabora
isRequired: true
isModifiable: false
valueList:
- collabora
logLevel: logLevel:
dataType: string dataType: string
defaultValue: NONE defaultValue: NONE
@@ -389,13 +440,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
documentServer:
dataType: string
defaultValue: collabora
isRequired: true
isModifiable: false
valueList:
- collabora
cfsParamsByOp: cfsParamsByOp:
16: 16:
- 1055 - 1055
@@ -418,7 +462,7 @@ cfsParamsByOp:
129: [] 129: []
128: [] 128: []
stateParams: stateParams:
startupConfiguration: '{"redisEnabled": true, "psqlUid": "", "redisUid": "", "resourceRealm": "", "psqlEnabled": true}' startupConfiguration: '{"resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}'
accessConfiguration: '{"domain": "nextcloud-vbxjicr2"}' accessConfiguration: '{"domain": "nextcloud-gsjkslra"}'
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}' appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
+1
View File
@@ -54,6 +54,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 227 - svcOperationCfsParamId: 227
+50 -2
View File
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация: процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
keycloak' keycloak'
lifecycle: lifecycle:
suspendOnDestroyDefault: false suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
operations: operations:
- svcOperationId: 14 - svcOperationId: 14
@@ -26,6 +26,14 @@ operations:
operation: reconcile operation: reconcile
kind: action kind: action
action: reconcile action: reconcile
- svcOperationId: 415
operation: resume
kind: instance
action: resume
- svcOperationId: 416
operation: suspend
kind: instance
action: suspend
stateOut: {} stateOut: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 16 - svcOperationCfsParamId: 16
@@ -41,6 +49,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 228 - svcOperationCfsParamId: 228
@@ -64,9 +73,33 @@ cfsParams:
- svcOperationCfsParamId: 231 - svcOperationCfsParamId: 231
svcOperationCfsParam: s3Uid svcOperationCfsParam: s3Uid
dataType: uuid dataType: uuid
isRequired: true isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1126
svcOperationCfsParam: pvType
dataType: string
isRequired: true
defaultValue: s3
isModifiable: false
valueList:
- s3
- local
- svcOperationCfsParamId: 1127
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: '5'
isModifiable: true
- svcOperationCfsParamId: 1128
svcOperationCfsParam: authType
dataType: string
isRequired: true
defaultValue: local
isModifiable: false
valueList:
- local
- keycloak
- svcOperationCfsParamId: 822 - svcOperationCfsParamId: 822
svcOperationCfsParam: resourceInstances svcOperationCfsParam: resourceInstances
dataType: integer > 0 dataType: integer > 0
@@ -85,6 +118,12 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1129
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
14: 14:
- 16 - 16
@@ -93,12 +132,18 @@ cfsParamsByOp:
- 229 - 229
- 230 - 230
- 231 - 231
- 1126
- 1127
- 1128
15: [] 15: []
270: 270:
- 822 - 822
- 823 - 823
- 824 - 824
- 1129
405: [] 405: []
415: []
416: []
stateParams: stateParams:
domain: harbor-1 domain: harbor-1
resourceRealm: '' resourceRealm: ''
@@ -106,3 +151,6 @@ stateParams:
resourceMemory: '1024' resourceMemory: '1024'
resourceInstances: '1' resourceInstances: '1'
s3Uid: '' s3Uid: ''
pvType: s3
resourceDisk: '5'
authType: local
+6 -5
View File
@@ -71,6 +71,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 964 - svcOperationCfsParamId: 964
@@ -118,6 +119,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -132,11 +138,6 @@ cfsParams:
- '1' - '1'
- '2' - '2'
- '3' - '3'
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 966 - svcOperationCfsParamId: 966
svcOperationCfsParam: nodeAgentConfiguration svcOperationCfsParam: nodeAgentConfiguration
dataType: map-fixed dataType: map-fixed
+254
View File
@@ -0,0 +1,254 @@
name: k8svalkey
service_id: 87
service_display_name: Valkey
service_short_name: k8svalkey
service_man: Valkey-кластер.<br/>Пока в статусе EXPEREMENTAL
lifecycle:
suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 396
operation: create
kind: instance
action: create
- svcOperationId: 401
operation: create_user
kind: subresource
action: create
- svcOperationId: 395
operation: delete
kind: instance
action: delete
- svcOperationId: 402
operation: delete_user
kind: subresource
action: delete
- svcOperationId: 400
operation: modify
kind: instance
action: modify
- svcOperationId: 397
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 399
operation: resume
kind: instance
action: resume
- svcOperationId: 398
operation: suspend
kind: instance
action: suspend
stateOut:
users: {}
cfsParams:
- svcOperationCfsParamId: 1066
svcOperationCfsParam: startupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
resourceRealm:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1067
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
shards:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
- '4'
- '5'
- svcOperationCfsParamId: 1068
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1071
svcOperationCfsParam: valkeyConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
version:
dataType: string
defaultValue: 0.1.0
isRequired: true
isModifiable: false
valueList:
- 0.1.0
- svcOperationCfsParamId: 1072
svcOperationCfsParam: valkeyConf
dataType: array-map-fixed
isRequired: false
defaultValue: ''
isModifiable: false
dataDescriptor:
paramName:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
paramValue:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1073
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 1074
svcOperationCfsParam: permissions
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 1075
svcOperationCfsParam: username
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1069
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
shards:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
- '4'
- '5'
- svcOperationCfsParamId: 1070
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
masterAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp:
396:
- 1066
- 1067
- 1068
- 1071
- 1072
401:
- 1073
- 1074
395: []
402:
- 1075
400:
- 1069
- 1070
397: []
399: []
398: []
stateParams:
startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 500, "disk": 10, "memory": 512, "replicas": 1, "shards": 1}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
valkeyConfiguration: '{"version": "0.1.0"}'
valkeyConf: '{"paramName": "", "paramValue": ""}'
@@ -0,0 +1,74 @@
name: k8s_ziti_controller
service_id: 88
service_display_name: k8sZitiController
service_short_name: k8sZitiController
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 99
operation: create
kind: instance
action: create
- svcOperationId: 105
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 294
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '300'
isModifiable: false
- svcOperationCfsParamId: 295
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: false
- svcOperationCfsParamId: 296
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 297
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 298
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 299
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: k8sZitiController-1
isModifiable: false
cfsParamsByOp:
99:
- 294
- 295
- 296
- 297
- 298
- 299
105: []
stateParams:
resourceCPU: '300'
resourceMemory: '512'
resourceDisk: '1'
resourceInstances: '1'
resourceRealm: ''
domain: k8sZitiController-1
+17 -15
View File
@@ -66,6 +66,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1038 - svcOperationCfsParamId: 1038
@@ -104,7 +105,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: flask-4brtjmwm defaultValue: flask-67i6r0en
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1040 - svcOperationCfsParamId: 1040
@@ -114,6 +115,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
gitPath:
dataType: string
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
isRequired: true
isModifiable: false
healthPath: healthPath:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -126,11 +132,6 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- '3.12' - '3.12'
gitPath:
dataType: string
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1041 - svcOperationCfsParamId: 1041
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -171,13 +172,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -188,6 +182,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
- svcOperationCfsParamId: 1044 - svcOperationCfsParamId: 1044
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -207,6 +208,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
cfsParamsByOp: cfsParamsByOp:
@@ -229,6 +231,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "flask-4brtjmwm"}' accessConfiguration: '{"domain": "flask-67i6r0en"}'
appConfiguration: '{"healthPath": "", "version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git"}' appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
jsonEnv: '{}' jsonEnv: '{}'
+152 -81
View File
@@ -101,6 +101,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -116,16 +126,6 @@ cfsParams:
defaultValue: '10' defaultValue: '10'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '512'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 789 - svcOperationCfsParamId: 789
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -139,6 +139,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 790 - svcOperationCfsParamId: 790
@@ -181,16 +182,10 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: - '15'
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
poolerMaster: poolerMaster:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -207,25 +202,41 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
sslRequired:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 792 - svcOperationCfsParamId: 792
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: '100'
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 793 - svcOperationCfsParamId: 793
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -235,9 +246,9 @@ cfsParams:
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: string
defaultValue: '' defaultValue: 00000000-0000-0000-0000-000000000000
isRequired: true isRequired: false
isModifiable: false isModifiable: false
retain: retain:
dataType: integer > 0 dataType: integer > 0
@@ -249,6 +260,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: '0'
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 794 - svcOperationCfsParamId: 794
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -311,7 +327,7 @@ cfsParams:
isModifiable: false isModifiable: false
durationServer: durationServer:
dataType: integer > 0 dataType: integer > 0
defaultValue: '87600' defaultValue: '43800'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
certCA: certCA:
@@ -453,6 +469,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: sslRequired:
@@ -478,23 +495,31 @@ cfsParams:
- 'true' - 'true'
- svcOperationCfsParamId: 798 - svcOperationCfsParamId: 798
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 799 - svcOperationCfsParamId: 799
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -503,6 +528,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule: schedule:
dataType: string dataType: string
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
@@ -513,10 +543,10 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
retain: incrementCount:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 800 - svcOperationCfsParamId: 800
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
@@ -564,24 +594,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
certCA:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
certServer:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
refreshCert:
dataType: boolean
defaultValue: 'false'
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
type: type:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -601,6 +613,24 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
certCA:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
certServer:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
refreshCert:
dataType: boolean
defaultValue: 'false'
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 801 - svcOperationCfsParamId: 801
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -614,6 +644,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
recoveryPoint: recoveryPoint:
@@ -628,11 +659,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '500' defaultValue: '500'
@@ -653,6 +679,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 803 - svcOperationCfsParamId: 803
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -721,23 +752,31 @@ cfsParams:
- 'true' - 'true'
- svcOperationCfsParamId: 805 - svcOperationCfsParamId: 805
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 806 - svcOperationCfsParamId: 806
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -761,6 +800,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 807 - svcOperationCfsParamId: 807
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -768,6 +812,14 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
enabled:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
schedule: schedule:
dataType: integer >= 0 dataType: integer >= 0
defaultValue: '0' defaultValue: '0'
@@ -792,14 +844,32 @@ cfsParams:
- '10' - '10'
- '15' - '15'
- '20' - '20'
enabled: - svcOperationCfsParamId: 1106
dataType: boolean svcOperationCfsParam: mtlsConfiguration
defaultValue: 'false' dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
type:
dataType: string
defaultValue: 'off'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 'false' - 'off'
- 'true' - manual
- auto
durationCA:
dataType: integer > 0
defaultValue: '175200'
isRequired: true
isModifiable: false
durationServer:
dataType: integer > 0
defaultValue: '87600'
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
19: 19:
- 788 - 788
@@ -841,15 +911,16 @@ cfsParamsByOp:
- 805 - 805
- 806 - 806
- 807 - 807
- 1106
54: [] 54: []
114: [] 114: []
115: [] 115: []
stateParams: stateParams:
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 500, "memory": 512}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}' postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
postgresConf: '{"paramName": "", "paramValue": ""}' postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 87600, "certCA": "", "certServer": ""}' mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 43800, "certCA": "", "certServer": ""}'
+12 -11
View File
@@ -46,6 +46,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1062 - svcOperationCfsParamId: 1062
@@ -55,6 +56,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '512' defaultValue: '512'
@@ -75,11 +81,6 @@ cfsParams:
defaultValue: '10' defaultValue: '10'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '500'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1063 - svcOperationCfsParamId: 1063
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -146,6 +147,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
masterAccessList: masterAccessList:
dataType: json dataType: json
defaultValue: '' defaultValue: ''
@@ -161,11 +167,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
21: 21:
- 1061 - 1061
@@ -180,5 +181,5 @@ cfsParamsByOp:
392: [] 392: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"memory": 512, "replicas": 1, "disk": 10, "cpu": 500}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
+193 -53
View File
@@ -3,34 +3,65 @@ service_id: 92
service_display_name: MongoDB service_display_name: MongoDB
service_short_name: mongodb service_short_name: mongodb
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** — горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
**Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение
Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
`["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать нечётное созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества узлов ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>###
Включить TLS<br/><br/>Булевый параметр. Определяет режим работы TLS кластера.<br/><br/>- `true` — TLS включён (`tls.mode: allowTLS`). Сертификаты сохраняются в Vault.<br/>- `false` — TLS выключен (`tls.mode:
disabled`).<br/><br/>По умолчанию: `false`.<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система
автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать
нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества
узлов после создания кластера не рекомендуется.<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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>### `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует, их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к "Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или (созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<br/><br/>Список имён резервных копий
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину для удаления.<br/>Пример: `["manual-20260904", "cron-mongok8s-...-20260903020000"]`<br/><br/>---<br/><br/>## 8. Параметры создания пользователя<br/><br/>### Имя пользователя<br/><br/>Указывается имя пользователя
и паролю.' (любой регистр).<br/>Пример: `readApp`<br/><br/>> **Примечание:** имя пользователя должно быть уникальным в рамках кластера. Если пользователь<br/>> с таким именем уже существует, операция завершится
ошибкой — используйте `modify_user` для<br/>> изменения прав или `delete_user` + `create_user` для пересоздания.<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если
база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner**
— полный контроль над базой данных<br/>* **dbAdmin** — администрирование базы данных (индексы, статистика, схема) без доступа к чтению/записи данных<br/><br/>---<br/><br/>## 9. Параметры модификации пользователя<br/><br/>###
Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой
относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/>* **dbAdmin**<br/><br/>---<br/><br/>##
10. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для удаления.<br/><br/>---<br/><br/>## 11. Выходные параметры<br/><br/>После успешного развертывания
базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних
интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>> **Важно:** оба эндпоинта — это Kubernetes
Service на весь replset, а не адрес конкретно<br/>> primary-узла. Kubernetes не отслеживает, кто из узлов сейчас primary, поэтому новое<br/>> подключение без параметра `replicaSet` может попасть на secondary
и упасть с ошибкой записи<br/>> `not writable primary`. Обязательно указывайте `replicaSet=rs0` в строке подключения (см.<br/>> примеры ниже) — тогда драйвер сам обнаружит топологию кластера и всегда
направит запись на<br/>> актуальный primary, независимо от количества реплик и от того, происходили ли выборы.<br/><br/>---<br/><br/>## 12. Пример подключения<br/><br/>Перед подключением необходимо установить
**mongosh**.<br/><br/>### 12.1 Подключение без TLS<br/><br/>Для внутреннего подключения из той же сети:<br/><br/>```<br/>mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>?authSource=admin&replicaSet=rs0"<br/>```<br/><br/>###
12.2 Подключение через внешний endpoint с TLS<br/><br/>Кластер требует клиентский TLS-сертификат (mutual TLS). Сертификаты сохраняются в Vault при создании кластера в блоке `cer` в полях `ca`, `cer`,
`key` в кодировке base64.<br/><br/>Подготовка файлов:<br/><br/>```bash<br/># Декодировать сертификаты из Vault<br/>echo "<ca из блока Учётные данные>" | base64 -d > ca.crt<br/>echo "<cer из из блока Учётные
данные" | base64 -d > tls.crt<br/>echo "<key из из блока Учётные данные>" | base64 -d > tls.key<br/><br/># Собрать клиентский PEM<br/>cat tls.key tls.crt > client.pem<br/>```<br/><br/>Подключение:<br/><br/>```<br/>mongosh
"mongodb://<username>:<password>@<external_endpoint_db>:27017/<dbName>?tls=true&tlsCAFile=ca.crt&tlsCertificateKeyFile=client.pem&authSource=admin&replicaSet=rs0"<br/>```<br/><br/>Где:<br/><br/>* `<username>`
— имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect (для подключения без TLS)<br/>* `<external_endpoint_db>` — externalConnect (для внешнего подключения с TLS)<br/>*
`<dbName>` — имя базы данных<br/><br/>## 13. Дополнительная информация<br/><br/>Режим TLS задаётся параметром `mongoConfiguration.tls` только при создании кластера.<br/>После создания изменение TLS через
модификацию не поддерживается.<br/><br/>- При `true` кластер разворачивается с включённым TLS (`tls.mode: allowTLS`). Сервер принимает как обычные, так и TLS-соединения.<br/>- При `false` TLS выключен
(`tls.mode: disabled`).<br/><br/>Для внешнего подключения (`externalConnect`) используется сертификат, выпущенный через cert-manager, с SAN, покрывающим внешний DNS-адрес кластера — поэтому `tlsAllowInvalidHostnames`
не требуется, хост проверяется как обычно.<br/><br/>Внутренние подключения TLS-сертификат не используют вообще: режим `allowTLS` допускает как TLS, так и обычные соединения, но для внутреннего трафика
применяется обычное (не TLS) подключение — см. пример 12.1.<br/><br/>### Почему обязателен `replicaSet=rs0` в строке подключения<br/><br/>Percona-оператор не проставляет на поды никакого динамического
лейбла роли (primary/secondary) —<br/>у всех подов replset''а полностью одинаковые лейблы, различается только имя/индекс пода.<br/>`master`-сервис — это обычный Kubernetes Service с фиксированным селектором
на весь replset, он<br/>не знает и не может знать, какой под сейчас primary: k8s просто раздаёт новые TCP-подключения<br/>по кругу между всеми узлами. Без `replicaSet=rs0` в URI подключение может закрепиться
на<br/>secondary, и любая попытка записи будет падать с `not writable primary` — независимо от того,<br/>происходили выборы недавно или нет. Указание `replicaSet=rs0` включает у драйвера обнаружение<br/>топологии
реплики, и он сам направляет запись на актуальный primary при любом количестве узлов<br/>и после любых переизбраний.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -39,6 +70,10 @@ operations:
operation: create operation: create
kind: instance kind: instance
action: create action: create
- svcOperationId: 411
operation: create_backup
kind: subresource
action: create
- svcOperationId: 198 - svcOperationId: 198
operation: create_user operation: create_user
kind: subresource kind: subresource
@@ -47,6 +82,10 @@ operations:
operation: delete operation: delete
kind: instance kind: instance
action: delete action: delete
- svcOperationId: 414
operation: delete_backup
kind: subresource
action: delete
- svcOperationId: 199 - svcOperationId: 199
operation: delete_user operation: delete_user
kind: subresource kind: subresource
@@ -67,11 +106,16 @@ operations:
operation: resume operation: resume
kind: instance kind: instance
action: resume action: resume
- svcOperationId: 413
operation: rollback
kind: action
action: rollback
- svcOperationId: 194 - svcOperationId: 194
operation: suspend operation: suspend
kind: instance kind: instance
action: suspend action: suspend
stateOut: stateOut:
backups: {}
users: {} users: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 1089 - svcOperationCfsParamId: 1089
@@ -87,6 +131,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1090 - svcOperationCfsParamId: 1090
@@ -96,6 +141,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '1000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '1024'
isRequired: true
isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -111,16 +166,6 @@ cfsParams:
defaultValue: '5' defaultValue: '5'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '1000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '1024'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1091 - svcOperationCfsParamId: 1091
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -128,16 +173,59 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1102
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain:
dataType: integer > 0
defaultValue: '7'
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: 0 0 * * *
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1116
svcOperationCfsParam: mongoConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
tls:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 1109
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 635 - svcOperationCfsParamId: 635
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -157,12 +245,28 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1103
svcOperationCfsParam: deleteS3Bucket
dataType: boolean
isRequired: true
defaultValue: 'true'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 1111
svcOperationCfsParam: backupName
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 644 - svcOperationCfsParamId: 644
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: array
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
@@ -173,11 +277,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -198,6 +297,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1093 - svcOperationCfsParamId: 1093
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -215,6 +319,23 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1104
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 640 - svcOperationCfsParamId: 640
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -234,32 +355,51 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1108
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
37: 37:
- 1089 - 1089
- 1090 - 1090
- 1091 - 1091
- 1102
- 1116
411:
- 1109
198: 198:
- 635 - 635
- 636 - 636
- 643 - 643
190: [] 190:
- 1103
414:
- 1111
199: 199:
- 644 - 644
201: 201:
- 1092 - 1092
- 1093 - 1093
- 1104
200: 200:
- 640 - 640
- 641 - 641
- 642 - 642
409: [] 409: []
196: [] 196: []
413:
- 1108
194: [] 194: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"replicas": 1, "disk": 5, "cpu": 1000, "memory": 1024}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
mongoConfiguration: '{"tls": false}'
+33 -5
View File
@@ -76,6 +76,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1098 - svcOperationCfsParamId: 1098
@@ -127,6 +128,18 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1113
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
maxMessageSize:
dataType: integer > 0
defaultValue: '4'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1100 - svcOperationCfsParamId: 1100
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -134,11 +147,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -159,6 +167,11 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1101 - svcOperationCfsParamId: 1101
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -176,15 +189,29 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1114
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
maxMessageSize:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
38: 38:
- 1097 - 1097
- 1098 - 1098
- 1099 - 1099
- 1113
39: [] 39: []
106: 106:
- 1100 - 1100
- 1101 - 1101
- 1114
410: [] 410: []
117: [] 117: []
116: [] 116: []
@@ -192,3 +219,4 @@ stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
mqConfiguration: '{"maxMessageSize": 4}'
+18 -16
View File
@@ -53,6 +53,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1020 - svcOperationCfsParamId: 1020
@@ -91,7 +92,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: lucee-pzpvwkuk defaultValue: lucee-bpp5vpr5
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1022 - svcOperationCfsParamId: 1022
@@ -101,11 +102,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
healthPath:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
version: version:
dataType: string dataType: string
defaultValue: '6.0' defaultValue: '6.0'
@@ -119,6 +115,11 @@ cfsParams:
defaultValue: https://github.com/xahys/testlucee defaultValue: https://github.com/xahys/testlucee
isRequired: true isRequired: true
isModifiable: false isModifiable: false
healthPath:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 1023 - svcOperationCfsParamId: 1023
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -159,6 +160,14 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '6.0'
- '5.4'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -169,14 +178,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '6.0'
- '5.4'
- svcOperationCfsParamId: 1026 - svcOperationCfsParamId: 1026
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -196,6 +197,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
cfsParamsByOp: cfsParamsByOp:
@@ -219,6 +221,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "lucee-pzpvwkuk"}' accessConfiguration: '{"domain": "lucee-bpp5vpr5"}'
appConfiguration: '{"healthPath": "", "version": "6.0", "gitPath": "https://github.com/xahys/testlucee"}' appConfiguration: '{"version": "6.0", "gitPath": "https://github.com/xahys/testlucee", "healthPath": ""}'
jsonEnv: '{}' jsonEnv: '{}'
+11 -3
View File
@@ -51,6 +51,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 1029 - svcOperationCfsParamId: 1029
@@ -89,7 +90,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: node-ctkmt4iw defaultValue: node-zjkc4kir
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1031 - svcOperationCfsParamId: 1031
@@ -125,6 +126,12 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '{}' defaultValue: '{}'
isModifiable: true isModifiable: true
dataDescriptor:
DB_PASS:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1033 - svcOperationCfsParamId: 1033
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -198,6 +205,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
cfsParamsByOp: cfsParamsByOp:
@@ -220,6 +228,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": ""}' startupConfiguration: '{"resourceRealm": ""}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "node-ctkmt4iw"}' accessConfiguration: '{"domain": "node-zjkc4kir"}'
appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": "1"}' appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": "1"}'
jsonEnv: '{}' jsonEnv: '{"DB_PASS": ""}'
+2
View File
@@ -64,6 +64,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 170 - svcOperationCfsParamId: 170
@@ -103,6 +104,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
cfsParamsByOp: cfsParamsByOp:
+74
View File
@@ -0,0 +1,74 @@
name: nodered
service_id: 97
service_display_name: NodeRed
service_short_name: nodered
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 72
operation: create
kind: instance
action: create
- svcOperationId: 73
operation: delete
kind: instance
action: delete
stateOut: {}
cfsParams:
- svcOperationCfsParamId: 193
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '500'
isModifiable: false
- svcOperationCfsParamId: 194
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: false
- svcOperationCfsParamId: 195
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
- svcOperationCfsParamId: 196
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
valueList:
- devclustername
- k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 197
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: nodered-1
isModifiable: false
- svcOperationCfsParamId: 323
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '1'
isModifiable: false
cfsParamsByOp:
72:
- 193
- 194
- 195
- 196
- 197
- 323
73: []
stateParams:
resourceCPU: '500'
resourceMemory: '512'
resourceDisk: '1'
resourceRealm: ''
domain: nodered-1
resourceInstances: '1'
+26 -3
View File
@@ -67,6 +67,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
- svcOperationCfsParamId: 217 - svcOperationCfsParamId: 217
@@ -74,19 +75,19 @@ cfsParams:
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 241 - svcOperationCfsParamId: 241
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 782 - svcOperationCfsParamId: 782
svcOperationCfsParam: ingressAnnotations svcOperationCfsParam: ingressAnnotations
dataType: map dataType: map
isRequired: false isRequired: false
defaultValue: '{}' defaultValue: '{}'
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 218 - svcOperationCfsParamId: 218
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
@@ -105,6 +106,24 @@ cfsParams:
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1120
svcOperationCfsParam: registryPath
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1121
svcOperationCfsParam: jsonEnv
dataType: map
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1122
svcOperationCfsParam: ingressAnnotations
dataType: map
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 272 - svcOperationCfsParamId: 272
svcOperationCfsParam: resourceRealm svcOperationCfsParam: resourceRealm
dataType: string dataType: string
@@ -112,6 +131,7 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- devclustername
- k8s-3-sandbox-nubes-ru - k8s-3-sandbox-nubes-ru
- k8s-4-sandbox-nubes-ru - k8s-4-sandbox-nubes-ru
cfsParamsByOp: cfsParamsByOp:
@@ -129,6 +149,9 @@ cfsParamsByOp:
- 218 - 218
- 219 - 219
- 220 - 220
- 1120
- 1121
- 1122
403: [] 403: []
79: 79:
- 272 - 272
+8
View File
@@ -97,6 +97,12 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1124
svcOperationCfsParam: iniServiceParams
dataType: map
isRequired: false
defaultValue: DISABLE_REGISTRATION:true
isModifiable: false
- svcOperationCfsParamId: 259 - svcOperationCfsParamId: 259
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
@@ -143,6 +149,7 @@ cfsParamsByOp:
- 238 - 238
- 818 - 818
- 821 - 821
- 1124
83: [] 83: []
91: 91:
- 259 - 259
@@ -162,3 +169,4 @@ stateParams:
psqlUid: '' psqlUid: ''
ingressExtraAnnotations: '' ingressExtraAnnotations: ''
iniServerParams: '' iniServerParams: ''
iniServiceParams: DISABLE_REGISTRATION:true
+18 -6
View File
@@ -127,10 +127,16 @@ cfsParams:
- SSHFP - SSHFP
- svcOperationCfsParamId: 780 - svcOperationCfsParamId: 780
svcOperationCfsParam: recordInput svcOperationCfsParam: recordInput
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: '[{}]'
isModifiable: false isModifiable: false
dataDescriptor:
record:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 781 - svcOperationCfsParamId: 781
svcOperationCfsParam: recordName svcOperationCfsParam: recordName
dataType: string dataType: string
@@ -160,12 +166,12 @@ cfsParams:
- NS - NS
- SSHFP - SSHFP
- CAA - CAA
recordInput: recordName:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
recordName: recordInput:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
@@ -205,10 +211,16 @@ cfsParams:
- SSHFP - SSHFP
- svcOperationCfsParamId: 786 - svcOperationCfsParamId: 786
svcOperationCfsParam: recordInput svcOperationCfsParam: recordInput
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: '[{}]'
isModifiable: true isModifiable: true
dataDescriptor:
record:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
254: 254:
- 761 - 761
+67 -43
View File
@@ -2,7 +2,54 @@ name: mariadb
service_id: 115 service_id: 115
service_display_name: Mariadb service_display_name: Mariadb
service_short_name: mariadb service_short_name: mariadb
service_man: 'Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.<br/>Автоматическое резервное копирование, ручное восстановление.' service_man: '# Инструкция по развертыванию MariaDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MariaDB — реляционная база данных, совместимая с MySQL. Разворачивается через `mariadb-operator`
в Kubernetes.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание кластера<br/>* **delete** — удаление кластера<br/>* **suspend** — остановка кластера (под реально останавливается,
ресурсы не потребляются)<br/>* **resume** — запуск ранее остановленного кластера<br/>* **modify** — изменение параметров кластера<br/>* **reconcile** — синхронизация состояния инстанса с платформой<br/><br/>###
Доступные операции с базами данных<br/><br/>* **create_database** — создание базы данных<br/>* **delete_database** — удаление базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user**
— создание пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания кластера<br/><br/>### Платформа для развертывания (`startupConfiguration.resourceRealm`)<br/><br/>Среда,
в которой будет развёрнут кластер.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>JSON-объект:<br/>* `cpu` — квота CPU пода в миликорах (1000 = 1 vCPU). Пример: `500`<br/>* `memory`
— квота памяти пода в мегабайтах. Пример: `512`<br/>* `disk` — размер диска в гигабайтах. Пример: `10`<br/>* `replicas` — количество реплик. Сервис работает в режиме одного primary-узла (Galera выключена),
значение `0` эквивалентно остановке кластера.<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Поддерживаются только две версии: `8.4.0` и `9.4.0`.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>JSON-объект:<br/>*
`masterIpSpace` — имя ipSpace для выделения внешнего IP. Укажите `no-needed`, если внешний адрес не требуется.<br/>* `masterAccessList` — список IP/подсетей, которым разрешён доступ к порту 3306 снаружи.
Пустой список — доступ не ограничен на уровне firewall (в рамках выделенного ipSpace).<br/><br/>### Резервное копирование (`backupConfiguration`)<br/><br/>JSON-объект:<br/>* `s3Uid` — идентификатор S3-пользователя/квоты
для бэкапов.<br/>* `schedule` — cron-выражение расписания бэкапов. По умолчанию `0 0 * * *` (раз в сутки в полночь).<br/>* `retain` — время хранения бэкапов **в часах** (не в днях!). По умолчанию `7`
— то есть 7 часов. При суточном расписании этого значения обычно недостаточно, чтобы между двумя бэкапами всегда оставалась хотя бы одна валидная копия — рекомендуется указывать `retain` явно, с запасом
(например `720` = 30 суток).<br/><br/>> **Важно:** расписание и срок хранения бэкапов задаются **только при создании кластера**. Оператор MariaDB не позволяет изменить cron-расписание бэкапа после создания
(поле `spec.schedule.cron` неизменяемо на уровне admission-вебхука самого оператора) — поэтому эти параметры недоступны для изменения через `modify`.<br/><br/>> **Восстановление из бэкапа пока не реализовано
как самостоятельная операция платформы.** Бэкапы физически хранятся в S3-бакете инстанса (`technicals3backup-<instanceUid>`, префикс `mariadb/backups/`). Если нужно восстановить данные из бэкапа — бэкап
нужно **скачать из S3 и применить к базе вручную** (например через `mariabackup`/`mariadb-backup` restore или соответствующий инструмент).<br/><br/>### Автомасштабирование диска (`autoscaleConfiguration`)<br/><br/>JSON-объект:<br/>*
`enabled` — включить автоматическое расширение диска при исчерпании места.<br/>* `quota` — максимальный размер диска, до которого разрешено автоматическое расширение (не может быть меньше `clusterConfiguration.disk`).<br/>*
`percent`, `schedule` — параметры триггера автомасштабирования.<br/><br/>---<br/><br/>## 3. Параметры модификации кластера<br/><br/>Все параметры модификации, кроме версии, можно как увеличивать, так
и уменьшать (кроме диска — см. ниже) — система подставит текущие сохранённые значения, если их не менять.<br/><br/>### Конфигурация ресурсов (`clusterConfiguration`)<br/><br/>* `cpu`, `memory` — можно
менять в любую сторону.<br/>* `disk` — можно **только увеличивать**, уменьшение уже выделенного размера не поддерживается.<br/>* `replicas` — `0` останавливает кластер тем же образом, что и `suspend`
(альтернативный способ временной остановки через `modify`).<br/><br/>### Версия MariaDB (`mariadbConfiguration.version`)<br/><br/>Можно только повышать версию (`8.4.0 → 9.4.0`). Попытка понизить версию
будет отклонена с явной ошибкой ещё до применения изменений.<br/><br/>### Внешний доступ (`accessConfiguration`)<br/><br/>Можно включить внешний доступ (было `no-needed` → указали реальный `masterIpSpace`),
изменить список разрешённых IP, либо полностью отключить внешний доступ (`masterIpSpace: no-needed`) — в этом случае внешний Service, DNS-запись и правило firewall будут корректно откреплены и удалены.<br/><br/>###
Резервное копирование<br/><br/>Не передаётся при модификации — расписание и срок хранения бэкапов фиксируются на этапе `create` (см. п.2).<br/><br/>---<br/><br/>## 4. Параметры создания базы данных (`create_database`)<br/><br/>###
Имя базы данных (`dbName`)<br/><br/>Строка с именем новой базы. Не может совпадать с зарезервированными системными именами: `mysql`, `sys`, `information_schema`, `performance_schema`. База с таким же
именем не должна уже существовать в кластере.<br/><br/>---<br/><br/>## 5. Параметры удаления базы данных (`delete_database`)<br/><br/>### Имя базы данных (`dbName`)<br/><br/>База должна существовать в
кластере. Удаление будет отклонено, если к базе всё ещё привязаны пользователи — сначала нужно снять доступ (`delete_user`) у всех пользователей, ссылающихся на эту базу.<br/><br/>---<br/><br/>## 6. Параметры
создания пользователя (`create_user`)<br/><br/>### Имя пользователя (`username`)<br/><br/>Не может быть `root`, `healthcheck` или `mariadb.sys` — эти имена зарезервированы платформой/оператором.<br/><br/>###
Пароль (`password`)<br/><br/>Пароль для подключения от имени создаваемого пользователя.<br/><br/>### Базы данных (`dbName`)<br/><br/>JSON-массив вида `[{"dbname": "имя_базы"}]` — список баз, к которым
выдаётся полный доступ (`ALL PRIVILEGES`). Все перечисленные базы должны уже существовать в кластере (создать заранее через `create_database`).<br/><br/>### Разрешённые хосты (`accessHosts`)<br/><br/>MySQL
host-паттерн, с которого разрешено подключение под этим пользователем (например `%` — без ограничений, или конкретная подсеть). Определяет `user@host` в самой MariaDB — если указать слишком узкое значение,
подключение снаружи ожидаемого диапазона будет отклонено сервером на уровне аутентификации, даже если сеть/firewall пропускают трафик.<br/><br/>---<br/><br/>## 7. Параметры удаления пользователя (`delete_user`)<br/><br/>###
Имя пользователя (`username`)<br/><br/>Пользователь должен существовать в кластере. `root`/`healthcheck`/`mariadb.sys` удалить нельзя.<br/><br/>---<br/><br/>## 8. Выходные параметры<br/><br/>### internalConnect<br/><br/>Внутренний
адрес для подключения из сервисов, работающих в том же кластере Kubernetes:<br/>```json<br/>{<br/> "master": {<br/> "dns": "<clusterResourceName>.<namespace>.svc.<domain>",<br/> "ip": null,<br/> "port":
3306<br/> }<br/>}<br/>```<br/><br/>### externalConnect<br/><br/>Присутствует в выходных данных, **только если** был запрошен внешний доступ (`accessConfiguration.masterIpSpace` отличен от `no-needed`).
Если внешний доступ не запрошен или был отключён через `modify` — этого блока не будет вовсе (пустой блок в состояние не пишется):<br/>```json<br/>{<br/> "master": {<br/> "dns": "write.<namespace>.<domain>",<br/> "ip":
"<внешний IP>",<br/> "port": 3306<br/> }<br/>}<br/>```<br/><br/>---<br/><br/>## 9. Пример подключения<br/><br/>### 9.1 Изнутри кластера / того же namespace<br/><br/>```bash<br/>mariadb -h <internalConnect.dns>
-P 3306 -u <username> -p<br/>```<br/><br/>### 9.2 Через port-forward<br/><br/>```bash<br/>kubectl port-forward svc/<clusterResourceName> 3306:3306 -n <namespace><br/>```<br/><br/>**Важно:** после `port-forward`
подключайтесь именно по `127.0.0.1`, а не `localhost`:<br/><br/>```bash<br/>mariadb -h 127.0.0.1 -P 3306 -u <username> -p<br/>```<br/><br/>Клиент `mysql`/`mariadb` при указании `-h localhost` **игнорирует
TCP/порт** и всегда пытается подключиться через локальный unix-сокет (`/var/lib/mysql/mysql.sock`), которого на вашей машине нет — подключение упадёт с `ERROR 2002 (HY000): Can''t connect to local server
through socket`. `127.0.0.1` форсирует реальное TCP-подключение. Также не забывайте `-P` (порт) с заглавной буквы — строчная `-p` относится к паролю.<br/><br/>### 9.3 Снаружи (внешний адрес)<br/><br/>```bash<br/>mariadb
-h <externalConnect.ip или externalConnect.dns> -P 3306 -u <username> -p<br/>```<br/><br/>Доступно только если при создании/модификации был указан реальный `masterIpSpace` и подключающийся IP входит в
`accessConfiguration.masterAccessList` (или список пуст).<br/><br/>Где:<br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль пользователя<br/><br/>---<br/><br/>## 10. Дополнительная информация<br/><br/>*
Расписание бэкапов (`backupConfiguration.schedule`/`retain`) задаётся один раз при создании и не может быть изменено позже — ограничение самого `mariadb-operator`, а не платформы.<br/>* Версию MariaDB
можно только повышать, откат на более старую версию не поддерживается.<br/>* Размер диска можно только увеличивать.<br/>* `suspend` реально останавливает под (масштабирование StatefulSet в 0 реплик),
а не просто помечает кластер как приостановленный — расход ресурсов CPU/RAM/диска (кроме уже занятого диска) прекращается.<br/>* При отключении внешнего доступа через `modify` (`masterIpSpace: no-needed`)
внешний Service, DNS-запись и правило firewall удаляются, а `externalConnect` пропадает из выходных данных.<br/>* Самостоятельного восстановления из бэкапа (операции `restore`) пока нет. Бэкапы лежат
в S3 инстанса — восстановление данных в существующий кластер выполняется вручную, скачиванием и применением бэкапа самим владельцем инстанса.'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -101,16 +148,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 880 - svcOperationCfsParamId: 880
svcOperationCfsParam: mariadbConfiguration svcOperationCfsParam: mariadbConfiguration
dataType: map-fixed dataType: map-fixed
@@ -131,7 +178,7 @@ cfsParams:
dataType: map-fixed dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: false
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: uuid
@@ -155,6 +202,14 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
enabled:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
schedule: schedule:
dataType: integer >= 0 dataType: integer >= 0
defaultValue: '0' defaultValue: '0'
@@ -179,31 +234,23 @@ cfsParams:
- '10' - '10'
- '15' - '15'
- '20' - '20'
enabled:
dataType: boolean
defaultValue: 'false'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 734 - svcOperationCfsParamId: 734
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: db-utkbjfp1 defaultValue: db-wpm05duv
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 735 - svcOperationCfsParamId: 735
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: user4qtyx9eo defaultValue: userhucihd6b
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 736 - svcOperationCfsParamId: 736
svcOperationCfsParam: password svcOperationCfsParam: password
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: j84crbfp defaultValue: oe063z3u
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 737 - svcOperationCfsParamId: 737
svcOperationCfsParam: dbName svcOperationCfsParam: dbName
@@ -305,28 +352,6 @@ cfsParams:
valueList: valueList:
- 8.4.0 - 8.4.0
- 9.4.0 - 9.4.0
- svcOperationCfsParamId: 886
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 887 - svcOperationCfsParamId: 887
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -391,7 +416,6 @@ cfsParamsByOp:
- 883 - 883
- 884 - 884
- 885 - 885
- 886
- 887 - 887
287: [] 287: []
141: [] 141: []
@@ -399,7 +423,7 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
mariadbConfiguration: '{"version": "9.4.0"}' mariadbConfiguration: '{"version": "9.4.0"}'
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
autoscaleConfiguration: '{"schedule": 0, "quota": 100, "percent": 10, "enabled": false}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
+22 -19
View File
@@ -2,21 +2,24 @@ name: kafka
service_id: 116 service_id: 116
service_display_name: ApacheKafka service_display_name: ApacheKafka
service_short_name: kafka service_short_name: kafka
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль \ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create** \ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify** \ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume** \ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание: \ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым \ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### \ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая \ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный \ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>### \ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних \ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>- <br/> port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"<serviceName>-<serviceName>-pool-0.<serviceName>-kafka-brokers.<namespace>.svc.<clusterDomain>\"<br/> port: 9093<br/>```<br/><br/>**externalConnect**\
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок \ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<br/>\
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>' \ port: 9093<br/> brokers:<br/> broker-1:<br/> fqdn: \"broker-1.<namespace>.<dnsZone>\"<br/> port: 9093<br/>```<br/><br/>Заполняется **только один** из параметров:<br/>- при внешней аллокации\
\ (`loadbalancer`) — `externalConnect`, `internalConnect` остаётся пустым;<br/>- при внутреннем режиме — `internalConnect`, `externalConnect` остаётся пустым.<br/><br/>Для подключения используются следующие\
\ порты:<br/><br/>* 9092 — внутренний нешифрованный доступ (plain).<br/>* 9093 — внутренний и внешний доступ по TLS, с обязательной TLS-аутентификацией.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Для\
\ создания топиков, пользователей и управления ими, а также для интеграции с кластерами Kafka используйте соответствующие сервисы и раздел \"Облачные сервисы\".<br/>---"
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -209,17 +212,17 @@ cfsParams:
dataDescriptor: dataDescriptor:
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: '2000'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: '2048'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
@@ -229,7 +232,7 @@ cfsParams:
- '7' - '7'
disk: disk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1088 - svcOperationCfsParamId: 1088
+55 -55
View File
@@ -93,20 +93,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
shards:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1000' defaultValue: '1000'
@@ -127,6 +113,20 @@ cfsParams:
- '3' - '3'
- '5' - '5'
- '7' - '7'
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
shards:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
- '3'
- svcOperationCfsParamId: 839 - svcOperationCfsParamId: 839
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -134,16 +134,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 840 - svcOperationCfsParamId: 840
svcOperationCfsParam: clickhouseKeeperConfiguration svcOperationCfsParam: clickhouseKeeperConfiguration
dataType: map-fixed dataType: map-fixed
@@ -213,20 +213,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
quota:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -245,6 +231,20 @@ cfsParams:
- '5' - '5'
- '12' - '12'
- '23' - '23'
quota:
dataType: integer > 0
defaultValue: '100'
isRequired: true
isModifiable: false
percent:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 851 - svcOperationCfsParamId: 851
svcOperationCfsParam: clickhouseFilesConfiguration svcOperationCfsParam: clickhouseFilesConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -311,6 +311,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -335,16 +345,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 845 - svcOperationCfsParamId: 845
svcOperationCfsParam: clickhouseKeeperConfiguration svcOperationCfsParam: clickhouseKeeperConfiguration
dataType: map-fixed dataType: map-fixed
@@ -431,15 +431,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
enabled: enabled:
dataType: boolean dataType: boolean
defaultValue: false,true defaultValue: false,true
@@ -460,6 +451,15 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
percent:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '10'
- '15'
- '20'
- svcOperationCfsParamId: 850 - svcOperationCfsParamId: 850
svcOperationCfsParam: clickhouseFilesConfiguration svcOperationCfsParam: clickhouseFilesConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -511,10 +511,10 @@ cfsParamsByOp:
182: [] 182: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"shards": 1, "disk": 10, "cpu": 1000, "memory": 2048, "replicas": 1}' clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "disk": 10, "shards": 1}'
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}' clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
clickhouseConfiguration: '{"version": "25.10"}' clickhouseConfiguration: '{"version": "25.10"}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
autoscaleConfiguration: '{"quota": 100, "percent": 10, "enabled": false, "schedule": 0}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}' clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}'
@@ -19,6 +19,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
clusterName:
dataType: string
defaultValue: k8s-8bpzagxw
isRequired: true
isModifiable: false
resourceRealm: resourceRealm:
dataType: string dataType: string
defaultValue: ngcloud.ru defaultValue: ngcloud.ru
@@ -26,9 +31,14 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- ngcloud.ru - ngcloud.ru
clusterName: providerVdc:
dataType: string dataType: string
defaultValue: example-cgvxzckk defaultValue: ''
isRequired: true
isModifiable: false
networkProvider:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 772 - svcOperationCfsParamId: 772
@@ -40,10 +50,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -54,15 +65,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
count:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
sizingPolicy: sizingPolicy:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -75,6 +77,15 @@ cfsParams:
defaultValue: '50' defaultValue: '50'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- svcOperationCfsParamId: 774 - svcOperationCfsParamId: 774
svcOperationCfsParam: workerConfiguration svcOperationCfsParam: workerConfiguration
dataType: array-map-fixed dataType: array-map-fixed
@@ -82,6 +93,18 @@ cfsParams:
defaultValue: '[{}]' defaultValue: '[{}]'
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
groupName:
dataType: string
defaultValue: workers-wngkcnbs
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '{}'
sizingDisk: sizingDisk:
dataType: integer > 0 dataType: integer > 0
defaultValue: '50' defaultValue: '50'
@@ -92,18 +115,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
groupName: autoscale:
dataType: string dataType: boolean
defaultValue: workers-wqtdfsen defaultValue: 'false'
isRequired: true
isModifiable: false
sizingPolicy:
dataType: string
defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '{}' - 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: true
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: true
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 775 - svcOperationCfsParamId: 775
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -111,11 +148,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
needExternalAddressAPI: needExternalAddressAPI:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -135,6 +167,11 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- 'true' - 'true'
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
258: 258:
- 771 - 771
@@ -143,8 +180,8 @@ cfsParamsByOp:
- 774 - 774
- 775 - 775
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "ngcloud.ru", "clusterName": "example-cgvxzckk"}' startupConfiguration: '{"clusterName": "k8s-8bpzagxw", "resourceRealm": "ngcloud.ru", "providerVdc": "", "networkProvider": ""}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
controlPlaneConfiguration: '{"count": 1, "sizingPolicy": "", "sizingDisk": 50}' controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-wqtdfsen", "sizingPolicy": ""}' workerConfiguration: '{"groupName": "workers-wngkcnbs", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
+16 -16
View File
@@ -133,22 +133,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
ffPublicLink:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
userCount: userCount:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -191,6 +175,22 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
ffPublicLink:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
ffLogging:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 660 - svcOperationCfsParamId: 660
svcOperationCfsParam: s3Storage svcOperationCfsParam: s3Storage
dataType: integer > 0 dataType: integer > 0
+140 -19
View File
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
service_id: 150 service_id: 150
service_display_name: Kubernetes кластер Штурвал service_display_name: Kubernetes кластер Штурвал
service_short_name: k8sSthutrvalCluster service_short_name: k8sSthutrvalCluster
service_man: Перед разворачиванием убедиться, что в облаке есть 2 свободных невыделенных IP в пуле service_man: '# Развёртывание Kubernetes: ограничения и предварительный чек-лист<br/><br/>> **Внимание:** перед началом развёртывания кластера Kubernetes убедитесь, что выполнены все описанные ниже условия.
Несоблюдение порядка шагов может привести к ошибкам при создании кластера.<br/><br/>---<br/><br/>## Ограничения при развёртывании<br/><br/>| Ограничение | Статус |<br/>|---|---|<br/>| 1 кластер = 1 vDC
| Действует (будет исправлено в ближайшее время) |<br/><br/>---<br/><br/>## Предварительный чек-лист<br/><br/>Перед установкой кластера Kubernetes необходимо последовательно выполнить следующие шаги.<br/><br/>###
1. Создать организацию в Cloud Director<br/><br/>- Перейдите в услугу **Организация в Cloud Director**.<br/>- Создайте организацию.<br/><br/>### 2. Создать виртуальный датацентр (vDC)<br/><br/>- Перейдите
в услугу **Виртуальный датацентр (vDC)**.<br/>- Создайте vDC.<br/>- Выделите **достаточно ресурсов для разворачивания _всех_ нод** кластера.<br/><br/>### 3. Создать Edge (сетевой шлюз периметра)<br/><br/>-
Перейдите в услугу **Сетевой шлюз периметра (Edge)**.<br/>- Создайте Edge.<br/>- Обязательно:<br/> - Включить **ALB**.<br/> - Установить **Кол-во VS на AVI ≥ 3**.<br/><br/>### 4. Добавить внешние адреса
в организации<br/><br/>- Вернитесь в **Организация в Cloud Director**.<br/>- Выполните операцию **Modify**.<br/>- Добавьте **3 внешних адреса**.<br/>- Количество `ipSpaces` значения не имеет, важно чтобы
суммарно было 3 адреса.<br/><br/>### 5. Настроить SNAT для виртуальных машин<br/><br/>- Вернитесь в **Сетевой шлюз периметра (Edge)**.<br/>- Выполните операцию **Modify**.<br/>- Выберите доступный `ipSpaceName`.<br/>-
Это будет **SNAT для виртуальных машин**.<br/><br/>### 6. Развернуть кластер Kubernetes<br/><br/>- Только **после выполнения всех шагов выше** переходите к услуге **Kubernetes кластер Штурвал**.<br/>-
Начните разворачивание кластера.<br/><br/>---<br/><br/>## Минимальные требования к кластеру<br/><br/>| Параметр | Значение |<br/>|---|---|<br/>| Мастер-ноды | минимум **1** |<br/>| Воркер-ноды | минимум
**1** |<br/>| CPU (на ноду) | **4 vCPU** |<br/>| RAM (на ноду) | **8 GB** |<br/>| Диск (на ноду) | **50 GB** |<br/><br/>---'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -61,9 +71,65 @@ cfsParams:
isModifiable: false isModifiable: false
clusterName: clusterName:
dataType: string dataType: string
defaultValue: example-umab2vgx defaultValue: example-yn5ajpm3
isRequired: true isRequired: true
isModifiable: false isModifiable: false
exLogging:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exMonitoring:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exLocalCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exVip:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exUpdate:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exIngress:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
exNamedCsi:
dataType: boolean
defaultValue: 'true'
isRequired: false
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 751 - svcOperationCfsParamId: 751
svcOperationCfsParam: controlPlaneConfiguration svcOperationCfsParam: controlPlaneConfiguration
dataType: map-fixed dataType: map-fixed
@@ -101,7 +167,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
groupName: groupName:
dataType: string dataType: string
defaultValue: workers-dum0vgn5 defaultValue: workers-smfsut8s
isRequired: true isRequired: true
isModifiable: false isModifiable: false
sizingPolicy: sizingPolicy:
@@ -121,6 +187,32 @@ cfsParams:
defaultValue: '2' defaultValue: '2'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
autoscale:
dataType: boolean
defaultValue: 'false'
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: '2'
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: '3'
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 753 - svcOperationCfsParamId: 753
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -128,11 +220,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
needExternalAddressAPI: needExternalAddressAPI:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -152,6 +239,11 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- 'true' - 'true'
accessIpListIngress:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 755 - svcOperationCfsParamId: 755
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -161,10 +253,11 @@ cfsParams:
dataDescriptor: dataDescriptor:
appVersion: appVersion:
dataType: string dataType: string
defaultValue: 2.13.1 defaultValue: 2.14.0
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -205,6 +298,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- 2.14.0
- 2.13.1 - 2.13.1
- 2.12.1 - 2.12.1
- 2.11.0 - 2.11.0
@@ -243,14 +337,9 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
count:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
groupName: groupName:
dataType: string dataType: string
defaultValue: workers-tr9wauz1 defaultValue: workers-rhkpbeti
isRequired: true isRequired: true
isModifiable: false isModifiable: false
sizingPolicy: sizingPolicy:
@@ -265,6 +354,37 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count:
dataType: integer >= 0
defaultValue: ''
isRequired: true
isModifiable: false
autoscale:
dataType: boolean
defaultValue: ''
isRequired: false
isModifiable: false
valueList:
- 'false'
- 'true'
autoscaleMin:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
autoscaleMax:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false
labelDeck:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 759 - svcOperationCfsParamId: 759
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -317,8 +437,9 @@ cfsParamsByOp:
174: [] 174: []
173: [] 173: []
stateParams: stateParams:
startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-umab2vgx"}' startupConfiguration: '{"vdcUid": "", "nsxtUid": "", "clusterName": "example-yn5ajpm3", "exLogging": true, "exMonitoring": true, "exLocalCsi": true, "exVip": true, "exUpdate": true, "exIngress": true,
"exNamedCsi": true}'
controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}' controlPlaneConfiguration: '{"sizingPolicy": "[]", "sizingDisk": 50, "count": 1}'
workerConfiguration: '{"groupName": "workers-dum0vgn5", "sizingPolicy": "", "sizingDisk": 50, "count": 2}' workerConfiguration: '{"groupName": "workers-smfsut8s", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
accessConfiguration: '{"accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true}' accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
clusterConfiguration: '{"appVersion": "2.13.1"}' clusterConfiguration: '{"appVersion": "2.14.0"}'
+366
View File
@@ -0,0 +1,366 @@
name: k8s_openbao
service_id: 151
service_display_name: Vault
service_short_name: k8sOpenbao
service_man: '# Инструкция по развертыванию Хранилища секретов через платформу<br/><br/>## 1. Общая информация<br/>Хранилище секретов — сервис централизованного и защищённого хранения чувствительных данных
(секретов, ключей, конфигураций). Предназначен для использования приложениями и сервисами в Kubernetes с управлением доступом на основе ролей.<br/>В качестве приложения используется открытый проект OpenBao
с поддержкой кластерного режима RAFT.<br/><br/>### Доступные операции<br/>**create** — Создание хранилища секретов и инициализация кластера.<br/>**delete** — Удаление хранилища секретов с полной очисткой
всех связанных сущностей.<br/>**modify** — Изменение параметров развернутого хранилища секретов.<br/>**suspend** — Приостановка работы кластера без удаления Persistent Volume.<br/>**resume** — Возобновление
работы кластера с автоматическим unseal всех нод.<br/>**restart** — Поочередный перезапуск нод с последующим подключением в кластер.<br/>**create_kv** — Создание Key/Value хранилища версии V2.<br/>**delete_kv**
— Удаление Key/Value хранилища со всеми содержащимися секретами.<br/>**create_secrets** — Создание секрета внутри Key/Value хранилища.<br/>**delete_secrets** — Удаление секрета из Key/Value хранилища.<br/>**update_secrets**
— Обновление значения секрета.<br/>**recovery_secrets** — Откат секрета к указанной версии.<br/>**create_role** — Создание роли для управления Key/Value хранилищем или секретами.<br/>**update_role** —
Обновление параметров роли.<br/>**delete_role** — Удаление роли доступа.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа
для развертывания<br/>Описание: Кластер Kubernetes, в котором будет развернуто приложение.<br/>Формат значения: имя Kubernetes-кластера.<br/><br/>### Имя домена<br/>Описание: Доменное имя сервиса. При
указании полного FQDN выполняется проверка DNS A-записи или добавляется А-запись в техническую зону.<br/>Формат значения: secrets.domain.com / mysecretdomain.<br/><br/>### Кол-во реплик<br/>Описание:
Количество узлов в кластере.<br/>Формат значения: целое число.<br/><br/>### Квота ядра пода<br/>Описание: Лимит CPU для одного узла. Указывается в milicores (1000 milicores = 1 CPU).<br/>Формат значения:
целое число.<br/><br/>### Квота памяти пода<br/>Описание: Лимит оперативной памяти для одного узла. Указывается в megabytes.<br/>Формат значения: целое число.<br/><br/>### Размер диска под хранение секретов<br/>Описание:
Объем диска для хранения данных. Фактический объем равен значению, умноженному на количество реплик. Указывается в Gigabytes<br/>Формат значения: целое число.<br/><br/>### Версия OpenBao<br/>Описание:
Версия OpenBao для развертывания сервиса.<br/>Формат значения: выбор из предоставленного списка версий.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### Тестовое окружение<br/>Кол-во
реплик: 2.<br/>Квота ядра пода: 200.<br/>Квота памяти пода: 256.<br/>Размер диска под хранение секретов: 1.<br/>Версия OpenBao: актуальная стабильная версия.<br/><br/>### Промышленное окружение<br/>Кол-во
реплик: от 3.<br/>Квота ядра пода: от 1000.<br/>Квота памяти пода: от 1024.<br/>Размер диска под хранение секретов: от 10.<br/>Версия OpenBao: актуальная стабильная версия.<br/><br/>---<br/><br/>## 4.
Выходные параметры<br/>Настройки внутри хранилища (kv/secrets/roles) — конфигурации Key/Value, секретов и ролей, созданные соответствующими операциями.<br/>Настройки самого хранилище (сайзинг, объемы)
— параметры ресурсов и хранилища данных, примененные к сервису.<br/>Статус кластера (running / suspended) — текущее состояние работы кластера.<br/>url для подключения к веб — адрес веб-интерфейса сервиса.<br/><br/>---<br/><br/>##
5. Дополнительная информация<br/>При удалении хранилища все данные и настройки безвозвратно удаляются.<br/>При использовании доменного имени требуется корректная настройка DNS.<br/>Операции управления
секретами и ролями выполняются только после успешного создания хранилища.<br/>Удаление кластера производится через операцию `suspend`, а удаление становится доступно через 14 дней после остановки кластера<br/>Правило
выше не относится к операции `delete_kv` / `delete_secrets` / `delete_role`'
lifecycle:
suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 210
operation: create
kind: instance
action: create
- svcOperationId: 212
operation: create_kv
kind: subresource
action: create
- svcOperationId: 237
operation: create_policy
kind: subresource
action: create
- svcOperationId: 214
operation: create_secrets
kind: subresource
action: create
- svcOperationId: 231
operation: delete
kind: instance
action: delete
- svcOperationId: 213
operation: delete_kv
kind: subresource
action: delete
- svcOperationId: 239
operation: delete_policy
kind: subresource
action: delete
- svcOperationId: 233
operation: delete_secrets
kind: subresource
action: delete
- svcOperationId: 211
operation: modify
kind: instance
action: modify
- svcOperationId: 236
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 232
operation: recovery_secrets
kind: subresource
action: recovery
- svcOperationId: 216
operation: resume
kind: instance
action: resume
- svcOperationId: 215
operation: suspend
kind: instance
action: suspend
- svcOperationId: 238
operation: update_policy
kind: subresource
action: update
- svcOperationId: 230
operation: update_secrets
kind: subresource
action: update
stateOut:
kvs: {}
policies: {}
secrets: {}
cfsParams:
- svcOperationCfsParamId: 663
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: k8s-4-ext-nubes-ru
isModifiable: false
valueList:
- k8s-4-ext-nubes-ru
- svcOperationCfsParamId: 664
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '500'
isModifiable: true
- svcOperationCfsParamId: 665
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: '3'
isModifiable: true
- svcOperationCfsParamId: 666
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: true
- svcOperationCfsParamId: 667
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '10'
isModifiable: true
- svcOperationCfsParamId: 668
svcOperationCfsParam: appVersion
dataType: string
isRequired: true
defaultValue: 2.5.2
isModifiable: true
valueList:
- 2.5.2
- svcOperationCfsParamId: 669
svcOperationCfsParam: domain
dataType: string
isRequired: true
defaultValue: bao-ozea0nxy
isModifiable: false
- svcOperationCfsParamId: 675
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: kvname-ljwxn20b
isModifiable: false
- svcOperationCfsParamId: 728
svcOperationCfsParam: policySettings
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
path:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
capabilities:
dataType: json
defaultValue: '["read", "list"]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 729
svcOperationCfsParam: policyName
dataType: string
isRequired: true
defaultValue: policy-idnyeyeg
isModifiable: false
- svcOperationCfsParamId: 677
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 678
svcOperationCfsParam: secretPath
dataType: string
isRequired: true
defaultValue: path/to/mysecret
isModifiable: false
- svcOperationCfsParamId: 679
svcOperationCfsParam: secretData
dataType: map
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 676
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 732
svcOperationCfsParam: policyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 726
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 727
svcOperationCfsParam: secretPath
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 670
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 671
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true
defaultValue: '500'
isModifiable: true
- svcOperationCfsParamId: 672
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '512'
isModifiable: true
- svcOperationCfsParamId: 673
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 674
svcOperationCfsParam: appVersion
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 2.5.2
- svcOperationCfsParamId: 723
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 724
svcOperationCfsParam: secretPath
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 725
svcOperationCfsParam: secretVersion
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 730
svcOperationCfsParam: policyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 731
svcOperationCfsParam: policySettings
dataType: array-map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
path:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
capabilities:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 719
svcOperationCfsParam: kvName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 720
svcOperationCfsParam: secretPath
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 721
svcOperationCfsParam: needFullUpdateSecret
dataType: boolean
isRequired: true
defaultValue: 'false'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 722
svcOperationCfsParam: secretData
dataType: map
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp:
210:
- 663
- 664
- 665
- 666
- 667
- 668
- 669
212:
- 675
237:
- 728
- 729
214:
- 677
- 678
- 679
231: []
213:
- 676
239:
- 732
233:
- 726
- 727
211:
- 670
- 671
- 672
- 673
- 674
236: []
232:
- 723
- 724
- 725
216: []
215: []
238:
- 730
- 731
230:
- 719
- 720
- 721
- 722
stateParams:
resourceRealm: k8s-4-ext-nubes-ru
resourceCPU: '500'
resourceInstances: '3'
resourceMemory: '512'
resourceDisk: '10'
appVersion: 2.5.2
domain: bao-ozea0nxy
+248
View File
@@ -0,0 +1,248 @@
name: llm_ai
service_id: 163
service_display_name: ML Улей
service_short_name: llmAi
service_man: '## 1. Общая информация<br/><br/>LLMaaS (Large Language Model as a Service) — это сервис для доступа к языковым моделям через OpenAI-совместимое API.<br/>Платформа позволяет создавать организации
(тенанты), команды, выпускать и управлять API-ключами, устанавливать лимиты на использование.<br/><br/>### Ограничение: одна организация на контрагента<br/><br/>На одного контрагента может быть создана
**только одна организация** в LLMaaS.<br/>Повторная попытка создать организацию для того же контрагента завершится ошибкой.<br/><br/>### Возможные ошибки и как их обрабатывать<br/><br/>При работе с сервисом
могут возникнуть типовые ошибки. Ниже описано, как их распознать и что делать.<br/><br/>| Ошибка | Когда возникает | Что делать |<br/>|--------|-----------------|------------|<br/>| `Организация в LLMaaS
уже привязана к контрагенту <contragentCode>` | При операции `create`, если организация для данного контрагента уже существует | На одного контрагента допускается только одна организация. Если нужно изменить
существующую организацию, используйте операции управления командами и ключами |<br/>| `Не хватает нужного гранта. Примените реконсиляцию для данного инстанса` | При операциях `create_team`, `modify_team`,
если модель не выдана организации на Layer 1 | Запустите операцию `reconcile` для данного инстанса. Она обновит список моделей, доступных организации, после чего повторите исходную операцию |<br/>| `Лимиты
API-ключа не могут превышать лимиты команды` | При операциях `create_secrets`, `update_secrets` | Уменьшите значения `RPM` и/или `TPM` ключа до уровня команды или увеличьте лимиты самой команды через
`modify_team` |<br/><br/>---<br/><br/>## Доступные операции<br/><br/>- **create** — Создание организации в LLMaaS<br/>- **delete** — Удаление организации<br/><br/>- **create_team** —
Создание команды внутри организации<br/>- **modify_team** — Редактирование команды (модели, RPM, TPM)<br/>- **delete_team** — Удаление команды<br/><br/>- **create_secrets** — Создание API-ключа<br/>-
**update_secrets** — Обновление параметров API-ключа<br/>- **delete_secrets** — Удаление API-ключа<br/><br/>- **reconcile** — Обновление списка моделей, доступных организации<br/><br/>---<br/><br/>##
2. Параметры создания организации<br/><br/>Ниже перечислены параметры, которые необходимо указать при создании организации:<br/><br/>* **Платформа для развертывания**<br/> Выбирается автоматически, изменять
не нужно.<br/><br/>## 3. Параметры создания команды<br/><br/>* **Имя команды**<br/> Уникальное имя команды в рамках организации.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели,
доступной для команды.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в
минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример: `100000`<br/><br/>---<br/><br/>## 4. Параметры редактирования команды<br/><br/>Для существующей команды
можно изменить:<br/><br/>* **Модель**<br/> Новая модель для команды.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое значение RPM.<br/> Пример: `120`<br/><br/>*
**Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>---<br/><br/>## 5. Параметры создания API-ключа<br/><br/>Ниже перечислены параметры, которые необходимо указать
при создании API-ключа:<br/><br/>* **Имя ключа**<br/> Уникальное имя ключа в рамках организации.<br/> Пример: `prod-key`<br/><br/>* **Команда**<br/> Имя команды для привязки ключа. Если не указано
— ключ привязывается к команде `main`.<br/> Пример: `production`<br/><br/>* **Модель**<br/> Название модели, доступной для данного ключа.<br/> Пример: `gpt-oss-120b`<br/><br/>* **Лимит запросов в минуту
(RPM)**<br/> Максимальное количество запросов к API в минуту.<br/> Пример: `60`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Максимальное количество токенов (входящих + исходящих) в минуту.<br/> Пример:
`100000`<br/><br/>**Важно:** Лимиты API-ключа не могут превышать лимиты команды, к которой он привязан.<br/>При превышении операция будет отклонена с ошибкой.<br/>Перед созданием ключа убедитесь, что
`RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/><br/>---<br/><br/>## 6. Параметры обновления API-ключа<br/><br/>Для уже существующего ключа можно изменить параметры. Все параметры являются опциональными:<br/><br/>*
**Имя ключа**<br/> Имя обновляемого ключа.<br/> Пример: `prod-key`<br/><br/>* **Модель**<br/> Новое название модели.<br/> Пример: `gpt-oss-20b`<br/><br/>* **Лимит запросов в минуту (RPM)**<br/> Новое
значение RPM.<br/> Пример: `120`<br/><br/>* **Лимит токенов в минуту (TPM)**<br/> Новое значение TPM.<br/> Пример: `200000`<br/><br/>**Важно:** При обновлении лимитов API-ключа новые значения не могут
превышать лимиты команды.<br/>Если указать значения выше командных, операция завершится ошибкой.<br/>Указывайте `RPM <= team.RPM` и `TPM <= team.TPM`.<br/><br/>Команда определяется автоматически по стейту
услуги — изменить привязку к другой команде через эту операцию нельзя.<br/><br/>---<br/><br/>## 7. Параметры удаления API-ключа<br/><br/>* **Команда**<br/> Имя команды, к которой привязан ключ.<br/> Пример:
`production`<br/><br/>* **Имя ключа**<br/> Имя удаляемого ключа.<br/> Пример: `prod-key`<br/><br/>---<br/><br/>## 8. Параметры удаления команды<br/><br/>* **Имя команды**<br/> Имя удаляемой команды.<br/> Пример:
`production`<br/><br/>---<br/><br/>## 9. Параметры удаления организации<br/><br/>Удаление организации не требует дополнительных параметров — удаляется вся организация со всеми командами и ключами.<br/><br/>---<br/><br/>##
10. Выходные параметры<br/><br/>После успешного создания организации платформа возвращает:<br/><br/>* **connectionUrl**<br/> URL для доступа к inference API (OpenAI-совместимый).<br/> Пример: `https://api.aillm.ru`<br/><br/>---<br/><br/><br/>##
11. Пример использования API<br/><br/>После получения API-ключа клиент может обращаться к LLMaaS напрямую:<br/><br/>**Запрос к chat completions:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/chat/completions
\<br/> -H "Authorization: Bearer sk-..." \<br/> -H "Content-Type: application/json" \<br/> -d ''{<br/> "model": "gpt-oss-120b",<br/> "messages": [<br/> {"role": "user", "content": "Привет!"}<br/> ]<br/> }''<br/>```<br/><br/>**Получение
списка доступных моделей:**<br/><br/>```bash<br/>curl https://api.aillm.ru/v1/models \<br/> -H "Authorization: Bearer sk-..."<br/>```<br/>'
lifecycle:
suspendOnDestroyDefault: false
adoptExistingOnCreateDefault: false
operations:
- svcOperationId: 271
operation: create
kind: instance
action: create
- svcOperationId: 274
operation: create_secrets
kind: subresource
action: create
- svcOperationId: 278
operation: create_team
kind: subresource
action: create
- svcOperationId: 273
operation: delete
kind: instance
action: delete
- svcOperationId: 275
operation: delete_secrets
kind: subresource
action: delete
- svcOperationId: 280
operation: delete_team
kind: subresource
action: delete
- svcOperationId: 279
operation: modify_team
kind: subresource
action: modify
- svcOperationId: 412
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 277
operation: update_secrets
kind: subresource
action: update
stateOut:
secrets: {}
teams: {}
cfsParams:
- svcOperationCfsParamId: 826
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: llmAi.aillm.ru
isModifiable: false
valueList:
- llmAi.aillm.ru
- svcOperationCfsParamId: 833
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 834
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: false
- svcOperationCfsParamId: 835
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: false
- svcOperationCfsParamId: 857
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 859
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 858
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 860
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 861
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: false
- svcOperationCfsParamId: 862
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: false
- svcOperationCfsParamId: 836
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 876
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 868
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 864
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 865
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 873
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: true
- svcOperationCfsParamId: 874
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: true
- svcOperationCfsParamId: 852
svcOperationCfsParam: keyName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 853
svcOperationCfsParam: models
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 854
svcOperationCfsParam: rpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '60'
isModifiable: true
- svcOperationCfsParamId: 855
svcOperationCfsParam: tpmLimit
dataType: integer > 0
isRequired: true
defaultValue: '100000'
isModifiable: true
- svcOperationCfsParamId: 875
svcOperationCfsParam: teamName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp:
271:
- 826
274:
- 833
- 834
- 835
- 857
- 859
278:
- 858
- 860
- 861
- 862
273: []
275:
- 836
- 876
280:
- 868
279:
- 864
- 865
- 873
- 874
412: []
277:
- 852
- 853
- 854
- 855
- 875
stateParams:
resourceRealm: llmAi.aillm.ru
+9 -1
View File
@@ -73,6 +73,12 @@ cfsParams:
valueList: valueList:
- iaas - iaas
- saas - saas
- svcOperationCfsParamId: 1125
svcOperationCfsParam: organizationSuffix
dataType: string
isRequired: false
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 871 - svcOperationCfsParamId: 871
svcOperationCfsParam: admins svcOperationCfsParam: admins
dataType: array-map-fixed dataType: array-map-fixed
@@ -110,7 +116,7 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
count: count:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -118,6 +124,7 @@ cfsParamsByOp:
136: 136:
- 418 - 418
- 556 - 556
- 1125
283: 283:
- 871 - 871
137: [] 137: []
@@ -131,3 +138,4 @@ cfsParamsByOp:
stateParams: stateParams:
resourceRealm: ngcloud.ru resourceRealm: ngcloud.ru
organizationType: iaas organizationType: iaas
organizationSuffix: ''
+26 -26
View File
@@ -98,12 +98,12 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
secret: subparam2:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
subparam2: secret:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
@@ -127,13 +127,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
minStr1:
dataType: string
defaultValue: abracadabra
isRequired: true
isModifiable: false
valueList:
- abracadabra
param1: param1:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -161,6 +154,13 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
minStr1:
dataType: string
defaultValue: abracadabra
isRequired: true
isModifiable: false
valueList:
- abracadabra
- svcOperationCfsParamId: 654 - svcOperationCfsParamId: 654
svcOperationCfsParam: arrayMapFixedExample svcOperationCfsParam: arrayMapFixedExample
dataType: array-map-fixed dataType: array-map-fixed
@@ -168,6 +168,20 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
dataDescriptor: dataDescriptor:
param1:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
param2:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '["1"'
- '"2"'
- '"3"]'
param3: param3:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -188,20 +202,6 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- abracadabra - abracadabra
param1:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
param2:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '["1"'
- '"2"'
- '"3"]'
- svcOperationCfsParamId: 863 - svcOperationCfsParamId: 863
svcOperationCfsParam: arr svcOperationCfsParam: arr
dataType: array dataType: array
@@ -304,9 +304,9 @@ stateParams:
whereFail: '1' whereFail: '1'
resourceRealm: '' resourceRealm: ''
bodymessage: '' bodymessage: ''
mapExample: '{"subparam1": "", "secret": "", "subparam2": ""}' mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
jsonExample: '' jsonExample: ''
nestedRefExample: '' nestedRefExample: ''
mapFixed: '{"minStr1": "abracadabra", "param1": 1, "param2": "1", "param3": 1, "bol1": false}' mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra"}'
arrayMapFixedExample: '{"param3": 1, "bol1": false, "minStr1": "", "param1": 0, "param2": ""}' arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
arr: '' arr: ''
+57 -12
View File
@@ -58,13 +58,13 @@ cfsParams:
dataType: uuid dataType: uuid
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 335 - svcOperationCfsParamId: 335
svcOperationCfsParam: providerVdc svcOperationCfsParam: providerVdc
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 361 - svcOperationCfsParamId: 361
svcOperationCfsParam: storageConfig svcOperationCfsParam: storageConfig
dataType: array-map-fixed dataType: array-map-fixed
@@ -79,36 +79,50 @@ cfsParams:
isModifiable: false isModifiable: false
size: size:
dataType: integer > 0 dataType: integer > 0
defaultValue: '100' defaultValue: '2000'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
isDefaultStorageProfile:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 397 - svcOperationCfsParamId: 397
svcOperationCfsParam: cpuGuaranteed svcOperationCfsParam: cpuGuaranteed
dataType: integer > 0 dataType: integer >= 0
isRequired: true isRequired: true
defaultValue: '20' defaultValue: '0'
isModifiable: false isModifiable: false
valueList: valueList:
- '20' - '0'
- '50' - '50'
- '80' - '80'
- svcOperationCfsParamId: 557 - svcOperationCfsParamId: 557
svcOperationCfsParam: cpuAllocated svcOperationCfsParam: cpuAllocated
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '10' defaultValue: '80'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 558 - svcOperationCfsParamId: 558
svcOperationCfsParam: memAllocated svcOperationCfsParam: memAllocated
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '20' defaultValue: '200'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 746 - svcOperationCfsParamId: 746
svcOperationCfsParam: networkProvider svcOperationCfsParam: networkProvider
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1130
svcOperationCfsParam: suffixName
dataType: string
isRequired: false
defaultValue: xobcwf4u
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 560 - svcOperationCfsParamId: 560
svcOperationCfsParam: cpuAllocated svcOperationCfsParam: cpuAllocated
@@ -139,6 +153,32 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
isDefaultStorageProfile:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 1158
svcOperationCfsParam: organizationUid
dataType: uuid
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1159
svcOperationCfsParam: networkProvider
dataType: string
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1160
svcOperationCfsParam: providerVdc
dataType: string
isRequired: false
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
9: 9:
- 30 - 30
@@ -148,19 +188,24 @@ cfsParamsByOp:
- 557 - 557
- 558 - 558
- 746 - 746
- 1130
24: [] 24: []
112: 112:
- 560 - 560
- 561 - 561
- 562 - 562
- 1158
- 1159
- 1160
250: [] 250: []
172: [] 172: []
171: [] 171: []
stateParams: stateParams:
organizationUid: '' organizationUid: ''
providerVdc: '' providerVdc: ''
storageConfig: '{"name": "", "size": 100}' storageConfig: '{"name": "", "size": 2000, "isDefaultStorageProfile": false}'
cpuGuaranteed: '20' cpuGuaranteed: '0'
cpuAllocated: '10' cpuAllocated: '80'
memAllocated: '20' memAllocated: '200'
networkProvider: '' networkProvider: ''
suffixName: xobcwf4u
+47
View File
@@ -88,6 +88,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1110
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: 10.10.102.0/24
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: 81.22.46.22
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: 185.247.187.77
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 368 - svcOperationCfsParamId: 368
svcOperationCfsParam: needEnableAVI svcOperationCfsParam: needEnableAVI
dataType: boolean dataType: boolean
@@ -115,6 +137,28 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 1112
svcOperationCfsParam: routedNetConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
ipAddrPool:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
mainDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
secondDns:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
10: 10:
- 8 - 8
@@ -123,12 +167,14 @@ cfsParamsByOp:
- 621 - 621
- 622 - 622
- 825 - 825
- 1110
25: [] 25: []
111: 111:
- 368 - 368
- 369 - 369
- 372 - 372
- 856 - 856
- 1112
252: [] 252: []
stateParams: stateParams:
vdcUid: '' vdcUid: ''
@@ -137,3 +183,4 @@ stateParams:
vdcType: vdc vdcType: vdc
vdcGroupUid: '' vdcGroupUid: ''
qosProfile: '' qosProfile: ''
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
+2 -2
View File
@@ -48,7 +48,7 @@ cfsParams:
svcOperationCfsParam: vappName svcOperationCfsParam: vappName
dataType: string dataType: string
isRequired: true isRequired: true
defaultValue: es1fsp9q defaultValue: 9zrw3ba0
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 623 - svcOperationCfsParamId: 623
svcOperationCfsParam: vdcUid svcOperationCfsParam: vdcUid
@@ -66,5 +66,5 @@ cfsParamsByOp:
208: [] 208: []
stateParams: stateParams:
nsxtUid: '' nsxtUid: ''
vappName: es1fsp9q vappName: 9zrw3ba0
vdcUid: '' vdcUid: ''
+84 -18
View File
@@ -96,9 +96,9 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 413 - svcOperationCfsParamId: 413
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: array
isRequired: false isRequired: false
defaultValue: '' defaultValue: '["0.0.0.0/0"]'
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 414 - svcOperationCfsParamId: 414
svcOperationCfsParam: imageVm svcOperationCfsParam: imageVm
@@ -126,10 +126,34 @@ cfsParams:
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 448 - svcOperationCfsParamId: 448
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: string dataType: array-map-fixed
isRequired: true isRequired: true
defaultValue: '["22"]' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: '22'
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1118
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: false
defaultValue: 'false'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 493 - svcOperationCfsParamId: 493
svcOperationCfsParam: vmCpu svcOperationCfsParam: vmCpu
dataType: integer > 0 dataType: integer > 0
@@ -154,11 +178,6 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 497 - svcOperationCfsParamId: 497
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -167,10 +186,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 498 - svcOperationCfsParamId: 498
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1119
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 509 - svcOperationCfsParamId: 509
svcOperationCfsParam: vmName svcOperationCfsParam: vmName
dataType: string dataType: string
@@ -201,11 +244,6 @@ cfsParams:
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList:
- no-needed
- internet-antiddos-v1
- internet-no-antiddos-v1
- internet-ipv4-v1
- svcOperationCfsParamId: 514 - svcOperationCfsParamId: 514
svcOperationCfsParam: accessIpList svcOperationCfsParam: accessIpList
dataType: json dataType: json
@@ -242,10 +280,34 @@ cfsParams:
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 520 - svcOperationCfsParamId: 520
svcOperationCfsParam: accessPortList svcOperationCfsParam: accessPortList
dataType: json dataType: array-map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
port:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
type:
dataType: string
defaultValue: all
isRequired: true
isModifiable: false
valueList:
- tcp
- udp
- all
- svcOperationCfsParamId: 1123
svcOperationCfsParam: sameSnat
dataType: boolean
isRequired: true
defaultValue: ''
isModifiable: true
valueList:
- 'false'
- 'true'
cfsParamsByOp: cfsParamsByOp:
132: 132:
- 407 - 407
@@ -260,6 +322,7 @@ cfsParamsByOp:
- 416 - 416
- 417 - 417
- 448 - 448
- 1118
133: [] 133: []
159: 159:
- 493 - 493
@@ -268,6 +331,7 @@ cfsParamsByOp:
- 496 - 496
- 497 - 497
- 498 - 498
- 1119
286: [] 286: []
164: 164:
- 509 - 509
@@ -281,6 +345,7 @@ cfsParamsByOp:
- 517 - 517
- 518 - 518
- 520 - 520
- 1123
135: [] 135: []
134: [] 134: []
stateParams: stateParams:
@@ -290,9 +355,10 @@ stateParams:
vmRam: '1' vmRam: '1'
vmDisk: '' vmDisk: ''
ipSpaceName: '' ipSpaceName: ''
accessIpList: '' accessIpList: '["0.0.0.0/0"]'
imageVm: '' imageVm: ''
cloudInit: '' cloudInit: ''
userLogin: myuser userLogin: myuser
userPublicKey: '' userPublicKey: ''
accessPortList: '["22"]' accessPortList: '{"port": "22", "type": "all"}'
sameSnat: 'false'
+16 -16
View File
@@ -44,11 +44,6 @@ cfsParams:
defaultValue: '100' defaultValue: '100'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk:
dataType: integer > 0
defaultValue: '5'
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '128' defaultValue: '128'
@@ -59,6 +54,11 @@ cfsParams:
defaultValue: '1' defaultValue: '1'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk:
dataType: integer > 0
defaultValue: '5'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 814 - svcOperationCfsParamId: 814
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -90,7 +90,7 @@ cfsParams:
- service - service
domain: domain:
dataType: string dataType: string
defaultValue: abracadabra-g2byllee defaultValue: abracadabra-am1z2wlk
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterIpSpace: masterIpSpace:
@@ -125,13 +125,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
disk: memory:
dataType: integer >= 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
memory: disk:
dataType: integer > 0 dataType: integer >= 0
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -165,13 +165,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
masterAccessList: slaveIpSpace:
dataType: json dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveIpSpace: masterAccessList:
dataType: string dataType: json
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
@@ -193,6 +193,6 @@ cfsParamsByOp:
98: [] 98: []
97: [] 97: []
stateParams: stateParams:
clusterConfiguration: '{"cpu": 100, "disk": 5, "memory": 128, "replicas": 1}' clusterConfiguration: '{"cpu": 100, "memory": 128, "replicas": 1, "disk": 5}'
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-g2byllee", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}' accessConfiguration: '{"type": "ingress", "domain": "abracadabra-am1z2wlk", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
+102 -60
View File
@@ -2,7 +2,49 @@ name: nextcloud
service_id: 50 service_id: 50
service_display_name: Nextcloud service_display_name: Nextcloud
service_short_name: nextcloud service_short_name: nextcloud
service_man: 'Ресурсная платформа: k8s. Автоматизация: helm chart' service_man: '# Инструкция по развертыванию Nextcloud через платформу<br/><br/>## 1. Общая информация<br/><br/>Nextcloud — платформа для хранения и совместной работы с файлами. Разворачивается в K8s через
Helm-чарт `nextcloud/nextcloud`.<br/><br/>Сервис **не самодостаточен** — для создания необходимы заранее развёрнутые в той же ресурсной платформе:<br/><br/>* **PostgreSQL (k8s)** — база данных Nextcloud.
У СУБД должен быть выставлен параметр `sslRequired: false`.<br/>* **Redis (k8s)** — используется как memcache/locking backend.<br/><br/>Резервное копирование выполняется через **Velero** (бэкапятся под
и PVC с данными), а не штатным S3-бэкапом СУБД.<br/><br/>### Доступные операции с сервисом<br/><br/>* **create** — создание сервиса<br/>* **delete** — удаление сервиса<br/>* **suspend** —
остановка сервиса (масштабирование реплик в 0)<br/>* **resume** — запуск сервиса<br/>* **restart** — перезапуск (`kubectl rollout restart`)<br/>* **modify** — изменение настроек
сервиса<br/>* **reconcile** — служебная операция синхронизации версии (запускается платформой автоматически)<br/>* **create_backup** — создание резервной копии вручную (через Velero)<br/>* **recovery** —
восстановление из резервной копии в **новый** инстанс<br/><br/>> **Примечание:** операций работы с пользователями Nextcloud (`create_user`/`modify_user`/`delete_user`) на уровне платформы нет — пользователи
приложения администрируются внутри самого Nextcloud.<br/><br/>---<br/><br/>## 2. Параметры создания сервиса<br/><br/>### Платформа для развертывания<br/><br/>Ресурсная платформа (`resourceRealm`), в которой
будет развёрнут сервис. PostgreSQL и Redis, указанные ниже, обязаны находиться в той же ресурсной платформе.<br/><br/>### СУБД PostgreSQL (psqlUid)<br/><br/>UID инстанса PostgreSQL (k8s), в котором будет
создана база и пользователь `nextcloud`.<br/><br/>* У выбранной СУБД должна отсутствовать база `nextcloud` и пользователь `nextcloud`.<br/>* У СУБД обязан быть выключен `sslRequired` (`false`).<br/><br/>###
СУБД Redis (redisUid)<br/><br/>UID инстанса Redis (k8s), который будет использоваться как memcache/locking backend.<br/><br/>### Количество реплик<br/><br/>Количество реплик Nextcloud (`clusterConfiguration.replicas`).<br/><br/>###
Квота памяти пода (MB)<br/><br/>Объём памяти для пода Nextcloud в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода Nextcloud в миликорах (1000 mCPU = 1 vCPU).<br/>Пример:
`1000`<br/><br/>### Размер диска для данных (GB)<br/><br/>Объём диска под данные Nextcloud (`/var/www/html/data`) в гигабайтах.<br/>Пример: `20`<br/><br/>### Домен<br/><br/>Домен, на котором будет доступен
Nextcloud (`accessConfiguration.domain`).<br/><br/>* Если указано **полное доменное имя** (содержит точку, например `cloud.company.ru`) — домен считается клиентским. Перед созданием клиент обязан сам
настроить DNS-запись, указывающую на адрес Ingress платформы, иначе создание завершится ошибкой.<br/>* Если указано **короткое имя** (без точки, например `mycloud`) — платформа сама создаёт DNS-запись
вида `<domain>.nextcloudk8s` и настраивает сертификат.<br/><br/>### Версия<br/><br/>Версия приложения Nextcloud (`appConfiguration.version`, поле `appVersion` Helm-чарта). По ней автоматически подбирается
последняя подходящая версия Helm-чарта.<br/><br/>> **Примечание:** список поддерживаемых версий и допустимые шаги обновления заданы в `pipelines/stages/functions/helm.groovy` (см. раздел 13).<br/><br/>###
Document Server<br/><br/>Параметр `appConfiguration.documentServer`. Если указать `collabora` — в кластер дополнительно разворачивается Collabora Online (совместное редактирование офисных документов),
доступный по пути `/collabora` на том же домене.<br/>Оставьте пустым, если Document Server не нужен.<br/><br/>### Уровень логирования<br/><br/>Параметр `appConfiguration.logLevel`. Одно из значений: `DEBUG`,
`INFO`, `WARN`, `ERROR`, `FATAL`, либо `NONE` — чтобы не переопределять логирование Nextcloud.<br/><br/>---<br/><br/>## 3. Параметры модификации сервиса<br/><br/>Изменению подлежат ресурсы, версия и часть
`appConfiguration`. Параметры `psqlUid`/`redisUid` менять после создания не рекомендуется.<br/><br/>### Количество реплик<br/><br/>См. раздел 2.<br/><br/>### Квота памяти пода (MB) / Квота CPU пода (mCPU)
/ Размер диска (GB)<br/><br/>См. раздел 2.<br/><br/>> **Примечание:** уменьшить уже выделенный размер диска нельзя.<br/><br/>### Версия<br/><br/>Обновление версии разрешено только **на один патч** либо
**на одну минорную версию вперёд** (с `patch=0`). Прыжок сразу через несколько минорных версий или через несколько мажорных версий запрещён — обновляться нужно последовательно.<br/><br/>> **Примечание:**
перед обновлением на новую minor/major-версию необходимо сначала выполнить `modify` на текущей версии, обновившись до последнего релиза этой версии (иначе операция завершится ошибкой с описанием, до какой
версии нужно обновиться сначала).<br/><br/>### Document Server / Уровень логирования<br/><br/>См. раздел 2.<br/><br/>---<br/><br/>## 4. Параметры удаления сервиса<br/><br/>Специальных параметров нет —
удаление сносит namespace целиком.<br/><br/>> **Примечание:** резервные копии, созданные через `create_backup`, хранятся в Velero отдельно от инстанса и **не удаляются** вместе с сервисом — операции `delete_backup`
для Nextcloud нет, копии нужно вычищать на стороне Velero отдельно.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>Специальных пользовательских параметров нет — имя бэкапа генерируется
автоматически в формате `<дата>-<версия>-<namespace>`.<br/><br/>> **Примечание:** создать бэкап можно только если сервис предварительно приостановлен (`suspend`). Velero, в который создаётся бэкап, должен
быть развёрнут в той же ресурсной платформе, что и Nextcloud, и не может быть сменён на другой Velero-инстанс в рамках одного сервиса.<br/><br/>Бэкапится под с данными вместе с PVC/PV (файлы), метаданные
и БД PostgreSQL бэкапом не затрагиваются — версия схемы БД фиксируется отдельно (см. раздел 6).<br/><br/>---<br/><br/>## 6. Параметры восстановления из бэкапа (recovery)<br/><br/>В отличие от СУБД-сервисов,
`recovery` у Nextcloud **не восстанавливает данные в текущий инстанс**, а создаёт **новый** инстанс сервиса (аналог `create`), в который переносятся файлы из указанной резервной копии.<br/><br/>### Точка
восстановления (recoveryPoint)<br/><br/>Имя резервной копии Velero, из которой будет выполнено восстановление.<br/><br/>### Домен нового инстанса<br/><br/>Обязан отличаться от домена исходного (текущего)
инстанса — восстановление на тот же домен не поддерживается.<br/><br/>### СУБД PostgreSQL нового инстанса<br/><br/>Если версия Nextcloud в бэкапе отличается от текущей версии инстанса, для нового инстанса
обязательно нужно указать **другую** СУБД PostgreSQL (нельзя восстанавливать бэкап со старой схемой БД поверх БД с более новой схемой).<br/><br/>---<br/><br/>## 7. Выходные параметры<br/><br/>После успешного
создания сервиса платформа возвращает:<br/><br/>### connectionUrl<br/><br/>Адрес для входа в Nextcloud: `https://<домен>`.<br/><br/>### namespace<br/><br/>Namespace в K8s-кластере, в котором развёрнут
сервис.<br/><br/>### Учётные данные (Vault)<br/><br/>В Vault сохраняется пароль администратора (`adminPass`) под логином `admin`.<br/><br/>---<br/><br/>## 8. Пример подключения<br/><br/>Откройте `connectionUrl`
в браузере и авторизуйтесь:<br/><br/>* **Логин:** `admin`<br/>* **Пароль:** значение `adminPass` из блока «Учётные данные» в Vault<br/><br/>---<br/><br/>## 9. Дополнительная информация<br/><br/>### Зависимости<br/><br/>Nextcloud
нельзя создать без уже существующих в том же `resourceRealm` сервисов PostgreSQL (k8s, `sslRequired: false`) и Redis (k8s). При `delete` зависимые СУБД и Redis не трогаются — удаляется только сам Nextcloud.<br/><br/>###
suspend/resume<br/><br/>При `suspend` количество реплик Nextcloud, Collabora и exporter''а метрик принудительно выставляется в `0` через `helm upgrade` (реальное масштабирование, а не просто пауза cron).
При `resume` реплики возвращаются к значению из `clusterConfiguration.replicas`.<br/><br/>### Collabora<br/><br/>Собирается из отдельного `image.repository: nexus-sa.tst.nubes.ru/collabora/code` и включается
только при `appConfiguration.documentServer == ''collabora''`. Доступен на том же домене и том же TLS-сертификате, что и сам Nextcloud, по пути `/collabora`.<br/><br/>### Бэкап/восстановление через Velero<br/><br/>Бэкап/восстановление
файлов идёт через Velero с селектором `backup=<serviceName>-velero-backup` и включает под, PVC и PV — то есть непосредственно файлы `/var/www/html/data`. Восстановление БД в новый инстанс выполняется
штатным механизмом `create` с параметром `instanceUidFrom`, который проставляет `recovery`-джоба автоматически.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -137,7 +179,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-6afmoouq defaultValue: nextcloud-v9jbyta8
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1058 - svcOperationCfsParamId: 1058
@@ -147,18 +189,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
logLevel:
dataType: string
defaultValue: INFO
isRequired: true
isModifiable: false
valueList:
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
version: version:
dataType: string dataType: string
defaultValue: 33.0.4 defaultValue: 33.0.4
@@ -173,6 +203,18 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- collabora - collabora
logLevel:
dataType: string
defaultValue: INFO
isRequired: true
isModifiable: false
valueList:
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
- NONE
- svcOperationCfsParamId: 1077 - svcOperationCfsParamId: 1077
svcOperationCfsParam: startupConfiguration svcOperationCfsParam: startupConfiguration
dataType: map-fixed dataType: map-fixed
@@ -192,19 +234,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -229,6 +258,19 @@ cfsParams:
- '6144' - '6144'
- '7168' - '7168'
- '8192' - '8192'
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '2'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1060 - svcOperationCfsParamId: 1060
svcOperationCfsParam: appConfiguration svcOperationCfsParam: appConfiguration
dataType: map-fixed dataType: map-fixed
@@ -269,16 +311,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
psqlUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
redisUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
resourceRealm: resourceRealm:
dataType: string dataType: string
defaultValue: k8s-4-ext-nubes-ru defaultValue: k8s-4-ext-nubes-ru
@@ -286,16 +318,6 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- k8s-4-ext-nubes-ru - k8s-4-ext-nubes-ru
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlEnabled: psqlEnabled:
dataType: boolean dataType: boolean
defaultValue: 'true' defaultValue: 'true'
@@ -310,6 +332,26 @@ cfsParams:
isModifiable: false isModifiable: false
valueList: valueList:
- 'true' - 'true'
recoveryPoint:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
psqlUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
redisUid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
veleroUid:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1079 - svcOperationCfsParamId: 1079
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -317,16 +359,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
replicas:
dataType: integer > 0
defaultValue: 1,2
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
cpu: cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -351,6 +383,16 @@ cfsParams:
- '6144' - '6144'
- '7168' - '7168'
- '8192' - '8192'
replicas:
dataType: integer > 0
defaultValue: 1,2
isRequired: true
isModifiable: false
disk:
dataType: integer > 0
defaultValue: '10'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1080 - svcOperationCfsParamId: 1080
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -360,7 +402,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: nextcloud-ch6fvoz1 defaultValue: nextcloud-zdaml6i9
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1081 - svcOperationCfsParamId: 1081
@@ -418,5 +460,5 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}'
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}'
accessConfiguration: '{"domain": "nextcloud-6afmoouq"}' accessConfiguration: '{"domain": "nextcloud-v9jbyta8"}'
appConfiguration: '{"logLevel": "INFO", "version": "33.0.4", "documentServer": "collabora"}' appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
+87 -9
View File
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация: процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
keycloak' keycloak'
lifecycle: lifecycle:
suspendOnDestroyDefault: false suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
operations: operations:
- svcOperationId: 14 - svcOperationId: 14
@@ -18,6 +18,22 @@ operations:
operation: delete operation: delete
kind: instance kind: instance
action: delete action: delete
- svcOperationId: 270
operation: modify
kind: instance
action: modify
- svcOperationId: 405
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 415
operation: resume
kind: instance
action: resume
- svcOperationId: 416
operation: suspend
kind: instance
action: suspend
stateOut: {} stateOut: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 16 - svcOperationCfsParamId: 16
@@ -38,26 +54,74 @@ cfsParams:
svcOperationCfsParam: resourceCPU svcOperationCfsParam: resourceCPU
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '100' defaultValue: '1000'
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 229 - svcOperationCfsParamId: 229
svcOperationCfsParam: resourceMemory svcOperationCfsParam: resourceMemory
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '200' defaultValue: '1024'
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 230 - svcOperationCfsParamId: 230
svcOperationCfsParam: resourceInstances svcOperationCfsParam: resourceInstances
dataType: integer > 0 dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '1' defaultValue: '1'
isModifiable: false isModifiable: true
- svcOperationCfsParamId: 231 - svcOperationCfsParamId: 231
svcOperationCfsParam: s3Uid svcOperationCfsParam: s3Uid
dataType: uuid dataType: uuid
isRequired: true isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1126
svcOperationCfsParam: pvType
dataType: string
isRequired: true
defaultValue: s3
isModifiable: false
valueList:
- s3
- local
- svcOperationCfsParamId: 1127
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: '5'
isModifiable: true
- svcOperationCfsParamId: 1128
svcOperationCfsParam: authType
dataType: string
isRequired: true
defaultValue: local
isModifiable: false
valueList:
- local
- keycloak
- svcOperationCfsParamId: 822
svcOperationCfsParam: resourceInstances
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 823
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 824
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 1129
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: false
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
14: 14:
- 16 - 16
@@ -66,11 +130,25 @@ cfsParamsByOp:
- 229 - 229
- 230 - 230
- 231 - 231
- 1126
- 1127
- 1128
15: [] 15: []
270:
- 822
- 823
- 824
- 1129
405: []
415: []
416: []
stateParams: stateParams:
domain: harbor-1 domain: harbor-1
resourceRealm: k8s-4-ext-nubes-ru resourceRealm: k8s-4-ext-nubes-ru
resourceCPU: '100' resourceCPU: '1000'
resourceMemory: '200' resourceMemory: '1024'
resourceInstances: '1' resourceInstances: '1'
s3Uid: '' s3Uid: ''
pvType: s3
resourceDisk: '5'
authType: local
+17 -17
View File
@@ -103,7 +103,7 @@ cfsParams:
dataDescriptor: dataDescriptor:
domain: domain:
dataType: string dataType: string
defaultValue: flask-raqv2ud7 defaultValue: flask-mfcpbrbr
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1040 - svcOperationCfsParamId: 1040
@@ -113,13 +113,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: '3.12'
isRequired: true
isModifiable: false
valueList:
- '3.12'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
@@ -130,6 +123,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: '3.12'
isRequired: true
isModifiable: false
valueList:
- '3.12'
- svcOperationCfsParamId: 1041 - svcOperationCfsParamId: 1041
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -170,13 +170,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
gitPath: gitPath:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -187,6 +180,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: false isRequired: false
isModifiable: false isModifiable: false
version:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '3.12'
- svcOperationCfsParamId: 1044 - svcOperationCfsParamId: 1044
svcOperationCfsParam: jsonEnv svcOperationCfsParam: jsonEnv
dataType: map dataType: map
@@ -227,6 +227,6 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}' clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
accessConfiguration: '{"domain": "flask-raqv2ud7"}' accessConfiguration: '{"domain": "flask-mfcpbrbr"}'
appConfiguration: '{"version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": ""}' appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
jsonEnv: '{}' jsonEnv: '{}'
+127 -58
View File
@@ -180,16 +180,10 @@ cfsParams:
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: - '15'
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
poolerMaster: poolerMaster:
dataType: boolean dataType: boolean
defaultValue: 'false' defaultValue: 'false'
@@ -206,25 +200,41 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
sslRequired:
dataType: boolean
defaultValue: 'true'
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 792 - svcOperationCfsParamId: 792
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: 'off'
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: '100'
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 793 - svcOperationCfsParamId: 793
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -234,9 +244,9 @@ cfsParams:
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
s3Uid: s3Uid:
dataType: uuid dataType: string
defaultValue: '' defaultValue: 00000000-0000-0000-0000-000000000000
isRequired: true isRequired: false
isModifiable: false isModifiable: false
retain: retain:
dataType: integer > 0 dataType: integer > 0
@@ -248,6 +258,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: '0'
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 794 - svcOperationCfsParamId: 794
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -310,7 +325,7 @@ cfsParams:
isModifiable: false isModifiable: false
durationServer: durationServer:
dataType: integer > 0 dataType: integer > 0
defaultValue: '87600' defaultValue: '43800'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
certCA: certCA:
@@ -446,20 +461,13 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
poolerSlave:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'false'
- 'true'
version: version:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- '18'
- '17' - '17'
- '16' - '16'
sslRequired: sslRequired:
@@ -475,25 +483,41 @@ cfsParams:
valueList: valueList:
- 'false' - 'false'
- 'true' - 'true'
- svcOperationCfsParamId: 798 poolerSlave:
svcOperationCfsParam: postgresConf dataType: boolean
dataType: array-map-fixed
isRequired: false
defaultValue: ''
isModifiable: true
dataDescriptor:
paramName:
dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'false'
- log_disconnections - 'true'
paramValue: - svcOperationCfsParamId: 798
svcOperationCfsParam: postgresConf
dataType: map-fixed
isRequired: false
defaultValue: ''
isModifiable: true
dataDescriptor:
log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
log_disconnections:
dataType: string
defaultValue: ''
isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 799 - svcOperationCfsParamId: 799
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -502,11 +526,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain: retain:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -517,6 +536,16 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 800 - svcOperationCfsParamId: 800
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -719,23 +748,31 @@ cfsParams:
- 'true' - 'true'
- svcOperationCfsParamId: 805 - svcOperationCfsParamId: 805
svcOperationCfsParam: postgresConf svcOperationCfsParam: postgresConf
dataType: array-map-fixed dataType: map-fixed
isRequired: false isRequired: false
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
paramName: log_connections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false isModifiable: false
valueList: valueList:
- log_connections - 'off'
- log_disconnections - 'on'
paramValue: log_disconnections:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
isRequired: true isRequired: false
isModifiable: false
valueList:
- 'off'
- 'on'
max_connections:
dataType: integer > 0
defaultValue: ''
isRequired: false
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 806 - svcOperationCfsParamId: 806
svcOperationCfsParam: backupConfiguration svcOperationCfsParam: backupConfiguration
@@ -759,6 +796,11 @@ cfsParams:
defaultValue: 0 0 * * * defaultValue: 0 0 * * *
isRequired: true isRequired: true
isModifiable: false isModifiable: false
incrementCount:
dataType: integer >= 0
defaultValue: ''
isRequired: false
isModifiable: false
- svcOperationCfsParamId: 807 - svcOperationCfsParamId: 807
svcOperationCfsParam: autoscaleConfiguration svcOperationCfsParam: autoscaleConfiguration
dataType: map-fixed dataType: map-fixed
@@ -798,6 +840,32 @@ cfsParams:
- '10' - '10'
- '15' - '15'
- '20' - '20'
- svcOperationCfsParamId: 1106
svcOperationCfsParam: mtlsConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
type:
dataType: string
defaultValue: 'off'
isRequired: true
isModifiable: false
valueList:
- 'off'
- manual
- auto
durationCA:
dataType: integer > 0
defaultValue: '175200'
isRequired: true
isModifiable: false
durationServer:
dataType: integer > 0
defaultValue: '87600'
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
19: 19:
- 788 - 788
@@ -839,6 +907,7 @@ cfsParamsByOp:
- 805 - 805
- 806 - 806
- 807 - 807
- 1106
54: [] 54: []
114: [] 114: []
115: [] 115: []
@@ -846,8 +915,8 @@ stateParams:
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}' postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
postgresConf: '{"paramName": "", "paramValue": ""}' postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}' backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}' autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 87600, "certCA": "", "certServer": ""}' mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 43800, "certCA": "", "certServer": ""}'
+21 -21
View File
@@ -86,16 +86,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
slaveIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -106,6 +96,16 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveIpSpace:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
slaveAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1064 - svcOperationCfsParamId: 1064
svcOperationCfsParam: clusterConfiguration svcOperationCfsParam: clusterConfiguration
dataType: map-fixed dataType: map-fixed
@@ -113,6 +113,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory: memory:
dataType: integer > 0 dataType: integer > 0
defaultValue: '' defaultValue: ''
@@ -133,11 +138,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1065 - svcOperationCfsParamId: 1065
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -145,11 +145,6 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
slaveAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
masterIpSpace: masterIpSpace:
dataType: string dataType: string
defaultValue: '' defaultValue: ''
@@ -165,6 +160,11 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
slaveAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
21: 21:
- 1061 - 1061
@@ -180,4 +180,4 @@ cfsParamsByOp:
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}' clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
accessConfiguration: '{"slaveIpSpace": "", "slaveAccessList": "[]", "masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
+181 -42
View File
@@ -3,34 +3,65 @@ service_id: 92
service_display_name: MongoDB service_display_name: MongoDB
service_short_name: mongodb service_short_name: mongodb
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность, service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** — горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
**Примечание:** уменьшение количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение
Квота CPU пода (mCPU)<br/><br/>CPU-квота для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: количества узлов после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
`["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система автоматически последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать нечётное созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества узлов ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
после создания кластера не рекомендуется.<br/><br/>### Квота памяти пода (MB)<br/><br/>Объём памяти для одного пода в мегабайтах.<br/>Пример: `2048`<br/><br/>### Квота CPU пода (mCPU)<br/><br/>CPU-квота IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>###
Включить TLS<br/><br/>Булевый параметр. Определяет режим работы TLS кластера.<br/><br/>- `true` — TLS включён (`tls.mode: allowTLS`). Сертификаты сохраняются в Vault.<br/>- `false` — TLS выключен (`tls.mode:
disabled`).<br/><br/>По умолчанию: `false`.<br/><br/>---<br/><br/>## 3. Параметры модификации базы данных<br/><br/>Все параметры, которые вы указываете при модификации, являются необязательными — система
автоматически подставит ранее сохранённые значения, и при необходимости вы можете изменить их на нужные.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально выбирать
нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><br/>> **Примечание:** уменьшение количества
узлов после создания кластера не рекомендуется.<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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при для пода в миликорах (1000 mCPU = 1 vCPU).<br/>Пример: `1000`<br/><br/>### Размер диска для базы данных (GB)<br/><br/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>### `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует, их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к "Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или (созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<br/><br/>Список имён резервных копий
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину для удаления.<br/>Пример: `["manual-20260904", "cron-mongok8s-...-20260903020000"]`<br/><br/>---<br/><br/>## 8. Параметры создания пользователя<br/><br/>### Имя пользователя<br/><br/>Указывается имя пользователя
и паролю.' (любой регистр).<br/>Пример: `readApp`<br/><br/>> **Примечание:** имя пользователя должно быть уникальным в рамках кластера. Если пользователь<br/>> с таким именем уже существует, операция завершится
ошибкой — используйте `modify_user` для<br/>> изменения прав или `delete_user` + `create_user` для пересоздания.<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если
база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner**
— полный контроль над базой данных<br/>* **dbAdmin** — администрирование базы данных (индексы, статистика, схема) без доступа к чтению/записи данных<br/><br/>---<br/><br/>## 9. Параметры модификации пользователя<br/><br/>###
Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой
относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/>* **dbAdmin**<br/><br/>---<br/><br/>##
10. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для удаления.<br/><br/>---<br/><br/>## 11. Выходные параметры<br/><br/>После успешного развертывания
базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних
интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>> **Важно:** оба эндпоинта — это Kubernetes
Service на весь replset, а не адрес конкретно<br/>> primary-узла. Kubernetes не отслеживает, кто из узлов сейчас primary, поэтому новое<br/>> подключение без параметра `replicaSet` может попасть на secondary
и упасть с ошибкой записи<br/>> `not writable primary`. Обязательно указывайте `replicaSet=rs0` в строке подключения (см.<br/>> примеры ниже) — тогда драйвер сам обнаружит топологию кластера и всегда
направит запись на<br/>> актуальный primary, независимо от количества реплик и от того, происходили ли выборы.<br/><br/>---<br/><br/>## 12. Пример подключения<br/><br/>Перед подключением необходимо установить
**mongosh**.<br/><br/>### 12.1 Подключение без TLS<br/><br/>Для внутреннего подключения из той же сети:<br/><br/>```<br/>mongosh "mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>?authSource=admin&replicaSet=rs0"<br/>```<br/><br/>###
12.2 Подключение через внешний endpoint с TLS<br/><br/>Кластер требует клиентский TLS-сертификат (mutual TLS). Сертификаты сохраняются в Vault при создании кластера в блоке `cer` в полях `ca`, `cer`,
`key` в кодировке base64.<br/><br/>Подготовка файлов:<br/><br/>```bash<br/># Декодировать сертификаты из Vault<br/>echo "<ca из блока Учётные данные>" | base64 -d > ca.crt<br/>echo "<cer из из блока Учётные
данные" | base64 -d > tls.crt<br/>echo "<key из из блока Учётные данные>" | base64 -d > tls.key<br/><br/># Собрать клиентский PEM<br/>cat tls.key tls.crt > client.pem<br/>```<br/><br/>Подключение:<br/><br/>```<br/>mongosh
"mongodb://<username>:<password>@<external_endpoint_db>:27017/<dbName>?tls=true&tlsCAFile=ca.crt&tlsCertificateKeyFile=client.pem&authSource=admin&replicaSet=rs0"<br/>```<br/><br/>Где:<br/><br/>* `<username>`
— имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect (для подключения без TLS)<br/>* `<external_endpoint_db>` — externalConnect (для внешнего подключения с TLS)<br/>*
`<dbName>` — имя базы данных<br/><br/>## 13. Дополнительная информация<br/><br/>Режим TLS задаётся параметром `mongoConfiguration.tls` только при создании кластера.<br/>После создания изменение TLS через
модификацию не поддерживается.<br/><br/>- При `true` кластер разворачивается с включённым TLS (`tls.mode: allowTLS`). Сервер принимает как обычные, так и TLS-соединения.<br/>- При `false` TLS выключен
(`tls.mode: disabled`).<br/><br/>Для внешнего подключения (`externalConnect`) используется сертификат, выпущенный через cert-manager, с SAN, покрывающим внешний DNS-адрес кластера — поэтому `tlsAllowInvalidHostnames`
не требуется, хост проверяется как обычно.<br/><br/>Внутренние подключения TLS-сертификат не используют вообще: режим `allowTLS` допускает как TLS, так и обычные соединения, но для внутреннего трафика
применяется обычное (не TLS) подключение — см. пример 12.1.<br/><br/>### Почему обязателен `replicaSet=rs0` в строке подключения<br/><br/>Percona-оператор не проставляет на поды никакого динамического
лейбла роли (primary/secondary) —<br/>у всех подов replset''а полностью одинаковые лейблы, различается только имя/индекс пода.<br/>`master`-сервис — это обычный Kubernetes Service с фиксированным селектором
на весь replset, он<br/>не знает и не может знать, какой под сейчас primary: k8s просто раздаёт новые TCP-подключения<br/>по кругу между всеми узлами. Без `replicaSet=rs0` в URI подключение может закрепиться
на<br/>secondary, и любая попытка записи будет падать с `not writable primary` — независимо от того,<br/>происходили выборы недавно или нет. Указание `replicaSet=rs0` включает у драйвера обнаружение<br/>топологии
реплики, и он сам направляет запись на актуальный primary при любом количестве узлов<br/>и после любых переизбраний.<br/>'
lifecycle: lifecycle:
suspendOnDestroyDefault: true suspendOnDestroyDefault: true
adoptExistingOnCreateDefault: false adoptExistingOnCreateDefault: false
@@ -39,6 +70,10 @@ operations:
operation: create operation: create
kind: instance kind: instance
action: create action: create
- svcOperationId: 411
operation: create_backup
kind: subresource
action: create
- svcOperationId: 198 - svcOperationId: 198
operation: create_user operation: create_user
kind: subresource kind: subresource
@@ -47,6 +82,10 @@ operations:
operation: delete operation: delete
kind: instance kind: instance
action: delete action: delete
- svcOperationId: 414
operation: delete_backup
kind: subresource
action: delete
- svcOperationId: 199 - svcOperationId: 199
operation: delete_user operation: delete_user
kind: subresource kind: subresource
@@ -67,11 +106,16 @@ operations:
operation: resume operation: resume
kind: instance kind: instance
action: resume action: resume
- svcOperationId: 413
operation: rollback
kind: action
action: rollback
- svcOperationId: 194 - svcOperationId: 194
operation: suspend operation: suspend
kind: instance kind: instance
action: suspend action: suspend
stateOut: stateOut:
backups: {}
users: {} users: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 1089 - svcOperationCfsParamId: 1089
@@ -95,6 +139,16 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor: dataDescriptor:
cpu:
dataType: integer > 0
defaultValue: '1000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '1024'
isRequired: true
isModifiable: false
replicas: replicas:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1' defaultValue: '1'
@@ -110,16 +164,6 @@ cfsParams:
defaultValue: '5' defaultValue: '5'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
cpu:
dataType: integer > 0
defaultValue: '1000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '1024'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1091 - svcOperationCfsParamId: 1091
svcOperationCfsParam: accessConfiguration svcOperationCfsParam: accessConfiguration
dataType: map-fixed dataType: map-fixed
@@ -137,6 +181,49 @@ cfsParams:
defaultValue: '[]' defaultValue: '[]'
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1102
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
s3Uid:
dataType: uuid
defaultValue: ''
isRequired: true
isModifiable: false
retain:
dataType: integer > 0
defaultValue: '7'
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: 0 0 * * *
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1116
svcOperationCfsParam: mongoConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: false
dataDescriptor:
tls:
dataType: boolean
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- 'true'
- 'false'
- svcOperationCfsParamId: 1109
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: false
- svcOperationCfsParamId: 635 - svcOperationCfsParamId: 635
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -156,12 +243,28 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: false isModifiable: false
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1103
svcOperationCfsParam: deleteS3Bucket
dataType: boolean
isRequired: true
defaultValue: 'true'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 1111
svcOperationCfsParam: backupName
dataType: array
isRequired: true
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 644 - svcOperationCfsParamId: 644
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: array
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
@@ -214,6 +317,23 @@ cfsParams:
defaultValue: '' defaultValue: ''
isRequired: true isRequired: true
isModifiable: false isModifiable: false
- svcOperationCfsParamId: 1104
svcOperationCfsParam: backupConfiguration
dataType: map-fixed
isRequired: true
defaultValue: ''
isModifiable: true
dataDescriptor:
retain:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
schedule:
dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 640 - svcOperationCfsParamId: 640
svcOperationCfsParam: username svcOperationCfsParam: username
dataType: string dataType: string
@@ -233,32 +353,51 @@ cfsParams:
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: valueList:
- dbOwner
- read - read
- readWrite - readWrite
- dbAdmin
- dbOwner
- svcOperationCfsParamId: 1108
svcOperationCfsParam: backupName
dataType: string
isRequired: true
defaultValue: ''
isModifiable: true
cfsParamsByOp: cfsParamsByOp:
37: 37:
- 1089 - 1089
- 1090 - 1090
- 1091 - 1091
- 1102
- 1116
411:
- 1109
198: 198:
- 635 - 635
- 636 - 636
- 643 - 643
190: [] 190:
- 1103
414:
- 1111
199: 199:
- 644 - 644
201: 201:
- 1092 - 1092
- 1093 - 1093
- 1104
200: 200:
- 640 - 640
- 641 - 641
- 642 - 642
409: [] 409: []
196: [] 196: []
413:
- 1108
194: [] 194: []
stateParams: stateParams:
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
clusterConfiguration: '{"replicas": 1, "disk": 5, "cpu": 1000, "memory": 1024}' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
mongoConfiguration: '{"tls": false}'
+133 -87
View File
@@ -49,6 +49,10 @@ operations:
operation: modify operation: modify
kind: instance kind: instance
action: modify action: modify
- svcOperationId: 410
operation: reconcile
kind: action
action: reconcile
- svcOperationId: 117 - svcOperationId: 117
operation: resume operation: resume
kind: instance kind: instance
@@ -59,116 +63,158 @@ operations:
action: suspend action: suspend
stateOut: {} stateOut: {}
cfsParams: cfsParams:
- svcOperationCfsParamId: 116 - svcOperationCfsParamId: 1097
svcOperationCfsParam: resourceCPU svcOperationCfsParam: startupConfiguration
dataType: integer > 0 dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '1000' defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 117
svcOperationCfsParam: resourceMemory
dataType: integer > 0
isRequired: true
defaultValue: '1124'
isModifiable: true
- svcOperationCfsParamId: 118
svcOperationCfsParam: resourceDisk
dataType: integer > 0
isRequired: true
defaultValue: '30'
isModifiable: true
- svcOperationCfsParamId: 119
svcOperationCfsParam: resourceRealm
dataType: string
isRequired: true
defaultValue: k8s-4-ext-nubes-ru
isModifiable: false isModifiable: false
valueList: dataDescriptor:
- k8s-4-ext-nubes-ru resourceRealm:
- svcOperationCfsParamId: 224 dataType: string
svcOperationCfsParam: resourceInstances defaultValue: k8s-4-ext-nubes-ru
dataType: integer > 0 isRequired: true
isRequired: true isModifiable: false
defaultValue: '1' valueList:
isModifiable: true - k8s-4-ext-nubes-ru
- svcOperationCfsParamId: 225 - svcOperationCfsParamId: 1098
svcOperationCfsParam: needExternalAddressMaster svcOperationCfsParam: clusterConfiguration
dataType: boolean dataType: map-fixed
isRequired: true
defaultValue: 'false'
isModifiable: true
valueList:
- 'false'
- 'true'
- svcOperationCfsParamId: 543
svcOperationCfsParam: ipSpaceNameMaster
dataType: string
isRequired: false
defaultValue: ''
isModifiable: true
- svcOperationCfsParamId: 304
svcOperationCfsParam: resourceCPU
dataType: integer > 0
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 305 dataDescriptor:
svcOperationCfsParam: resourceMemory cpu:
dataType: integer > 0 dataType: integer > 0
defaultValue: '1000'
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: '1024'
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: '1'
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
disk:
dataType: integer > 0
defaultValue: '5'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1099
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 306 dataDescriptor:
svcOperationCfsParam: resourceDisk masterIpSpace:
dataType: integer > 0 dataType: string
defaultValue: ''
isRequired: true
isModifiable: false
masterAccessList:
dataType: json
defaultValue: '[]'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1113
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 307 dataDescriptor:
svcOperationCfsParam: resourceInstances maxMessageSize:
dataType: integer > 0 dataType: integer > 0
defaultValue: '4'
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1100
svcOperationCfsParam: clusterConfiguration
dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
- svcOperationCfsParamId: 308 dataDescriptor:
svcOperationCfsParam: needExternalAddressMaster cpu:
dataType: boolean dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
memory:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
replicas:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
valueList:
- '1'
- '3'
- '5'
- '7'
disk:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1101
svcOperationCfsParam: accessConfiguration
dataType: map-fixed
isRequired: true isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
valueList: dataDescriptor:
- 'false' masterIpSpace:
- 'true' dataType: string
- svcOperationCfsParamId: 545 defaultValue: ''
svcOperationCfsParam: ipSpaceNameMaster isRequired: true
dataType: string isModifiable: false
isRequired: false masterAccessList:
dataType: json
defaultValue: ''
isRequired: true
isModifiable: false
- svcOperationCfsParamId: 1114
svcOperationCfsParam: mqConfiguration
dataType: map-fixed
isRequired: true
defaultValue: '' defaultValue: ''
isModifiable: true isModifiable: true
dataDescriptor:
maxMessageSize:
dataType: integer > 0
defaultValue: ''
isRequired: true
isModifiable: false
cfsParamsByOp: cfsParamsByOp:
38: 38:
- 116 - 1097
- 117 - 1098
- 118 - 1099
- 119 - 1113
- 224
- 225
- 543
39: [] 39: []
106: 106:
- 304 - 1100
- 305 - 1101
- 306 - 1114
- 307 410: []
- 308
- 545
117: [] 117: []
116: [] 116: []
stateParams: stateParams:
resourceCPU: '1000' startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
resourceMemory: '1124' clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
resourceDisk: '30' accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
resourceRealm: k8s-4-ext-nubes-ru mqConfiguration: '{"maxMessageSize": 4}'
resourceInstances: '1'
needExternalAddressMaster: 'false'
ipSpaceNameMaster: ''

Some files were not shown because too many files have changed in this diff Show More