fix: stabilize Polygon config loading and sync
This commit is contained in:
@@ -22,11 +22,11 @@
|
||||
|
||||
### Относительный путь к 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
|
||||
|
||||
@@ -36,21 +36,21 @@
|
||||
|
||||
`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 в Polygon не отправлялись в Gitea и не развёртывались, поэтому сами по себе не меняли работающий сервис.
|
||||
Удаление четырёх старых копий `27_vc_vm_v2.yaml` не могло объяснить восстановление DNS: эти YAML влияют на содержимое API, а не на DNS-запись.
|
||||
|
||||
## Что проверить для точного диагноза
|
||||
|
||||
1. В карточке инстанса: фактические `startupConfiguration.resourceRealm`, `accessConfiguration.domain`, `appConfiguration.gitPath`, `appConfiguration.healthPath` и `state_out.connectionUrl`.
|
||||
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.
|
||||
|
||||
## Вывод
|
||||
|
||||
Непосредственно `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 в рамках этого анализа не менялись.
|
||||
@@ -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 — конвертация формата, дедупликация, нормализация
|
||||
│ Запускается ВРУЧНУЮ при изменении терраформ-репы
|
||||
@@ -67,7 +67,7 @@ polygon/site/services/{dev,test,prod}/*.yaml ← скоммичены в git-
|
||||
│ config/loader.py — загрузка ВСЕХ YAML в память при старте
|
||||
│
|
||||
▼
|
||||
Память Flask-процесса (~0.7 MB на 3 стенда)
|
||||
Память Flask-процесса (конфиги загружаются один раз при старте)
|
||||
```
|
||||
|
||||
### Почему нельзя читать терраформ-формат напрямую?
|
||||
@@ -90,9 +90,9 @@ polygon/site/services/{dev,test,prod}/*.yaml ← скоммичены в git-
|
||||
|
||||
```bash
|
||||
cd site
|
||||
python from_stands.py ~/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_provider/generated/prod/resources_yaml services/prod
|
||||
python from_stands.py ~/TF/tf_provider/generated/dev/resources_yaml services/dev
|
||||
python from_stands.py ~/TF/tf_provider/generated/test/resources_yaml services/test
|
||||
python from_stands.py ~/TF/tf_provider/generated/prod/resources_yaml services/prod
|
||||
|
||||
cd ..
|
||||
git add services/
|
||||
@@ -101,6 +101,8 @@ git push
|
||||
# → редеплоить polygon через Nubes UI
|
||||
```
|
||||
|
||||
После успешной конвертации генератор удаляет из целевого каталога YAML, которых больше нет в источнике. Если конвертация завершилась ошибками, устаревшие файлы не удаляются.
|
||||
|
||||
### Как проверить что всё загрузилось?
|
||||
|
||||
```bash
|
||||
|
||||
@@ -21,6 +21,14 @@ import yaml
|
||||
|
||||
_YAML_EXTS = (".yaml", ".yml")
|
||||
_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):
|
||||
@@ -69,7 +77,7 @@ else:
|
||||
|
||||
STANDS = {}
|
||||
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}
|
||||
|
||||
DEFAULT_STAND = next(iter(STANDS.keys()))
|
||||
|
||||
@@ -309,6 +309,7 @@ def main():
|
||||
|
||||
converted = 0
|
||||
errors = 0
|
||||
converted_names = set()
|
||||
|
||||
for fname in yaml_files:
|
||||
src = os.path.join(stands_dir, fname)
|
||||
@@ -328,6 +329,7 @@ def main():
|
||||
sort_keys=False,
|
||||
width=200,
|
||||
)
|
||||
converted_names.add(fname)
|
||||
|
||||
# Быстрая проверка результата
|
||||
svc_name = cfg.get("name", "?")
|
||||
@@ -343,6 +345,16 @@ def main():
|
||||
print(f" FAIL {fname}: {e}")
|
||||
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(f"Done: {converted} converted, {errors} errors")
|
||||
|
||||
|
||||
@@ -127,9 +127,15 @@ cfsParams:
|
||||
- SSHFP
|
||||
- svcOperationCfsParamId: 780
|
||||
svcOperationCfsParam: recordInput
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
record:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 781
|
||||
svcOperationCfsParam: recordName
|
||||
@@ -144,16 +150,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
recordName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordTTL:
|
||||
dataType: integer > 0
|
||||
defaultValue: '3600'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordType:
|
||||
dataType: string
|
||||
defaultValue: A
|
||||
@@ -169,11 +165,22 @@ cfsParams:
|
||||
- LUA
|
||||
- NS
|
||||
- SSHFP
|
||||
- CAA
|
||||
recordName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordInput:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordTTL:
|
||||
dataType: integer > 0
|
||||
defaultValue: '3600'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 783
|
||||
svcOperationCfsParam: recordName
|
||||
dataType: string
|
||||
@@ -204,10 +211,16 @@ cfsParams:
|
||||
- SSHFP
|
||||
- svcOperationCfsParamId: 786
|
||||
svcOperationCfsParam: recordInput
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
record:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
254:
|
||||
- 761
|
||||
|
||||
@@ -2,7 +2,54 @@ name: mariadb
|
||||
service_id: 115
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -64,10 +111,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 878
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -75,11 +121,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
@@ -97,6 +138,11 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 879
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -134,7 +180,7 @@ cfsParams:
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
@@ -194,19 +240,19 @@ cfsParams:
|
||||
svcOperationCfsParam: dbName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: db-aah92zcm
|
||||
defaultValue: db-nmdlrebb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 735
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: usero6y8ruyp
|
||||
defaultValue: useroxxeykhb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 736
|
||||
svcOperationCfsParam: password
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: kgocowba
|
||||
defaultValue: apsyfstb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 737
|
||||
svcOperationCfsParam: dbName
|
||||
@@ -220,12 +266,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 738
|
||||
svcOperationCfsParam: accessHosts
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: '%'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 456
|
||||
svcOperationCfsParam: deleteS3Bucket
|
||||
dataType: boolean
|
||||
@@ -308,28 +348,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 8.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
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -383,7 +401,6 @@ cfsParamsByOp:
|
||||
- 735
|
||||
- 736
|
||||
- 737
|
||||
- 738
|
||||
139:
|
||||
- 456
|
||||
248:
|
||||
@@ -394,14 +411,13 @@ cfsParamsByOp:
|
||||
- 883
|
||||
- 884
|
||||
- 885
|
||||
- 886
|
||||
- 887
|
||||
287: []
|
||||
141: []
|
||||
140: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"disk": 10, "cpu": 500, "memory": 512, "replicas": 1}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mariadbConfiguration: '{"version": "9.4.0"}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
|
||||
|
||||
@@ -2,21 +2,24 @@ name: kafka
|
||||
service_id: 116
|
||||
service_display_name: ApacheKafka
|
||||
service_short_name: kafka
|
||||
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными
|
||||
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль
|
||||
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create**
|
||||
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify**
|
||||
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume**
|
||||
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание:
|
||||
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым
|
||||
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>###
|
||||
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая
|
||||
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный
|
||||
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>###
|
||||
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних
|
||||
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>-
|
||||
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок
|
||||
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>'
|
||||
service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
|
||||
\ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
|
||||
\ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
|
||||
\ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
|
||||
\ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
|
||||
\ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
|
||||
\ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
|
||||
\ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
|
||||
\ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
|
||||
\ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
|
||||
\ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
|
||||
\ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
|
||||
<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**\
|
||||
\ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -82,10 +85,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1085
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
|
||||
@@ -47,10 +47,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 551
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
|
||||
@@ -85,10 +85,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 838
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -116,6 +115,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
shards:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
@@ -125,11 +129,6 @@ cfsParams:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 839
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -216,20 +215,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -248,6 +233,20 @@ cfsParams:
|
||||
- '5'
|
||||
- '12'
|
||||
- '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
|
||||
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -434,15 +433,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: false,true
|
||||
@@ -463,6 +453,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
- svcOperationCfsParamId: 850
|
||||
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -514,10 +513,10 @@ cfsParamsByOp:
|
||||
182: []
|
||||
stateParams:
|
||||
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": "[]"}'
|
||||
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
|
||||
clickhouseConfiguration: '{"version": "25.10"}'
|
||||
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>"}'
|
||||
|
||||
@@ -2,7 +2,7 @@ name: s3
|
||||
service_id: 12
|
||||
service_display_name: S3 Object Storage
|
||||
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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
|
||||
@@ -19,6 +19,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: k8s-6sa9dyug
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
defaultValue: sandbox.nubes.ru
|
||||
@@ -26,9 +31,14 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- sandbox.nubes.ru
|
||||
clusterName:
|
||||
providerVdc:
|
||||
dataType: string
|
||||
defaultValue: example-ywasgmh6
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
networkProvider:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 772
|
||||
@@ -40,10 +50,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -82,6 +93,18 @@ cfsParams:
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-5tcvtwk4
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '{}'
|
||||
sizingDisk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '50'
|
||||
@@ -92,18 +115,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-gj7zkkhv
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
autoscale:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -111,18 +148,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
needExternalAddressIngress:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
needExternalAddressAPI:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -135,6 +160,18 @@ cfsParams:
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
needExternalAddressIngress:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
258:
|
||||
- 771
|
||||
@@ -143,8 +180,8 @@ cfsParamsByOp:
|
||||
- 774
|
||||
- 775
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "sandbox.nubes.ru", "clusterName": "example-ywasgmh6"}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
startupConfiguration: '{"clusterName": "k8s-6sa9dyug", "resourceRealm": "sandbox.nubes.ru", "providerVdc": "", "networkProvider": ""}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
|
||||
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-gj7zkkhv", "sizingPolicy": ""}'
|
||||
accessConfiguration: '{"needExternalAddressIngress": true, "accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]"}'
|
||||
workerConfiguration: '{"groupName": "workers-5tcvtwk4", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
|
||||
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
||||
|
||||
@@ -62,19 +62,6 @@ cfsParams:
|
||||
defaultValue: '{}'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
ffLogging:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
userCount:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
requestApproveMaxPeriod:
|
||||
dataType: integer > 0
|
||||
defaultValue: '2'
|
||||
@@ -120,6 +107,19 @@ cfsParams:
|
||||
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
|
||||
svcOperationCfsParam: s3Storage
|
||||
dataType: integer > 0
|
||||
@@ -133,6 +133,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
userCount:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
requestApproveMaxPeriod:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -186,11 +191,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
userCount:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 660
|
||||
svcOperationCfsParam: s3Storage
|
||||
dataType: integer > 0
|
||||
@@ -212,5 +212,5 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
resourceRealm: valo.ngcloud.ru
|
||||
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'
|
||||
|
||||
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
|
||||
service_id: 150
|
||||
service_display_name: Kubernetes кластер Штурвал
|
||||
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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -49,6 +59,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
vdcUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
nsxtUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -56,14 +71,65 @@ cfsParams:
|
||||
isModifiable: false
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: example-kcrwfrbd
|
||||
defaultValue: example-ryatr2rx
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
vdcUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: controlPlaneConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -71,6 +137,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '{}'
|
||||
sizingDisk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '50'
|
||||
@@ -85,13 +158,6 @@ cfsParams:
|
||||
- '1'
|
||||
- '3'
|
||||
- '5'
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '{}'
|
||||
- svcOperationCfsParamId: 752
|
||||
svcOperationCfsParam: workerConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -101,7 +167,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-rbrr6za5
|
||||
defaultValue: workers-e6bfgpqf
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
@@ -121,6 +187,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -161,10 +253,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -205,6 +298,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -245,7 +339,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-kk0fpv6w
|
||||
defaultValue: workers-ohtgog3p
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
@@ -261,10 +355,36 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
count:
|
||||
dataType: integer > 0
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -317,8 +437,9 @@ cfsParamsByOp:
|
||||
174: []
|
||||
173: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"nsxtUid": "", "clusterName": "example-kcrwfrbd", "vdcUid": ""}'
|
||||
controlPlaneConfiguration: '{"sizingDisk": 50, "count": 1, "sizingPolicy": "[]"}'
|
||||
workerConfiguration: '{"groupName": "workers-rbrr6za5", "sizingPolicy": "", "sizingDisk": 50, "count": 2}'
|
||||
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}'
|
||||
workerConfiguration: '{"groupName": "workers-e6bfgpqf", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
|
||||
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
|
||||
@@ -71,10 +71,6 @@ operations:
|
||||
operation: recovery_secrets
|
||||
kind: subresource
|
||||
action: recovery
|
||||
- svcOperationId: 234
|
||||
operation: restart
|
||||
kind: action
|
||||
action: restart
|
||||
- svcOperationId: 216
|
||||
operation: resume
|
||||
kind: instance
|
||||
@@ -103,10 +99,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 664
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
@@ -143,13 +138,13 @@ cfsParams:
|
||||
svcOperationCfsParam: domain
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: bao-ovkw1qbi
|
||||
defaultValue: bao-nosgzjqe
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 675
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: kvname-bbycmhbz
|
||||
defaultValue: kvname-ps9az5f9
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 728
|
||||
svcOperationCfsParam: policySettings
|
||||
@@ -158,21 +153,21 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
dataType: json
|
||||
defaultValue: '["read", "list"]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
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-xqjoiy6t
|
||||
defaultValue: policy-kyvtdypv
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 677
|
||||
svcOperationCfsParam: kvName
|
||||
@@ -279,12 +274,12 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
path:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
path:
|
||||
capabilities:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
@@ -353,7 +348,6 @@ cfsParamsByOp:
|
||||
- 723
|
||||
- 724
|
||||
- 725
|
||||
234: []
|
||||
216: []
|
||||
215: []
|
||||
238:
|
||||
@@ -371,4 +365,4 @@ stateParams:
|
||||
resourceMemory: '512'
|
||||
resourceDisk: '10'
|
||||
appVersion: 2.5.2
|
||||
domain: bao-ovkw1qbi
|
||||
domain: bao-nosgzjqe
|
||||
|
||||
@@ -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"}'
|
||||
@@ -1,33 +1,39 @@
|
||||
name: llm_ai
|
||||
service_id: 163
|
||||
service_display_name: LLM
|
||||
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/>## Доступные операции<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/>---<br/><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/>* **Период бюджета**<br/> Срок жизни организации в днях.<br/> Пример: `30`<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/>## 12. Пример использования 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/>'
|
||||
не нужно.<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
|
||||
@@ -60,6 +66,10 @@ operations:
|
||||
operation: modify_team
|
||||
kind: subresource
|
||||
action: modify
|
||||
- svcOperationId: 412
|
||||
operation: reconcile
|
||||
kind: action
|
||||
action: reconcile
|
||||
- svcOperationId: 277
|
||||
operation: update_secrets
|
||||
kind: subresource
|
||||
@@ -202,6 +212,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1157
|
||||
svcOperationCfsParam: ''
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
271:
|
||||
- 826
|
||||
@@ -227,11 +243,13 @@ cfsParamsByOp:
|
||||
- 865
|
||||
- 873
|
||||
- 874
|
||||
412: []
|
||||
277:
|
||||
- 852
|
||||
- 853
|
||||
- 854
|
||||
- 855
|
||||
- 875
|
||||
- 1157
|
||||
stateParams:
|
||||
resourceRealm: llmAi.aillm.ru
|
||||
|
||||
@@ -73,6 +73,12 @@ cfsParams:
|
||||
valueList:
|
||||
- iaas
|
||||
- saas
|
||||
- svcOperationCfsParamId: 1125
|
||||
svcOperationCfsParam: organizationSuffix
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 871
|
||||
svcOperationCfsParam: admins
|
||||
dataType: array-map-fixed
|
||||
@@ -110,7 +116,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
count:
|
||||
dataType: integer > 0
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -118,6 +124,7 @@ cfsParamsByOp:
|
||||
136:
|
||||
- 418
|
||||
- 556
|
||||
- 1125
|
||||
283:
|
||||
- 871
|
||||
137: []
|
||||
@@ -131,3 +138,4 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
resourceRealm: sandbox.nubes.ru
|
||||
organizationType: iaas
|
||||
organizationSuffix: ''
|
||||
|
||||
+49
-34
@@ -100,12 +100,12 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
secret:
|
||||
subparam2:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
subparam2:
|
||||
secret:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
@@ -129,6 +129,25 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
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:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -140,18 +159,32 @@ cfsParams:
|
||||
minStr1:
|
||||
dataType: string
|
||||
defaultValue: abracadabra
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 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:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
param2:
|
||||
dataType: string
|
||||
defaultValue: '1'
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
@@ -163,13 +196,6 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 654
|
||||
svcOperationCfsParam: arrayMapFixedExample
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
bol1:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
@@ -185,25 +211,6 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 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
|
||||
svcOperationCfsParam: arr
|
||||
dataType: array
|
||||
@@ -214,6 +221,12 @@ cfsParams:
|
||||
- test
|
||||
- '2'
|
||||
- val1
|
||||
- svcOperationCfsParamId: 1131
|
||||
svcOperationCfsParam: s3-ref-root
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 287
|
||||
svcOperationCfsParam: durationMs
|
||||
dataType: integer >= 0
|
||||
@@ -286,6 +299,7 @@ cfsParamsByOp:
|
||||
- 647
|
||||
- 654
|
||||
- 863
|
||||
- 1131
|
||||
71: []
|
||||
92:
|
||||
- 287
|
||||
@@ -306,9 +320,10 @@ stateParams:
|
||||
whereFail: '1'
|
||||
resourceRealm: dummy
|
||||
bodymessage: ''
|
||||
mapExample: '{"subparam1": "", "secret": "", "subparam2": ""}'
|
||||
mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
|
||||
jsonExample: ''
|
||||
nestedRefExample: ''
|
||||
mapFixed: '{"bol1": false, "minStr1": "abracadabra", "param1": 1, "param2": "1", "param3": 1}'
|
||||
arrayMapFixedExample: '{"bol1": false, "minStr1": "", "param1": 0, "param2": "", "param3": 1}'
|
||||
mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra", "s3-inst": ""}'
|
||||
arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
|
||||
arr: ''
|
||||
s3-ref-root: ''
|
||||
|
||||
@@ -84,12 +84,12 @@ cfsParams:
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 397
|
||||
svcOperationCfsParam: cpuGuaranteed
|
||||
dataType: integer > 0
|
||||
dataType: integer >= 0
|
||||
isRequired: true
|
||||
defaultValue: '20'
|
||||
defaultValue: '0'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '20'
|
||||
- '0'
|
||||
- '50'
|
||||
- '80'
|
||||
- svcOperationCfsParamId: 557
|
||||
@@ -110,6 +110,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1130
|
||||
svcOperationCfsParam: suffixName
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: 7uabwsgb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 560
|
||||
svcOperationCfsParam: cpuAllocated
|
||||
dataType: integer > 0
|
||||
@@ -148,6 +154,7 @@ cfsParamsByOp:
|
||||
- 557
|
||||
- 558
|
||||
- 746
|
||||
- 1130
|
||||
24: []
|
||||
112:
|
||||
- 560
|
||||
@@ -160,7 +167,8 @@ stateParams:
|
||||
organizationUid: ''
|
||||
providerVdc: ''
|
||||
storageConfig: '{"name": "", "size": 2000}'
|
||||
cpuGuaranteed: '20'
|
||||
cpuGuaranteed: '0'
|
||||
cpuAllocated: '80'
|
||||
memAllocated: '200'
|
||||
networkProvider: ''
|
||||
suffixName: 7uabwsgb
|
||||
|
||||
@@ -88,6 +88,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: needEnableAVI
|
||||
dataType: boolean
|
||||
@@ -115,6 +137,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
10:
|
||||
- 8
|
||||
@@ -123,12 +167,14 @@ cfsParamsByOp:
|
||||
- 621
|
||||
- 622
|
||||
- 825
|
||||
- 1110
|
||||
25: []
|
||||
111:
|
||||
- 368
|
||||
- 369
|
||||
- 372
|
||||
- 856
|
||||
- 1112
|
||||
252: []
|
||||
stateParams:
|
||||
vdcUid: ''
|
||||
@@ -137,3 +183,4 @@ stateParams:
|
||||
vdcType: vdc
|
||||
vdcGroupUid: ''
|
||||
qosProfile: ''
|
||||
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: vcexternalip
|
||||
service_id: 25
|
||||
service_display_name: Публичные IP адреса
|
||||
service_display_name: '[DEPRECATED] Публичные IP адреса'
|
||||
service_short_name: vcexternalip
|
||||
service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать
|
||||
публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра
|
||||
|
||||
@@ -52,7 +52,7 @@ cfsParams:
|
||||
svcOperationCfsParam: vappName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: hf1t7p5c
|
||||
defaultValue: j8lanwbr
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 623
|
||||
svcOperationCfsParam: vdcUid
|
||||
@@ -71,5 +71,5 @@ cfsParamsByOp:
|
||||
208: []
|
||||
stateParams:
|
||||
nsxtUid: ''
|
||||
vappName: hf1t7p5c
|
||||
vappName: j8lanwbr
|
||||
vdcUid: ''
|
||||
|
||||
+112
-24
@@ -83,11 +83,22 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 411
|
||||
svcOperationCfsParam: vmDisk
|
||||
dataType: integer > 0
|
||||
svcOperationCfsParam: vmDisks
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
defaultValue: '[{"busNum": 0, "size": "20"}]'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
busNum:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
size:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 412
|
||||
svcOperationCfsParam: ipSpaceName
|
||||
dataType: string
|
||||
@@ -96,9 +107,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 413
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
dataType: array
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
defaultValue: '["0.0.0.0/0"]'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 414
|
||||
svcOperationCfsParam: imageVm
|
||||
@@ -126,10 +137,34 @@ cfsParams:
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 448
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '["22"]'
|
||||
defaultValue: '[{"port": "22", "type": "tcp"}, {"port": "10050", "type": "tcp"}]'
|
||||
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
|
||||
svcOperationCfsParam: vmCpu
|
||||
dataType: integer > 0
|
||||
@@ -143,22 +178,28 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 495
|
||||
svcOperationCfsParam: vmDisk
|
||||
dataType: integer > 0
|
||||
svcOperationCfsParam: vmDisks
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
busNum:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
size:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 496
|
||||
svcOperationCfsParam: ipSpaceName
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 497
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -167,10 +208,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 498
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: vmName
|
||||
dataType: string
|
||||
@@ -201,11 +266,6 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 514
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -242,10 +302,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 520
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
132:
|
||||
- 407
|
||||
@@ -260,6 +344,7 @@ cfsParamsByOp:
|
||||
- 416
|
||||
- 417
|
||||
- 448
|
||||
- 1118
|
||||
133: []
|
||||
159:
|
||||
- 493
|
||||
@@ -268,6 +353,7 @@ cfsParamsByOp:
|
||||
- 496
|
||||
- 497
|
||||
- 498
|
||||
- 1119
|
||||
286: []
|
||||
164:
|
||||
- 509
|
||||
@@ -281,6 +367,7 @@ cfsParamsByOp:
|
||||
- 517
|
||||
- 518
|
||||
- 520
|
||||
- 1123
|
||||
135: []
|
||||
134: []
|
||||
stateParams:
|
||||
@@ -288,11 +375,12 @@ stateParams:
|
||||
vmName: web01
|
||||
vmCpu: '1'
|
||||
vmRam: '1'
|
||||
vmDisk: ''
|
||||
vmDisks: '{"busNum": 0, "size": 1}'
|
||||
ipSpaceName: ''
|
||||
accessIpList: ''
|
||||
accessIpList: '["0.0.0.0/0"]'
|
||||
imageVm: ''
|
||||
cloudInit: ''
|
||||
userLogin: myuser
|
||||
userPublicKey: ''
|
||||
accessPortList: '["22"]'
|
||||
accessPortList: '{"port": "22", "type": "all"}'
|
||||
sameSnat: 'false'
|
||||
|
||||
@@ -44,11 +44,6 @@ cfsParams:
|
||||
defaultValue: '100'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '128'
|
||||
@@ -59,6 +54,11 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 814
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -72,10 +72,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 815
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -83,11 +82,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: ingress
|
||||
@@ -98,7 +92,7 @@ cfsParams:
|
||||
- service
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: abracadabra-aoy3qnll
|
||||
defaultValue: abracadabra-i5kntoh3
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
@@ -116,6 +110,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 816
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -128,13 +127,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer >= 0
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
disk:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -168,13 +167,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -196,6 +195,6 @@ cfsParamsByOp:
|
||||
98: []
|
||||
97: []
|
||||
stateParams:
|
||||
clusterConfiguration: '{"cpu": 100, "disk": 5, "memory": 128, "replicas": 1}'
|
||||
clusterConfiguration: '{"cpu": 100, "memory": 128, "replicas": 1, "disk": 5}'
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
accessConfiguration: '{"slaveAccessList": "[]", "type": "ingress", "domain": "abracadabra-aoy3qnll", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": ""}'
|
||||
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-i5kntoh3", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
|
||||
@@ -2,7 +2,49 @@ name: nextcloud
|
||||
service_id: 50
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -53,21 +95,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
redisUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
psqlEnabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -87,6 +123,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
redisUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1056
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -94,19 +135,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1000'
|
||||
@@ -131,6 +159,19 @@ cfsParams:
|
||||
- '6144'
|
||||
- '7168'
|
||||
- '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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -140,7 +181,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-vjp2crbf
|
||||
defaultValue: nextcloud-gsjkslra
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1058
|
||||
@@ -239,18 +280,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- DEBUG
|
||||
- INFO
|
||||
- WARN
|
||||
- ERROR
|
||||
- FATAL
|
||||
- NONE
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -265,6 +294,18 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- DEBUG
|
||||
- INFO
|
||||
- WARN
|
||||
- ERROR
|
||||
- FATAL
|
||||
- NONE
|
||||
- svcOperationCfsParamId: 1078
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -278,20 +319,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-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:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -306,6 +336,11 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
recoveryPoint:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
psqlUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
@@ -316,6 +351,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
veleroUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1079
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -366,7 +406,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-dcxz2gqv
|
||||
defaultValue: nextcloud-cpp3zfhe
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1081
|
||||
@@ -376,6 +416,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
documentServer:
|
||||
dataType: string
|
||||
defaultValue: collabora
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: NONE
|
||||
@@ -393,13 +440,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
documentServer:
|
||||
dataType: string
|
||||
defaultValue: collabora
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
cfsParamsByOp:
|
||||
16:
|
||||
- 1055
|
||||
@@ -422,7 +462,7 @@ cfsParamsByOp:
|
||||
129: []
|
||||
128: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"redisUid": "", "resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": ""}'
|
||||
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 1000, "memory": 1024}'
|
||||
accessConfiguration: '{"domain": "nextcloud-vjp2crbf"}'
|
||||
startupConfiguration: '{"resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"domain": "nextcloud-gsjkslra"}'
|
||||
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
|
||||
|
||||
@@ -54,10 +54,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 227
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
|
||||
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
|
||||
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
|
||||
keycloak'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: false
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 14
|
||||
@@ -22,6 +22,18 @@ operations:
|
||||
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: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 16
|
||||
@@ -37,21 +49,20 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 228
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '100'
|
||||
defaultValue: '1000'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 229
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '200'
|
||||
defaultValue: '1024'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 230
|
||||
svcOperationCfsParam: resourceInstances
|
||||
@@ -62,9 +73,33 @@ cfsParams:
|
||||
- svcOperationCfsParamId: 231
|
||||
svcOperationCfsParam: s3Uid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
@@ -83,6 +118,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1129
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
14:
|
||||
- 16
|
||||
@@ -91,15 +132,25 @@ cfsParamsByOp:
|
||||
- 229
|
||||
- 230
|
||||
- 231
|
||||
- 1126
|
||||
- 1127
|
||||
- 1128
|
||||
15: []
|
||||
270:
|
||||
- 822
|
||||
- 823
|
||||
- 824
|
||||
- 1129
|
||||
405: []
|
||||
415: []
|
||||
416: []
|
||||
stateParams:
|
||||
domain: harbor-1
|
||||
resourceRealm: ''
|
||||
resourceCPU: '100'
|
||||
resourceMemory: '200'
|
||||
resourceCPU: '1000'
|
||||
resourceMemory: '1024'
|
||||
resourceInstances: '1'
|
||||
s3Uid: ''
|
||||
pvType: s3
|
||||
resourceDisk: '5'
|
||||
authType: local
|
||||
|
||||
@@ -71,10 +71,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 964
|
||||
svcOperationCfsParam: nodeAgentConfiguration
|
||||
dataType: map-fixed
|
||||
|
||||
@@ -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
|
||||
+19
-21
@@ -66,10 +66,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1038
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -106,7 +105,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: flask-ub0sbq5h
|
||||
defaultValue: flask-67i6r0en
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1040
|
||||
@@ -116,13 +115,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: '3.12'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
|
||||
@@ -133,6 +125,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: '3.12'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
- svcOperationCfsParamId: 1041
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -173,13 +172,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -190,6 +182,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
- svcOperationCfsParamId: 1044
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -209,10 +208,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
cfsParamsByOp:
|
||||
376:
|
||||
- 1037
|
||||
@@ -233,6 +231,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||
accessConfiguration: '{"domain": "flask-ub0sbq5h"}'
|
||||
appConfiguration: '{"version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": ""}'
|
||||
accessConfiguration: '{"domain": "flask-67i6r0en"}'
|
||||
appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
|
||||
jsonEnv: '{}'
|
||||
|
||||
+183
-116
@@ -101,6 +101,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
@@ -116,16 +126,6 @@ cfsParams:
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 789
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -139,10 +139,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 790
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -150,11 +149,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -170,6 +164,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 791
|
||||
svcOperationCfsParam: postgresConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -183,16 +182,10 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- '15'
|
||||
poolerMaster:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -209,25 +202,41 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
- 'false'
|
||||
- svcOperationCfsParamId: 792
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 793
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -237,9 +246,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
dataType: string
|
||||
defaultValue: 00000000-0000-0000-0000-000000000000
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
@@ -251,6 +260,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 794
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -258,15 +272,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -290,6 +295,15 @@ cfsParams:
|
||||
defaultValue: '100'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
- svcOperationCfsParamId: 1094
|
||||
svcOperationCfsParam: mtlsConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -297,11 +311,6 @@ cfsParams:
|
||||
defaultValue: '{}'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
certServer:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: 'off'
|
||||
@@ -318,7 +327,7 @@ cfsParams:
|
||||
isModifiable: false
|
||||
durationServer:
|
||||
dataType: integer > 0
|
||||
defaultValue: '87600'
|
||||
defaultValue: '43800'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
certCA:
|
||||
@@ -326,6 +335,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
certServer:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 741
|
||||
svcOperationCfsParam: dbName
|
||||
dataType: string
|
||||
@@ -455,6 +469,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
@@ -480,24 +495,32 @@ cfsParams:
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 798
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramValue:
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
paramName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
- 'off'
|
||||
- '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
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -505,11 +528,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -520,6 +538,16 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 800
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -527,20 +555,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
quota:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
@@ -559,6 +573,20 @@ cfsParams:
|
||||
- '5'
|
||||
- '12'
|
||||
- '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
|
||||
svcOperationCfsParam: mtlsConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -566,6 +594,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- manual
|
||||
- auto
|
||||
durationCA:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -594,15 +631,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- manual
|
||||
- auto
|
||||
- svcOperationCfsParamId: 801
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -616,10 +644,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
recoveryPoint:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -632,6 +659,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
@@ -652,11 +684,6 @@ cfsParams:
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 803
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -664,6 +691,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
@@ -679,11 +711,6 @@ cfsParams:
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 804
|
||||
svcOperationCfsParam: postgresConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -725,23 +752,31 @@ cfsParams:
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 805
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 806
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -765,6 +800,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 807
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -804,6 +844,32 @@ cfsParams:
|
||||
- '10'
|
||||
- '15'
|
||||
- '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:
|
||||
19:
|
||||
- 788
|
||||
@@ -845,15 +911,16 @@ cfsParamsByOp:
|
||||
- 805
|
||||
- 806
|
||||
- 807
|
||||
- 1106
|
||||
54: []
|
||||
114: []
|
||||
115: []
|
||||
stateParams:
|
||||
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 500, "memory": 512}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
accessConfiguration: '{"slaveAccessList": "[]", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": ""}'
|
||||
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}'
|
||||
postgresConf: '{"paramName": "", "paramValue": ""}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
autoscaleConfiguration: '{"percent": 10, "enabled": false, "schedule": 0, "quota": 100}'
|
||||
mtlsConfiguration: '{"certServer": "", "type": "off", "durationCA": 175200, "durationServer": 87600, "certCA": ""}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
|
||||
postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
|
||||
backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
|
||||
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
|
||||
mtlsConfiguration: '{"type": "off", "durationCA": 175200, "durationServer": 43800, "certCA": "", "certServer": ""}'
|
||||
|
||||
@@ -46,10 +46,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1062
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -116,6 +115,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -136,11 +140,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1065
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
|
||||
+174
-36
@@ -3,34 +3,65 @@ service_id: 92
|
||||
service_display_name: MongoDB
|
||||
service_short_name: mongodb
|
||||
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** —
|
||||
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>*
|
||||
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании
|
||||
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в
|
||||
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример:
|
||||
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример:
|
||||
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример:
|
||||
`["10.0.0.0/24", "192.168.1.10/32"]`<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-квота
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
|
||||
**suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
|
||||
удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
|
||||
— модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
|
||||
Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
|
||||
выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
|
||||
резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
|
||||
последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
|
||||
созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
|
||||
ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
|
||||
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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для
|
||||
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей,
|
||||
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>###
|
||||
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует,
|
||||
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный
|
||||
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется
|
||||
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>###
|
||||
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для
|
||||
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт
|
||||
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к
|
||||
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh
|
||||
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или
|
||||
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину
|
||||
и паролю.'
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
|
||||
резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
|
||||
`7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
|
||||
их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
|
||||
`no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
|
||||
оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
|
||||
параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
|
||||
умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
|
||||
требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
|
||||
"Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
|
||||
Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
|
||||
(созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -39,6 +70,10 @@ operations:
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 411
|
||||
operation: create_backup
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 198
|
||||
operation: create_user
|
||||
kind: subresource
|
||||
@@ -47,6 +82,10 @@ operations:
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 414
|
||||
operation: delete_backup
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 199
|
||||
operation: delete_user
|
||||
kind: subresource
|
||||
@@ -67,11 +106,16 @@ operations:
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 413
|
||||
operation: rollback
|
||||
kind: action
|
||||
action: rollback
|
||||
- svcOperationId: 194
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut:
|
||||
backups: {}
|
||||
users: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 1089
|
||||
@@ -87,10 +131,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1090
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -130,16 +173,59 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
- 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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -159,12 +245,28 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- 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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
dataType: array
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
@@ -217,6 +319,23 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -236,32 +355,51 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- readWrite
|
||||
- dbAdmin
|
||||
- dbOwner
|
||||
- svcOperationCfsParamId: 1108
|
||||
svcOperationCfsParam: backupName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
37:
|
||||
- 1089
|
||||
- 1090
|
||||
- 1091
|
||||
- 1102
|
||||
- 1116
|
||||
411:
|
||||
- 1109
|
||||
198:
|
||||
- 635
|
||||
- 636
|
||||
- 643
|
||||
190: []
|
||||
190:
|
||||
- 1103
|
||||
414:
|
||||
- 1111
|
||||
199:
|
||||
- 644
|
||||
201:
|
||||
- 1092
|
||||
- 1093
|
||||
- 1104
|
||||
200:
|
||||
- 640
|
||||
- 641
|
||||
- 642
|
||||
409: []
|
||||
196: []
|
||||
413:
|
||||
- 1108
|
||||
194: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
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}'
|
||||
|
||||
@@ -76,10 +76,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1098
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -129,6 +128,18 @@ cfsParams:
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -136,11 +147,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -161,6 +167,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1101
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -178,15 +189,29 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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:
|
||||
38:
|
||||
- 1097
|
||||
- 1098
|
||||
- 1099
|
||||
- 1113
|
||||
39: []
|
||||
106:
|
||||
- 1100
|
||||
- 1101
|
||||
- 1114
|
||||
410: []
|
||||
117: []
|
||||
116: []
|
||||
@@ -194,3 +219,4 @@ stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mqConfiguration: '{"maxMessageSize": 4}'
|
||||
|
||||
@@ -53,10 +53,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1020
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -93,7 +92,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: lucee-tepsq9jk
|
||||
defaultValue: lucee-bpp5vpr5
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1022
|
||||
@@ -161,11 +160,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -179,6 +173,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1026
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -198,10 +197,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
cfsParamsByOp:
|
||||
49:
|
||||
- 1019
|
||||
@@ -223,6 +221,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
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": ""}'
|
||||
jsonEnv: '{}'
|
||||
|
||||
@@ -51,10 +51,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 1029
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -91,7 +90,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: node-btf263ja
|
||||
defaultValue: node-zjkc4kir
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1031
|
||||
@@ -118,7 +117,7 @@ cfsParams:
|
||||
isModifiable: false
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
defaultValue: '1'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1032
|
||||
@@ -127,6 +126,12 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: '{}'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
DB_PASS:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1033
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -200,10 +205,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
cfsParamsByOp:
|
||||
58:
|
||||
- 1028
|
||||
@@ -224,6 +228,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||
accessConfiguration: '{"domain": "node-btf263ja"}'
|
||||
appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": ""}'
|
||||
jsonEnv: '{}'
|
||||
accessConfiguration: '{"domain": "node-zjkc4kir"}'
|
||||
appConfiguration: '{"version": "23", "gitPath": "https://github.com/xahys/testnode.git", "healthPath": "1"}'
|
||||
jsonEnv: '{"DB_PASS": ""}'
|
||||
|
||||
@@ -64,10 +64,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 170
|
||||
svcOperationCfsParam: login
|
||||
dataType: string
|
||||
@@ -105,10 +104,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
cfsParamsByOp:
|
||||
62:
|
||||
- 164
|
||||
|
||||
@@ -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'
|
||||
@@ -67,28 +67,27 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
- svcOperationCfsParamId: 217
|
||||
svcOperationCfsParam: registryPath
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 241
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 782
|
||||
svcOperationCfsParam: ingressAnnotations
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: '{}'
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 218
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
@@ -107,6 +106,24 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: resourceRealm
|
||||
dataType: string
|
||||
@@ -114,10 +131,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- iot-naeel
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- naeel-test-3
|
||||
cfsParamsByOp:
|
||||
77:
|
||||
- 212
|
||||
@@ -133,6 +149,9 @@ cfsParamsByOp:
|
||||
- 218
|
||||
- 219
|
||||
- 220
|
||||
- 1120
|
||||
- 1121
|
||||
- 1122
|
||||
403: []
|
||||
79:
|
||||
- 272
|
||||
|
||||
@@ -97,6 +97,12 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1124
|
||||
svcOperationCfsParam: iniServiceParams
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: DISABLE_REGISTRATION:true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 259
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
@@ -143,6 +149,7 @@ cfsParamsByOp:
|
||||
- 238
|
||||
- 818
|
||||
- 821
|
||||
- 1124
|
||||
83: []
|
||||
91:
|
||||
- 259
|
||||
@@ -162,3 +169,4 @@ stateParams:
|
||||
psqlUid: ''
|
||||
ingressExtraAnnotations: ''
|
||||
iniServerParams: ''
|
||||
iniServiceParams: DISABLE_REGISTRATION:true
|
||||
|
||||
@@ -150,16 +150,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
recordName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordTTL:
|
||||
dataType: integer > 0
|
||||
defaultValue: '3600'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordType:
|
||||
dataType: string
|
||||
defaultValue: A
|
||||
@@ -176,11 +166,21 @@ cfsParams:
|
||||
- NS
|
||||
- SSHFP
|
||||
- CAA
|
||||
recordName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordInput:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordTTL:
|
||||
dataType: integer > 0
|
||||
defaultValue: '3600'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 783
|
||||
svcOperationCfsParam: recordName
|
||||
dataType: string
|
||||
|
||||
@@ -2,7 +2,54 @@ name: mariadb
|
||||
service_id: 115
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -64,6 +111,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 878
|
||||
@@ -102,16 +150,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 880
|
||||
svcOperationCfsParam: mariadbConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -132,7 +180,7 @@ cfsParams:
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
@@ -192,19 +240,19 @@ cfsParams:
|
||||
svcOperationCfsParam: dbName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: db-ebbjso21
|
||||
defaultValue: db-nmdlrebb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 735
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: user3vanbmfy
|
||||
defaultValue: useroxxeykhb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 736
|
||||
svcOperationCfsParam: password
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: p4egnsar
|
||||
defaultValue: apsyfstb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 737
|
||||
svcOperationCfsParam: dbName
|
||||
@@ -218,12 +266,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 738
|
||||
svcOperationCfsParam: accessHosts
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: '%'
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 456
|
||||
svcOperationCfsParam: deleteS3Bucket
|
||||
dataType: boolean
|
||||
@@ -306,28 +348,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 8.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
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -335,15 +355,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
@@ -367,6 +378,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
cfsParamsByOp:
|
||||
138:
|
||||
- 877
|
||||
@@ -381,7 +401,6 @@ cfsParamsByOp:
|
||||
- 735
|
||||
- 736
|
||||
- 737
|
||||
- 738
|
||||
139:
|
||||
- 456
|
||||
248:
|
||||
@@ -392,7 +411,6 @@ cfsParamsByOp:
|
||||
- 883
|
||||
- 884
|
||||
- 885
|
||||
- 886
|
||||
- 887
|
||||
287: []
|
||||
141: []
|
||||
@@ -400,7 +418,7 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mariadbConfiguration: '{"version": "9.4.0"}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
|
||||
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
|
||||
|
||||
@@ -2,21 +2,24 @@ name: kafka
|
||||
service_id: 116
|
||||
service_display_name: ApacheKafka
|
||||
service_short_name: kafka
|
||||
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными
|
||||
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль
|
||||
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create**
|
||||
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify**
|
||||
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume**
|
||||
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание:
|
||||
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым
|
||||
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>###
|
||||
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая
|
||||
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный
|
||||
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>###
|
||||
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних
|
||||
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>-
|
||||
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок
|
||||
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>'
|
||||
service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
|
||||
\ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
|
||||
\ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
|
||||
\ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
|
||||
\ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
|
||||
\ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
|
||||
\ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
|
||||
\ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
|
||||
\ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
|
||||
\ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
|
||||
\ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
|
||||
\ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
|
||||
<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**\
|
||||
\ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -82,6 +85,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1085
|
||||
|
||||
@@ -47,6 +47,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 551
|
||||
|
||||
@@ -85,6 +85,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 838
|
||||
@@ -114,6 +115,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
shards:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
@@ -123,11 +129,6 @@ cfsParams:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 839
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -192,11 +193,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
schedule:
|
||||
dataType: string
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
@@ -207,6 +203,11 @@ cfsParams:
|
||||
defaultValue: '7'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
schedule:
|
||||
dataType: string
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 843
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -214,6 +215,14 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
schedule:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
@@ -238,14 +247,6 @@ cfsParams:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 851
|
||||
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -312,20 +313,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
shards:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -346,6 +333,20 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '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
|
||||
svcOperationCfsParam: clickhouseKeeperConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -353,15 +354,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
replicas:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '0'
|
||||
- '1'
|
||||
- '3'
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -372,6 +364,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '0'
|
||||
- '1'
|
||||
- '3'
|
||||
- svcOperationCfsParamId: 846
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -512,10 +513,10 @@ cfsParamsByOp:
|
||||
182: []
|
||||
stateParams:
|
||||
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": "[]"}'
|
||||
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
|
||||
clickhouseConfiguration: '{"version": "25.10"}'
|
||||
backupConfiguration: '{"schedule": "0 0 * * *", "s3Uid": "", "retain": 7}'
|
||||
autoscaleConfiguration: '{"schedule": 0, "quota": 100, "percent": 10, "enabled": false}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
|
||||
clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}'
|
||||
|
||||
@@ -19,6 +19,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: k8s-6sa9dyug
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
defaultValue: sandbox.nubes.ru
|
||||
@@ -26,9 +31,14 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- sandbox.nubes.ru
|
||||
clusterName:
|
||||
providerVdc:
|
||||
dataType: string
|
||||
defaultValue: example-brcyqrjr
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
networkProvider:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 772
|
||||
@@ -40,10 +50,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -82,6 +93,18 @@ cfsParams:
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-5tcvtwk4
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '{}'
|
||||
sizingDisk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '50'
|
||||
@@ -92,18 +115,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-jax0kk2f
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
autoscale:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -143,8 +180,8 @@ cfsParamsByOp:
|
||||
- 774
|
||||
- 775
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "sandbox.nubes.ru", "clusterName": "example-brcyqrjr"}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
startupConfiguration: '{"clusterName": "k8s-6sa9dyug", "resourceRealm": "sandbox.nubes.ru", "providerVdc": "", "networkProvider": ""}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
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": "[]"}'
|
||||
|
||||
@@ -62,35 +62,6 @@ cfsParams:
|
||||
defaultValue: '{}'
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: integer > 0
|
||||
defaultValue: '2'
|
||||
@@ -120,6 +91,35 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- '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
|
||||
svcOperationCfsParam: s3Storage
|
||||
dataType: integer > 0
|
||||
@@ -133,6 +133,24 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
@@ -173,24 +191,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- '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
|
||||
svcOperationCfsParam: s3Storage
|
||||
dataType: integer > 0
|
||||
@@ -212,5 +212,5 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
resourceRealm: valo.ngcloud.ru
|
||||
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'
|
||||
|
||||
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
|
||||
service_id: 150
|
||||
service_display_name: Kubernetes кластер Штурвал
|
||||
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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -61,9 +71,65 @@ cfsParams:
|
||||
isModifiable: false
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: example-imhltbba
|
||||
defaultValue: example-ryatr2rx
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: controlPlaneConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -99,6 +165,11 @@ cfsParams:
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-e6bfgpqf
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -116,11 +187,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-0krz2kek
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -161,10 +253,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -205,6 +298,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -245,7 +339,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-apak4rks
|
||||
defaultValue: workers-ohtgog3p
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
@@ -265,6 +359,32 @@ cfsParams:
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -317,8 +437,9 @@ cfsParamsByOp:
|
||||
174: []
|
||||
173: []
|
||||
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}'
|
||||
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": "[]"}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
|
||||
@@ -71,10 +71,6 @@ operations:
|
||||
operation: recovery_secrets
|
||||
kind: subresource
|
||||
action: recovery
|
||||
- svcOperationId: 234
|
||||
operation: restart
|
||||
kind: action
|
||||
action: restart
|
||||
- svcOperationId: 216
|
||||
operation: resume
|
||||
kind: instance
|
||||
@@ -103,6 +99,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 664
|
||||
@@ -141,13 +138,13 @@ cfsParams:
|
||||
svcOperationCfsParam: domain
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: bao-onbcvsgk
|
||||
defaultValue: bao-nosgzjqe
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 675
|
||||
svcOperationCfsParam: kvName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: kvname-9e9wvkt2
|
||||
defaultValue: kvname-ps9az5f9
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 728
|
||||
svcOperationCfsParam: policySettings
|
||||
@@ -156,21 +153,21 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
dataType: json
|
||||
defaultValue: '["read", "list"]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
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-s0hfjfmn
|
||||
defaultValue: policy-kyvtdypv
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 677
|
||||
svcOperationCfsParam: kvName
|
||||
@@ -277,12 +274,12 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
capabilities:
|
||||
path:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
path:
|
||||
capabilities:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
@@ -351,7 +348,6 @@ cfsParamsByOp:
|
||||
- 723
|
||||
- 724
|
||||
- 725
|
||||
234: []
|
||||
216: []
|
||||
215: []
|
||||
238:
|
||||
@@ -369,4 +365,4 @@ stateParams:
|
||||
resourceMemory: '512'
|
||||
resourceDisk: '10'
|
||||
appVersion: 2.5.2
|
||||
domain: bao-onbcvsgk
|
||||
domain: bao-nosgzjqe
|
||||
|
||||
@@ -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"}'
|
||||
@@ -1,33 +1,39 @@
|
||||
name: llm_ai
|
||||
service_id: 163
|
||||
service_display_name: LLM
|
||||
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/>## Доступные операции<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/>---<br/><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/>* **Период бюджета**<br/> Срок жизни организации в днях.<br/> Пример: `30`<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/>## 12. Пример использования 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/>'
|
||||
не нужно.<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
|
||||
@@ -60,6 +66,10 @@ operations:
|
||||
operation: modify_team
|
||||
kind: subresource
|
||||
action: modify
|
||||
- svcOperationId: 412
|
||||
operation: reconcile
|
||||
kind: action
|
||||
action: reconcile
|
||||
- svcOperationId: 277
|
||||
operation: update_secrets
|
||||
kind: subresource
|
||||
@@ -106,45 +116,6 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: teamName
|
||||
dataType: string
|
||||
@@ -241,6 +212,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1157
|
||||
svcOperationCfsParam: ''
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
271:
|
||||
- 826
|
||||
@@ -250,7 +227,6 @@ cfsParamsByOp:
|
||||
- 835
|
||||
- 857
|
||||
- 859
|
||||
- 1083
|
||||
278:
|
||||
- 858
|
||||
- 860
|
||||
@@ -267,11 +243,13 @@ cfsParamsByOp:
|
||||
- 865
|
||||
- 873
|
||||
- 874
|
||||
412: []
|
||||
277:
|
||||
- 852
|
||||
- 853
|
||||
- 854
|
||||
- 855
|
||||
- 875
|
||||
- 1157
|
||||
stateParams:
|
||||
resourceRealm: llmAi.aillm.ru
|
||||
|
||||
@@ -73,6 +73,12 @@ cfsParams:
|
||||
valueList:
|
||||
- iaas
|
||||
- saas
|
||||
- svcOperationCfsParamId: 1125
|
||||
svcOperationCfsParam: organizationSuffix
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 871
|
||||
svcOperationCfsParam: admins
|
||||
dataType: array-map-fixed
|
||||
@@ -110,7 +116,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
count:
|
||||
dataType: integer > 0
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -118,6 +124,7 @@ cfsParamsByOp:
|
||||
136:
|
||||
- 418
|
||||
- 556
|
||||
- 1125
|
||||
283:
|
||||
- 871
|
||||
137: []
|
||||
@@ -131,3 +138,4 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
resourceRealm: sandbox.nubes.ru
|
||||
organizationType: iaas
|
||||
organizationSuffix: ''
|
||||
|
||||
@@ -95,12 +95,12 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
subparam2:
|
||||
subparam1:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
subparam1:
|
||||
subparam2:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
@@ -159,10 +159,17 @@ cfsParams:
|
||||
minStr1:
|
||||
dataType: string
|
||||
defaultValue: abracadabra
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- abracadabra
|
||||
- incorr
|
||||
- correctvalue
|
||||
s3-inst:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 654
|
||||
svcOperationCfsParam: arrayMapFixedExample
|
||||
dataType: array-map-fixed
|
||||
@@ -170,21 +177,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
bol1:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
minStr1:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- abracadabra
|
||||
param1:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -204,6 +196,21 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: arr
|
||||
dataType: array
|
||||
@@ -214,6 +221,12 @@ cfsParams:
|
||||
- test
|
||||
- '2'
|
||||
- val1
|
||||
- svcOperationCfsParamId: 1131
|
||||
svcOperationCfsParam: s3-ref-root
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 287
|
||||
svcOperationCfsParam: durationMs
|
||||
dataType: integer >= 0
|
||||
@@ -286,6 +299,7 @@ cfsParamsByOp:
|
||||
- 647
|
||||
- 654
|
||||
- 863
|
||||
- 1131
|
||||
71: []
|
||||
92:
|
||||
- 287
|
||||
@@ -306,9 +320,10 @@ stateParams:
|
||||
whereFail: '1'
|
||||
resourceRealm: dummy
|
||||
bodymessage: ''
|
||||
mapExample: '{"subparam2": "", "subparam1": "", "secret": ""}'
|
||||
mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
|
||||
jsonExample: ''
|
||||
nestedRefExample: ''
|
||||
mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra"}'
|
||||
arrayMapFixedExample: '{"bol1": false, "minStr1": "", "param1": 0, "param2": "", "param3": 1}'
|
||||
mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra", "s3-inst": ""}'
|
||||
arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
|
||||
arr: ''
|
||||
s3-ref-root: ''
|
||||
|
||||
@@ -84,12 +84,12 @@ cfsParams:
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 397
|
||||
svcOperationCfsParam: cpuGuaranteed
|
||||
dataType: integer > 0
|
||||
dataType: integer >= 0
|
||||
isRequired: true
|
||||
defaultValue: '20'
|
||||
defaultValue: '0'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '20'
|
||||
- '0'
|
||||
- '50'
|
||||
- '80'
|
||||
- svcOperationCfsParamId: 557
|
||||
@@ -110,6 +110,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1130
|
||||
svcOperationCfsParam: suffixName
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: 7uabwsgb
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 560
|
||||
svcOperationCfsParam: cpuAllocated
|
||||
dataType: integer > 0
|
||||
@@ -148,6 +154,7 @@ cfsParamsByOp:
|
||||
- 557
|
||||
- 558
|
||||
- 746
|
||||
- 1130
|
||||
24: []
|
||||
112:
|
||||
- 560
|
||||
@@ -160,7 +167,8 @@ stateParams:
|
||||
organizationUid: ''
|
||||
providerVdc: ''
|
||||
storageConfig: '{"name": "", "size": 2000}'
|
||||
cpuGuaranteed: '20'
|
||||
cpuGuaranteed: '0'
|
||||
cpuAllocated: '80'
|
||||
memAllocated: '200'
|
||||
networkProvider: ''
|
||||
suffixName: 7uabwsgb
|
||||
|
||||
@@ -88,6 +88,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: needEnableAVI
|
||||
dataType: boolean
|
||||
@@ -115,6 +137,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
10:
|
||||
- 8
|
||||
@@ -123,12 +167,14 @@ cfsParamsByOp:
|
||||
- 621
|
||||
- 622
|
||||
- 825
|
||||
- 1110
|
||||
25: []
|
||||
111:
|
||||
- 368
|
||||
- 369
|
||||
- 372
|
||||
- 856
|
||||
- 1112
|
||||
252: []
|
||||
stateParams:
|
||||
vdcUid: ''
|
||||
@@ -137,3 +183,4 @@ stateParams:
|
||||
vdcType: vdc
|
||||
vdcGroupUid: ''
|
||||
qosProfile: ''
|
||||
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: vcexternalip
|
||||
service_id: 25
|
||||
service_display_name: Публичные IP адреса
|
||||
service_display_name: '[DEPRECATED] Публичные IP адреса'
|
||||
service_short_name: vcexternalip
|
||||
service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать
|
||||
публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра
|
||||
|
||||
@@ -52,7 +52,7 @@ cfsParams:
|
||||
svcOperationCfsParam: vappName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: fgpdul5a
|
||||
defaultValue: j8lanwbr
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 623
|
||||
svcOperationCfsParam: vdcUid
|
||||
@@ -71,5 +71,5 @@ cfsParamsByOp:
|
||||
208: []
|
||||
stateParams:
|
||||
nsxtUid: ''
|
||||
vappName: fgpdul5a
|
||||
vappName: j8lanwbr
|
||||
vdcUid: ''
|
||||
|
||||
@@ -83,11 +83,22 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 411
|
||||
svcOperationCfsParam: vmDisk
|
||||
dataType: integer > 0
|
||||
svcOperationCfsParam: vmDisks
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
defaultValue: '[{"busNum": 0, "size": "20"}]'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
busNum:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
size:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 412
|
||||
svcOperationCfsParam: ipSpaceName
|
||||
dataType: string
|
||||
@@ -96,9 +107,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 413
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
dataType: array
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
defaultValue: '["0.0.0.0/0"]'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 414
|
||||
svcOperationCfsParam: imageVm
|
||||
@@ -126,10 +137,34 @@ cfsParams:
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 448
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '["22"]'
|
||||
defaultValue: '[{"port": "22", "type": "tcp"}, {"port": "10050", "type": "tcp"}]'
|
||||
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
|
||||
svcOperationCfsParam: vmCpu
|
||||
dataType: integer > 0
|
||||
@@ -143,22 +178,28 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 495
|
||||
svcOperationCfsParam: vmDisk
|
||||
dataType: integer > 0
|
||||
svcOperationCfsParam: vmDisks
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
busNum:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
size:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 496
|
||||
svcOperationCfsParam: ipSpaceName
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 497
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -167,10 +208,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 498
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: vmName
|
||||
dataType: string
|
||||
@@ -201,11 +266,6 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 514
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -242,10 +302,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 520
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
132:
|
||||
- 407
|
||||
@@ -260,6 +344,7 @@ cfsParamsByOp:
|
||||
- 416
|
||||
- 417
|
||||
- 448
|
||||
- 1118
|
||||
133: []
|
||||
159:
|
||||
- 493
|
||||
@@ -268,6 +353,7 @@ cfsParamsByOp:
|
||||
- 496
|
||||
- 497
|
||||
- 498
|
||||
- 1119
|
||||
286: []
|
||||
164:
|
||||
- 509
|
||||
@@ -281,6 +367,7 @@ cfsParamsByOp:
|
||||
- 517
|
||||
- 518
|
||||
- 520
|
||||
- 1123
|
||||
135: []
|
||||
134: []
|
||||
stateParams:
|
||||
@@ -288,11 +375,12 @@ stateParams:
|
||||
vmName: web01
|
||||
vmCpu: '1'
|
||||
vmRam: '1'
|
||||
vmDisk: ''
|
||||
vmDisks: '{"busNum": 0, "size": 1}'
|
||||
ipSpaceName: ''
|
||||
accessIpList: ''
|
||||
accessIpList: '["0.0.0.0/0"]'
|
||||
imageVm: ''
|
||||
cloudInit: ''
|
||||
userLogin: myuser
|
||||
userPublicKey: ''
|
||||
accessPortList: '["22"]'
|
||||
accessPortList: '{"port": "22", "type": "all"}'
|
||||
sameSnat: 'false'
|
||||
|
||||
@@ -39,6 +39,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '128'
|
||||
@@ -49,11 +54,6 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
@@ -72,6 +72,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 815
|
||||
@@ -91,7 +92,7 @@ cfsParams:
|
||||
- service
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: abracadabra-l9gtqv1m
|
||||
defaultValue: abracadabra-i5kntoh3
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
@@ -121,26 +122,26 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 817
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -148,16 +149,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -176,11 +167,21 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
74:
|
||||
- 813
|
||||
@@ -194,6 +195,6 @@ cfsParamsByOp:
|
||||
98: []
|
||||
97: []
|
||||
stateParams:
|
||||
clusterConfiguration: '{"memory": 128, "replicas": 1, "cpu": 100, "disk": 5}'
|
||||
clusterConfiguration: '{"cpu": 100, "memory": 128, "replicas": 1, "disk": 5}'
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-l9gtqv1m", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-i5kntoh3", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
|
||||
@@ -2,7 +2,49 @@ name: nextcloud
|
||||
service_id: 50
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -53,6 +95,22 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
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:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -70,21 +128,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -138,7 +181,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-vbxjicr2
|
||||
defaultValue: nextcloud-gsjkslra
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1058
|
||||
@@ -193,19 +236,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '2'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -230,6 +260,19 @@ cfsParams:
|
||||
- '6144'
|
||||
- '7168'
|
||||
- '8192'
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '2'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1060
|
||||
svcOperationCfsParam: appConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -276,18 +319,9 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-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:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -302,6 +336,11 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
recoveryPoint:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
psqlUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
@@ -312,6 +351,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
veleroUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1079
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -319,16 +363,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: 1,2
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -353,6 +387,16 @@ cfsParams:
|
||||
- '6144'
|
||||
- '7168'
|
||||
- '8192'
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: 1,2
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1080
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -362,7 +406,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-bcdguda1
|
||||
defaultValue: nextcloud-cpp3zfhe
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1081
|
||||
@@ -372,6 +416,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
documentServer:
|
||||
dataType: string
|
||||
defaultValue: collabora
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: NONE
|
||||
@@ -389,13 +440,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
documentServer:
|
||||
dataType: string
|
||||
defaultValue: collabora
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
cfsParamsByOp:
|
||||
16:
|
||||
- 1055
|
||||
@@ -418,7 +462,7 @@ cfsParamsByOp:
|
||||
129: []
|
||||
128: []
|
||||
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}'
|
||||
accessConfiguration: '{"domain": "nextcloud-vbxjicr2"}'
|
||||
accessConfiguration: '{"domain": "nextcloud-gsjkslra"}'
|
||||
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
|
||||
|
||||
@@ -54,6 +54,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 227
|
||||
|
||||
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
|
||||
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
|
||||
keycloak'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: false
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 14
|
||||
@@ -26,6 +26,14 @@ operations:
|
||||
operation: reconcile
|
||||
kind: action
|
||||
action: reconcile
|
||||
- svcOperationId: 415
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 416
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 16
|
||||
@@ -41,6 +49,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 228
|
||||
@@ -64,9 +73,33 @@ cfsParams:
|
||||
- svcOperationCfsParamId: 231
|
||||
svcOperationCfsParam: s3Uid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
@@ -85,6 +118,12 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1129
|
||||
svcOperationCfsParam: resourceDisk
|
||||
dataType: integer > 0
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
14:
|
||||
- 16
|
||||
@@ -93,12 +132,18 @@ cfsParamsByOp:
|
||||
- 229
|
||||
- 230
|
||||
- 231
|
||||
- 1126
|
||||
- 1127
|
||||
- 1128
|
||||
15: []
|
||||
270:
|
||||
- 822
|
||||
- 823
|
||||
- 824
|
||||
- 1129
|
||||
405: []
|
||||
415: []
|
||||
416: []
|
||||
stateParams:
|
||||
domain: harbor-1
|
||||
resourceRealm: ''
|
||||
@@ -106,3 +151,6 @@ stateParams:
|
||||
resourceMemory: '1024'
|
||||
resourceInstances: '1'
|
||||
s3Uid: ''
|
||||
pvType: s3
|
||||
resourceDisk: '5'
|
||||
authType: local
|
||||
|
||||
@@ -71,6 +71,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 964
|
||||
@@ -118,6 +119,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -132,11 +138,6 @@ cfsParams:
|
||||
- '1'
|
||||
- '2'
|
||||
- '3'
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 966
|
||||
svcOperationCfsParam: nodeAgentConfiguration
|
||||
dataType: map-fixed
|
||||
|
||||
@@ -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
|
||||
@@ -66,6 +66,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1038
|
||||
@@ -104,7 +105,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: flask-4brtjmwm
|
||||
defaultValue: flask-67i6r0en
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1040
|
||||
@@ -114,6 +115,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -126,11 +132,6 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1041
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -171,13 +172,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -188,6 +182,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
- svcOperationCfsParamId: 1044
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -207,6 +208,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
cfsParamsByOp:
|
||||
@@ -229,6 +231,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||
accessConfiguration: '{"domain": "flask-4brtjmwm"}'
|
||||
appConfiguration: '{"healthPath": "", "version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git"}'
|
||||
accessConfiguration: '{"domain": "flask-67i6r0en"}'
|
||||
appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
|
||||
jsonEnv: '{}'
|
||||
|
||||
@@ -101,6 +101,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
@@ -116,16 +126,6 @@ cfsParams:
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 789
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -139,6 +139,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 790
|
||||
@@ -181,16 +182,10 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- '15'
|
||||
poolerMaster:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -207,25 +202,41 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
- 'false'
|
||||
- svcOperationCfsParamId: 792
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 793
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -235,9 +246,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
dataType: string
|
||||
defaultValue: 00000000-0000-0000-0000-000000000000
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
@@ -249,6 +260,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 794
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -311,7 +327,7 @@ cfsParams:
|
||||
isModifiable: false
|
||||
durationServer:
|
||||
dataType: integer > 0
|
||||
defaultValue: '87600'
|
||||
defaultValue: '43800'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
certCA:
|
||||
@@ -453,6 +469,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
@@ -478,23 +495,31 @@ cfsParams:
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 798
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 799
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -503,6 +528,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
schedule:
|
||||
dataType: string
|
||||
defaultValue: 0 0 * * *
|
||||
@@ -513,10 +543,10 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 800
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
@@ -564,24 +594,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -601,6 +613,24 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -614,6 +644,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
recoveryPoint:
|
||||
@@ -628,11 +659,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
@@ -653,6 +679,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 803
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -721,23 +752,31 @@ cfsParams:
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 805
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 806
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -761,6 +800,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 807
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -768,6 +812,14 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
schedule:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
@@ -792,14 +844,32 @@ cfsParams:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
- svcOperationCfsParamId: 1106
|
||||
svcOperationCfsParam: mtlsConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
type:
|
||||
dataType: string
|
||||
defaultValue: 'off'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- 'off'
|
||||
- manual
|
||||
- auto
|
||||
durationCA:
|
||||
dataType: integer > 0
|
||||
defaultValue: '175200'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
durationServer:
|
||||
dataType: integer > 0
|
||||
defaultValue: '87600'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
19:
|
||||
- 788
|
||||
@@ -841,15 +911,16 @@ cfsParamsByOp:
|
||||
- 805
|
||||
- 806
|
||||
- 807
|
||||
- 1106
|
||||
54: []
|
||||
114: []
|
||||
115: []
|
||||
stateParams:
|
||||
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 500, "memory": 512}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}'
|
||||
postgresConf: '{"paramName": "", "paramValue": ""}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
|
||||
postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
|
||||
backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
|
||||
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": ""}'
|
||||
|
||||
@@ -46,6 +46,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1062
|
||||
@@ -55,6 +56,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '512'
|
||||
@@ -75,11 +81,6 @@ cfsParams:
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '500'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1063
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -146,6 +147,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
@@ -161,11 +167,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
21:
|
||||
- 1061
|
||||
@@ -180,5 +181,5 @@ cfsParamsByOp:
|
||||
392: []
|
||||
stateParams:
|
||||
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": "[]"}'
|
||||
|
||||
@@ -3,34 +3,65 @@ service_id: 92
|
||||
service_display_name: MongoDB
|
||||
service_short_name: mongodb
|
||||
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** —
|
||||
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>*
|
||||
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании
|
||||
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в
|
||||
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример:
|
||||
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример:
|
||||
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример:
|
||||
`["10.0.0.0/24", "192.168.1.10/32"]`<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-квота
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
|
||||
**suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
|
||||
удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
|
||||
— модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
|
||||
Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
|
||||
выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
|
||||
резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
|
||||
последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
|
||||
созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
|
||||
ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
|
||||
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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для
|
||||
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей,
|
||||
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>###
|
||||
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует,
|
||||
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный
|
||||
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется
|
||||
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>###
|
||||
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для
|
||||
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт
|
||||
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к
|
||||
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh
|
||||
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или
|
||||
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину
|
||||
и паролю.'
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
|
||||
резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
|
||||
`7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
|
||||
их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
|
||||
`no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
|
||||
оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
|
||||
параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
|
||||
умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
|
||||
требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
|
||||
"Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
|
||||
Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
|
||||
(созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -39,6 +70,10 @@ operations:
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 411
|
||||
operation: create_backup
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 198
|
||||
operation: create_user
|
||||
kind: subresource
|
||||
@@ -47,6 +82,10 @@ operations:
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 414
|
||||
operation: delete_backup
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 199
|
||||
operation: delete_user
|
||||
kind: subresource
|
||||
@@ -67,11 +106,16 @@ operations:
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 413
|
||||
operation: rollback
|
||||
kind: action
|
||||
action: rollback
|
||||
- svcOperationId: 194
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut:
|
||||
backups: {}
|
||||
users: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 1089
|
||||
@@ -87,6 +131,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1090
|
||||
@@ -96,6 +141,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
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'
|
||||
@@ -111,16 +166,6 @@ cfsParams:
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1000'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1024'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1091
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -128,16 +173,59 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
- 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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -157,12 +245,28 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- 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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
dataType: array
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
@@ -173,11 +277,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -198,6 +297,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1093
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -215,6 +319,23 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -234,32 +355,51 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- readWrite
|
||||
- dbAdmin
|
||||
- dbOwner
|
||||
- svcOperationCfsParamId: 1108
|
||||
svcOperationCfsParam: backupName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
37:
|
||||
- 1089
|
||||
- 1090
|
||||
- 1091
|
||||
- 1102
|
||||
- 1116
|
||||
411:
|
||||
- 1109
|
||||
198:
|
||||
- 635
|
||||
- 636
|
||||
- 643
|
||||
190: []
|
||||
190:
|
||||
- 1103
|
||||
414:
|
||||
- 1111
|
||||
199:
|
||||
- 644
|
||||
201:
|
||||
- 1092
|
||||
- 1093
|
||||
- 1104
|
||||
200:
|
||||
- 640
|
||||
- 641
|
||||
- 642
|
||||
409: []
|
||||
196: []
|
||||
413:
|
||||
- 1108
|
||||
194: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"replicas": 1, "disk": 5, "cpu": 1000, "memory": 1024}'
|
||||
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
mongoConfiguration: '{"tls": false}'
|
||||
|
||||
@@ -76,6 +76,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1098
|
||||
@@ -127,6 +128,18 @@ cfsParams:
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -134,11 +147,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -159,6 +167,11 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1101
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -176,15 +189,29 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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:
|
||||
38:
|
||||
- 1097
|
||||
- 1098
|
||||
- 1099
|
||||
- 1113
|
||||
39: []
|
||||
106:
|
||||
- 1100
|
||||
- 1101
|
||||
- 1114
|
||||
410: []
|
||||
117: []
|
||||
116: []
|
||||
@@ -192,3 +219,4 @@ stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mqConfiguration: '{"maxMessageSize": 4}'
|
||||
|
||||
@@ -53,6 +53,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1020
|
||||
@@ -91,7 +92,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: lucee-pzpvwkuk
|
||||
defaultValue: lucee-bpp5vpr5
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1022
|
||||
@@ -101,11 +102,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: '6.0'
|
||||
@@ -119,6 +115,11 @@ cfsParams:
|
||||
defaultValue: https://github.com/xahys/testlucee
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
healthPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1023
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -159,6 +160,14 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '6.0'
|
||||
- '5.4'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -169,14 +178,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '6.0'
|
||||
- '5.4'
|
||||
- svcOperationCfsParamId: 1026
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -196,6 +197,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
cfsParamsByOp:
|
||||
@@ -219,6 +221,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||
accessConfiguration: '{"domain": "lucee-pzpvwkuk"}'
|
||||
appConfiguration: '{"healthPath": "", "version": "6.0", "gitPath": "https://github.com/xahys/testlucee"}'
|
||||
accessConfiguration: '{"domain": "lucee-bpp5vpr5"}'
|
||||
appConfiguration: '{"version": "6.0", "gitPath": "https://github.com/xahys/testlucee", "healthPath": ""}'
|
||||
jsonEnv: '{}'
|
||||
|
||||
@@ -51,6 +51,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 1029
|
||||
@@ -89,7 +90,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: node-ctkmt4iw
|
||||
defaultValue: node-zjkc4kir
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1031
|
||||
@@ -125,6 +126,12 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: '{}'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
DB_PASS:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1033
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -198,6 +205,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
cfsParamsByOp:
|
||||
@@ -220,6 +228,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": ""}'
|
||||
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"}'
|
||||
jsonEnv: '{}'
|
||||
jsonEnv: '{"DB_PASS": ""}'
|
||||
|
||||
@@ -64,6 +64,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 170
|
||||
@@ -103,6 +104,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
cfsParamsByOp:
|
||||
|
||||
@@ -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'
|
||||
@@ -67,6 +67,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
- svcOperationCfsParamId: 217
|
||||
@@ -74,19 +75,19 @@ cfsParams:
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: nexus-sa.tst.nubes.ru/docker-nubes/jolt
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 241
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 782
|
||||
svcOperationCfsParam: ingressAnnotations
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: '{}'
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 218
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
@@ -105,6 +106,24 @@ cfsParams:
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: resourceRealm
|
||||
dataType: string
|
||||
@@ -112,6 +131,7 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- devclustername
|
||||
- k8s-3-sandbox-nubes-ru
|
||||
- k8s-4-sandbox-nubes-ru
|
||||
cfsParamsByOp:
|
||||
@@ -129,6 +149,9 @@ cfsParamsByOp:
|
||||
- 218
|
||||
- 219
|
||||
- 220
|
||||
- 1120
|
||||
- 1121
|
||||
- 1122
|
||||
403: []
|
||||
79:
|
||||
- 272
|
||||
|
||||
@@ -97,6 +97,12 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1124
|
||||
svcOperationCfsParam: iniServiceParams
|
||||
dataType: map
|
||||
isRequired: false
|
||||
defaultValue: DISABLE_REGISTRATION:true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 259
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
@@ -143,6 +149,7 @@ cfsParamsByOp:
|
||||
- 238
|
||||
- 818
|
||||
- 821
|
||||
- 1124
|
||||
83: []
|
||||
91:
|
||||
- 259
|
||||
@@ -162,3 +169,4 @@ stateParams:
|
||||
psqlUid: ''
|
||||
ingressExtraAnnotations: ''
|
||||
iniServerParams: ''
|
||||
iniServiceParams: DISABLE_REGISTRATION:true
|
||||
|
||||
@@ -127,9 +127,15 @@ cfsParams:
|
||||
- SSHFP
|
||||
- svcOperationCfsParamId: 780
|
||||
svcOperationCfsParam: recordInput
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
record:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 781
|
||||
svcOperationCfsParam: recordName
|
||||
@@ -160,12 +166,12 @@ cfsParams:
|
||||
- NS
|
||||
- SSHFP
|
||||
- CAA
|
||||
recordInput:
|
||||
recordName:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recordName:
|
||||
recordInput:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
@@ -205,10 +211,16 @@ cfsParams:
|
||||
- SSHFP
|
||||
- svcOperationCfsParamId: 786
|
||||
svcOperationCfsParam: recordInput
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
record:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
254:
|
||||
- 761
|
||||
|
||||
@@ -2,7 +2,54 @@ name: mariadb
|
||||
service_id: 115
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -101,16 +148,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 880
|
||||
svcOperationCfsParam: mariadbConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -131,7 +178,7 @@ cfsParams:
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
@@ -155,6 +202,14 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
schedule:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
@@ -179,31 +234,23 @@ cfsParams:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 734
|
||||
svcOperationCfsParam: dbName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: db-utkbjfp1
|
||||
defaultValue: db-wpm05duv
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 735
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: user4qtyx9eo
|
||||
defaultValue: userhucihd6b
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 736
|
||||
svcOperationCfsParam: password
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: j84crbfp
|
||||
defaultValue: oe063z3u
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 737
|
||||
svcOperationCfsParam: dbName
|
||||
@@ -305,28 +352,6 @@ cfsParams:
|
||||
valueList:
|
||||
- 8.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
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -391,7 +416,6 @@ cfsParamsByOp:
|
||||
- 883
|
||||
- 884
|
||||
- 885
|
||||
- 886
|
||||
- 887
|
||||
287: []
|
||||
141: []
|
||||
@@ -399,7 +423,7 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mariadbConfiguration: '{"version": "9.4.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}'
|
||||
|
||||
@@ -2,21 +2,24 @@ name: kafka
|
||||
service_id: 116
|
||||
service_display_name: ApacheKafka
|
||||
service_short_name: kafka
|
||||
service_man: '# Инструкция по развертыванию Организация в Cloud Director через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Организация в Cloud Director** предназначен для управления изолированными
|
||||
организационными единицами (тенантами) внутри инфраструктуры Cloud Director. Он обеспечивает создание, модификацию и администрирование организаций, предоставление им облачных ресурсов, а также контроль
|
||||
уровня доступа. Сервис используется для организации рабочих окружений потребителей, управления жизненным циклом организаций и их сетевой инфраструктурой.<br/><br/>### Доступные операции<br/><br/>**create**
|
||||
— Создание новой организации с заданными характеристиками и типом доступа.<br/>**delete** — Удаление организации после перехода в состояние suspend; приводит к удалению всех связанных сущностей.<br/>**modify**
|
||||
— Изменение параметров внутри организации (на текущий момент поддерживается изменение ipSpaces).<br/>**suspend** — Заморозка организации, ограничение возможности изменения и добавления сущностей.<br/>**resume**
|
||||
— Разморозка организации, восстановление функций управления.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание:
|
||||
платформа, на которой будет создана организация.<br/>Пример значения: `ngcloud.ru`.<br/><br/>### Тип организации<br/>Описание: тип создаваемой организации.<br/>Варианты:<br/>- `iaas` — организация с прямым
|
||||
доступом к облаку и авторизацией через Keycloak.<br/>- `saas` — организация под управлением Nubes, без прямого доступа к облаку.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>###
|
||||
Тестовое окружение<br/>- Тип организации: `iaas` для обеспечения полного доступа к облачным ресурсам и самостоятельного управления.<br/><br/>### Промышленное окружение<br/>- Тип организации: `saas` (упрощённая
|
||||
модель использования).<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе операций):<br/><br/>### Идентификатор организации<br/>Уникальный
|
||||
идентификатор созданной организации. Используется для всех дальнейших API-операций.<br/><br/>### Статус организации<br/>Отражает текущее состояние: active, suspended, modifying, deleting.<br/><br/>###
|
||||
Параметры сети<br/>Выходные данные при наличии ipSpaces: список выделенных внешних IP, имя ip_space, количество IP.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних
|
||||
IP внутри организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)**;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный к этой организации.<br/>-
|
||||
Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов IP, сетей, ВМок
|
||||
и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется через Keycloak.<br/><br/>'
|
||||
service_man: "# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Брокер сообщений Apache Kafka — это отказоустойчивая распределённая платформа для обмена\
|
||||
\ сообщениями и потоковой обработки данных в реальном времени.<br/>Позволяет надёжно передавать события между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние,\
|
||||
\ так и защищённые TLS-подключения. Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>-\
|
||||
\ **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/>- **create_topic** — Создание топика<br/>- **modify_topic** — Модификация топика<br/>- **delete_topic** — Удаление\
|
||||
\ топика<br/><br/>- **create_user** — Создание пользователя<br/>- **modify_user** — Модификация пользователя<br/>- **delete_user** — Удаление пользователя<br/><br/><br/>---<br/>## 2. Параметры\
|
||||
\ развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в\
|
||||
\ которой будет развернут кластер). Пример: `\tk8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество узлов (брокеров) в кластере Kafka<br/><br/>* **Квота (megabyte) памяти пода:**<br/>\
|
||||
\ Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore ) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска\
|
||||
\ для базы данных:**<br/> Размер диска для хранения данных в гигабайтах. Пример: `20`<br/><br/>* **Выделяет внешний IP для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для\
|
||||
\ доступа к master-брокеру. Пример: `true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>---<br/>##\
|
||||
\ 4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевыми из них являются:<br/><br/>**internalConnect** (выдаётся только при работе кластера\
|
||||
\ по внутренним адресам)<br/>Внутренние эндпоинты для подключения из сервисов, развёрнутых внутри того же Kubernetes-кластера.<br/>```yaml<br/>internalConnect:<br/> bootstrap:<br/> fqdn: \"<serviceName>-kafka-tls-bootstrap.<namespace>.svc.<clusterDomain>\"\
|
||||
<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**\
|
||||
\ (выдаётся только при выделении внешнего IP)<br/>Внешние эндпоинты, зарегистрированные в DNS.<br/>```yaml<br/>externalConnect:<br/> bootstrap:<br/> fqdn: \"bootstrap.<namespace>.<dnsZone>\"<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -209,17 +212,17 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
defaultValue: '2000'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
defaultValue: '2048'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
@@ -229,7 +232,7 @@ cfsParams:
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1088
|
||||
|
||||
@@ -93,20 +93,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1000'
|
||||
@@ -127,6 +113,20 @@ cfsParams:
|
||||
- '3'
|
||||
- '5'
|
||||
- '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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -134,16 +134,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 840
|
||||
svcOperationCfsParam: clickhouseKeeperConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -213,20 +213,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -245,6 +231,20 @@ cfsParams:
|
||||
- '5'
|
||||
- '12'
|
||||
- '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
|
||||
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -311,6 +311,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -335,16 +345,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 845
|
||||
svcOperationCfsParam: clickhouseKeeperConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -431,15 +431,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
enabled:
|
||||
dataType: boolean
|
||||
defaultValue: false,true
|
||||
@@ -460,6 +451,15 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
percent:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '10'
|
||||
- '15'
|
||||
- '20'
|
||||
- svcOperationCfsParamId: 850
|
||||
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -511,10 +511,10 @@ cfsParamsByOp:
|
||||
182: []
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
clusterConfiguration: '{"shards": 1, "disk": 10, "cpu": 1000, "memory": 2048, "replicas": 1}'
|
||||
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "disk": 10, "shards": 1}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
clickhouseKeeperConfiguration: '{"cpu": 500, "memory": 512, "replicas": 0}'
|
||||
clickhouseConfiguration: '{"version": "25.10"}'
|
||||
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>"}'
|
||||
|
||||
@@ -19,6 +19,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: k8s-8bpzagxw
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
defaultValue: ngcloud.ru
|
||||
@@ -26,9 +31,14 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- ngcloud.ru
|
||||
clusterName:
|
||||
providerVdc:
|
||||
dataType: string
|
||||
defaultValue: example-cgvxzckk
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
networkProvider:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 772
|
||||
@@ -40,10 +50,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -54,15 +65,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
count:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '3'
|
||||
- '5'
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -75,6 +77,15 @@ cfsParams:
|
||||
defaultValue: '50'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
count:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '3'
|
||||
- '5'
|
||||
- svcOperationCfsParamId: 774
|
||||
svcOperationCfsParam: workerConfiguration
|
||||
dataType: array-map-fixed
|
||||
@@ -82,6 +93,18 @@ cfsParams:
|
||||
defaultValue: '[{}]'
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-wngkcnbs
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '{}'
|
||||
sizingDisk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '50'
|
||||
@@ -92,18 +115,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-wqtdfsen
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
autoscale:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -111,11 +148,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
needExternalAddressAPI:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -135,6 +167,11 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
258:
|
||||
- 771
|
||||
@@ -143,8 +180,8 @@ cfsParamsByOp:
|
||||
- 774
|
||||
- 775
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "ngcloud.ru", "clusterName": "example-cgvxzckk"}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
controlPlaneConfiguration: '{"count": 1, "sizingPolicy": "", "sizingDisk": 50}'
|
||||
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-wqtdfsen", "sizingPolicy": ""}'
|
||||
accessConfiguration: '{"accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true}'
|
||||
startupConfiguration: '{"clusterName": "k8s-8bpzagxw", "resourceRealm": "ngcloud.ru", "providerVdc": "", "networkProvider": ""}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
|
||||
workerConfiguration: '{"groupName": "workers-wngkcnbs", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
|
||||
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
||||
|
||||
@@ -133,22 +133,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
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:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -191,6 +175,22 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- '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
|
||||
svcOperationCfsParam: s3Storage
|
||||
dataType: integer > 0
|
||||
|
||||
@@ -2,7 +2,17 @@ name: k8s_sthutrval_cluster
|
||||
service_id: 150
|
||||
service_display_name: Kubernetes кластер Штурвал
|
||||
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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -61,9 +71,65 @@ cfsParams:
|
||||
isModifiable: false
|
||||
clusterName:
|
||||
dataType: string
|
||||
defaultValue: example-umab2vgx
|
||||
defaultValue: example-yn5ajpm3
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: controlPlaneConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -101,7 +167,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-dum0vgn5
|
||||
defaultValue: workers-smfsut8s
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
@@ -121,6 +187,32 @@ cfsParams:
|
||||
defaultValue: '2'
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -128,11 +220,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
needExternalAddressAPI:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -152,6 +239,11 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
accessIpListIngress:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 755
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -161,10 +253,11 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
appVersion:
|
||||
dataType: string
|
||||
defaultValue: 2.13.1
|
||||
defaultValue: 2.14.0
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -205,6 +298,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 2.14.0
|
||||
- 2.13.1
|
||||
- 2.12.1
|
||||
- 2.11.0
|
||||
@@ -243,14 +337,9 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
count:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
groupName:
|
||||
dataType: string
|
||||
defaultValue: workers-tr9wauz1
|
||||
defaultValue: workers-rhkpbeti
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
sizingPolicy:
|
||||
@@ -265,6 +354,37 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -317,8 +437,9 @@ cfsParamsByOp:
|
||||
174: []
|
||||
173: []
|
||||
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}'
|
||||
workerConfiguration: '{"groupName": "workers-dum0vgn5", "sizingPolicy": "", "sizingDisk": 50, "count": 2}'
|
||||
accessConfiguration: '{"accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true}'
|
||||
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||
workerConfiguration: '{"groupName": "workers-smfsut8s", "sizingPolicy": "", "sizingDisk": 50, "count": 2, "autoscale": false, "autoscaleMin": 2, "autoscaleMax": 3, "labelDeck": true}'
|
||||
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
||||
clusterConfiguration: '{"appVersion": "2.14.0"}'
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -73,6 +73,12 @@ cfsParams:
|
||||
valueList:
|
||||
- iaas
|
||||
- saas
|
||||
- svcOperationCfsParamId: 1125
|
||||
svcOperationCfsParam: organizationSuffix
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 871
|
||||
svcOperationCfsParam: admins
|
||||
dataType: array-map-fixed
|
||||
@@ -110,7 +116,7 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
count:
|
||||
dataType: integer > 0
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -118,6 +124,7 @@ cfsParamsByOp:
|
||||
136:
|
||||
- 418
|
||||
- 556
|
||||
- 1125
|
||||
283:
|
||||
- 871
|
||||
137: []
|
||||
@@ -131,3 +138,4 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
resourceRealm: ngcloud.ru
|
||||
organizationType: iaas
|
||||
organizationSuffix: ''
|
||||
|
||||
@@ -98,12 +98,12 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
secret:
|
||||
subparam2:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
subparam2:
|
||||
secret:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
@@ -127,13 +127,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
minStr1:
|
||||
dataType: string
|
||||
defaultValue: abracadabra
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- abracadabra
|
||||
param1:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1'
|
||||
@@ -161,6 +154,13 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
minStr1:
|
||||
dataType: string
|
||||
defaultValue: abracadabra
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- abracadabra
|
||||
- svcOperationCfsParamId: 654
|
||||
svcOperationCfsParam: arrayMapFixedExample
|
||||
dataType: array-map-fixed
|
||||
@@ -168,6 +168,20 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
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'
|
||||
@@ -188,20 +202,6 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- abracadabra
|
||||
param1:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
param2:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '["1"'
|
||||
- '"2"'
|
||||
- '"3"]'
|
||||
- svcOperationCfsParamId: 863
|
||||
svcOperationCfsParam: arr
|
||||
dataType: array
|
||||
@@ -304,9 +304,9 @@ stateParams:
|
||||
whereFail: '1'
|
||||
resourceRealm: ''
|
||||
bodymessage: ''
|
||||
mapExample: '{"subparam1": "", "secret": "", "subparam2": ""}'
|
||||
mapExample: '{"subparam1": "", "subparam2": "", "secret": ""}'
|
||||
jsonExample: ''
|
||||
nestedRefExample: ''
|
||||
mapFixed: '{"minStr1": "abracadabra", "param1": 1, "param2": "1", "param3": 1, "bol1": false}'
|
||||
arrayMapFixedExample: '{"param3": 1, "bol1": false, "minStr1": "", "param1": 0, "param2": ""}'
|
||||
mapFixed: '{"param1": 1, "param2": "1", "param3": 1, "bol1": false, "minStr1": "abracadabra"}'
|
||||
arrayMapFixedExample: '{"param1": 0, "param2": "", "param3": 1, "bol1": false, "minStr1": ""}'
|
||||
arr: ''
|
||||
|
||||
@@ -58,13 +58,13 @@ cfsParams:
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 335
|
||||
svcOperationCfsParam: providerVdc
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 361
|
||||
svcOperationCfsParam: storageConfig
|
||||
dataType: array-map-fixed
|
||||
@@ -79,36 +79,50 @@ cfsParams:
|
||||
isModifiable: false
|
||||
size:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
defaultValue: '2000'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 397
|
||||
svcOperationCfsParam: cpuGuaranteed
|
||||
dataType: integer > 0
|
||||
isDefaultStorageProfile:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: '20'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '20'
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 397
|
||||
svcOperationCfsParam: cpuGuaranteed
|
||||
dataType: integer >= 0
|
||||
isRequired: true
|
||||
defaultValue: '0'
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '0'
|
||||
- '50'
|
||||
- '80'
|
||||
- svcOperationCfsParamId: 557
|
||||
svcOperationCfsParam: cpuAllocated
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '10'
|
||||
defaultValue: '80'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 558
|
||||
svcOperationCfsParam: memAllocated
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '20'
|
||||
defaultValue: '200'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 746
|
||||
svcOperationCfsParam: networkProvider
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 1130
|
||||
svcOperationCfsParam: suffixName
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: xobcwf4u
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 560
|
||||
svcOperationCfsParam: cpuAllocated
|
||||
@@ -139,6 +153,32 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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:
|
||||
9:
|
||||
- 30
|
||||
@@ -148,19 +188,24 @@ cfsParamsByOp:
|
||||
- 557
|
||||
- 558
|
||||
- 746
|
||||
- 1130
|
||||
24: []
|
||||
112:
|
||||
- 560
|
||||
- 561
|
||||
- 562
|
||||
- 1158
|
||||
- 1159
|
||||
- 1160
|
||||
250: []
|
||||
172: []
|
||||
171: []
|
||||
stateParams:
|
||||
organizationUid: ''
|
||||
providerVdc: ''
|
||||
storageConfig: '{"name": "", "size": 100}'
|
||||
cpuGuaranteed: '20'
|
||||
cpuAllocated: '10'
|
||||
memAllocated: '20'
|
||||
storageConfig: '{"name": "", "size": 2000, "isDefaultStorageProfile": false}'
|
||||
cpuGuaranteed: '0'
|
||||
cpuAllocated: '80'
|
||||
memAllocated: '200'
|
||||
networkProvider: ''
|
||||
suffixName: xobcwf4u
|
||||
|
||||
@@ -88,6 +88,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: needEnableAVI
|
||||
dataType: boolean
|
||||
@@ -115,6 +137,28 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
10:
|
||||
- 8
|
||||
@@ -123,12 +167,14 @@ cfsParamsByOp:
|
||||
- 621
|
||||
- 622
|
||||
- 825
|
||||
- 1110
|
||||
25: []
|
||||
111:
|
||||
- 368
|
||||
- 369
|
||||
- 372
|
||||
- 856
|
||||
- 1112
|
||||
252: []
|
||||
stateParams:
|
||||
vdcUid: ''
|
||||
@@ -137,3 +183,4 @@ stateParams:
|
||||
vdcType: vdc
|
||||
vdcGroupUid: ''
|
||||
qosProfile: ''
|
||||
routedNetConfiguration: '{"ipAddrPool": "10.10.102.0/24", "mainDns": "81.22.46.22", "secondDns": "185.247.187.77"}'
|
||||
|
||||
@@ -48,7 +48,7 @@ cfsParams:
|
||||
svcOperationCfsParam: vappName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: es1fsp9q
|
||||
defaultValue: 9zrw3ba0
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 623
|
||||
svcOperationCfsParam: vdcUid
|
||||
@@ -66,5 +66,5 @@ cfsParamsByOp:
|
||||
208: []
|
||||
stateParams:
|
||||
nsxtUid: ''
|
||||
vappName: es1fsp9q
|
||||
vappName: 9zrw3ba0
|
||||
vdcUid: ''
|
||||
|
||||
@@ -96,9 +96,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 413
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
dataType: array
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
defaultValue: '["0.0.0.0/0"]'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 414
|
||||
svcOperationCfsParam: imageVm
|
||||
@@ -126,10 +126,34 @@ cfsParams:
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 448
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: string
|
||||
dataType: array-map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '["22"]'
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: vmCpu
|
||||
dataType: integer > 0
|
||||
@@ -154,11 +178,6 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 497
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -167,10 +186,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 498
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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
|
||||
svcOperationCfsParam: vmName
|
||||
dataType: string
|
||||
@@ -201,11 +244,6 @@ cfsParams:
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- no-needed
|
||||
- internet-antiddos-v1
|
||||
- internet-no-antiddos-v1
|
||||
- internet-ipv4-v1
|
||||
- svcOperationCfsParamId: 514
|
||||
svcOperationCfsParam: accessIpList
|
||||
dataType: json
|
||||
@@ -242,10 +280,34 @@ cfsParams:
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 520
|
||||
svcOperationCfsParam: accessPortList
|
||||
dataType: json
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
132:
|
||||
- 407
|
||||
@@ -260,6 +322,7 @@ cfsParamsByOp:
|
||||
- 416
|
||||
- 417
|
||||
- 448
|
||||
- 1118
|
||||
133: []
|
||||
159:
|
||||
- 493
|
||||
@@ -268,6 +331,7 @@ cfsParamsByOp:
|
||||
- 496
|
||||
- 497
|
||||
- 498
|
||||
- 1119
|
||||
286: []
|
||||
164:
|
||||
- 509
|
||||
@@ -281,6 +345,7 @@ cfsParamsByOp:
|
||||
- 517
|
||||
- 518
|
||||
- 520
|
||||
- 1123
|
||||
135: []
|
||||
134: []
|
||||
stateParams:
|
||||
@@ -290,9 +355,10 @@ stateParams:
|
||||
vmRam: '1'
|
||||
vmDisk: ''
|
||||
ipSpaceName: ''
|
||||
accessIpList: ''
|
||||
accessIpList: '["0.0.0.0/0"]'
|
||||
imageVm: ''
|
||||
cloudInit: ''
|
||||
userLogin: myuser
|
||||
userPublicKey: ''
|
||||
accessPortList: '["22"]'
|
||||
accessPortList: '{"port": "22", "type": "all"}'
|
||||
sameSnat: 'false'
|
||||
|
||||
@@ -44,11 +44,6 @@ cfsParams:
|
||||
defaultValue: '100'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '128'
|
||||
@@ -59,6 +54,11 @@ cfsParams:
|
||||
defaultValue: '1'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 814
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -90,7 +90,7 @@ cfsParams:
|
||||
- service
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: abracadabra-g2byllee
|
||||
defaultValue: abracadabra-am1z2wlk
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
@@ -125,13 +125,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer >= 0
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
disk:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -165,13 +165,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
@@ -193,6 +193,6 @@ cfsParamsByOp:
|
||||
98: []
|
||||
97: []
|
||||
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"}'
|
||||
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-g2byllee", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
accessConfiguration: '{"type": "ingress", "domain": "abracadabra-am1z2wlk", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
|
||||
@@ -2,7 +2,49 @@ name: nextcloud
|
||||
service_id: 50
|
||||
service_display_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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -137,7 +179,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-6afmoouq
|
||||
defaultValue: nextcloud-v9jbyta8
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1058
|
||||
@@ -147,18 +189,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: INFO
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- DEBUG
|
||||
- INFO
|
||||
- WARN
|
||||
- ERROR
|
||||
- FATAL
|
||||
- NONE
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: 33.0.4
|
||||
@@ -173,6 +203,18 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- collabora
|
||||
logLevel:
|
||||
dataType: string
|
||||
defaultValue: INFO
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- DEBUG
|
||||
- INFO
|
||||
- WARN
|
||||
- ERROR
|
||||
- FATAL
|
||||
- NONE
|
||||
- svcOperationCfsParamId: 1077
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -192,19 +234,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '2'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -229,6 +258,19 @@ cfsParams:
|
||||
- '6144'
|
||||
- '7168'
|
||||
- '8192'
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '1'
|
||||
- '2'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1060
|
||||
svcOperationCfsParam: appConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -269,16 +311,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
psqlUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
redisUid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
defaultValue: k8s-4-ext-nubes-ru
|
||||
@@ -286,16 +318,6 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- k8s-4-ext-nubes-ru
|
||||
veleroUid:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
recoveryPoint:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
psqlEnabled:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
@@ -310,6 +332,26 @@ cfsParams:
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '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
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -317,16 +359,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: 1,2
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -351,6 +383,16 @@ cfsParams:
|
||||
- '6144'
|
||||
- '7168'
|
||||
- '8192'
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
defaultValue: 1,2
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '10'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1080
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -360,7 +402,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: nextcloud-ch6fvoz1
|
||||
defaultValue: nextcloud-zdaml6i9
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1081
|
||||
@@ -418,5 +460,5 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru", "psqlEnabled": true, "redisEnabled": true, "psqlUid": "", "redisUid": ""}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"domain": "nextcloud-6afmoouq"}'
|
||||
appConfiguration: '{"logLevel": "INFO", "version": "33.0.4", "documentServer": "collabora"}'
|
||||
accessConfiguration: '{"domain": "nextcloud-v9jbyta8"}'
|
||||
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
|
||||
|
||||
@@ -7,7 +7,7 @@ service_man: 'Расширенный реестр для управления Do
|
||||
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
|
||||
keycloak'
|
||||
lifecycle:
|
||||
suspendOnDestroyDefault: false
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
operations:
|
||||
- svcOperationId: 14
|
||||
@@ -18,6 +18,22 @@ operations:
|
||||
operation: delete
|
||||
kind: instance
|
||||
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: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 16
|
||||
@@ -38,26 +54,74 @@ cfsParams:
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '100'
|
||||
isModifiable: false
|
||||
defaultValue: '1000'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 229
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '200'
|
||||
isModifiable: false
|
||||
defaultValue: '1024'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 230
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: '1'
|
||||
isModifiable: false
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 231
|
||||
svcOperationCfsParam: s3Uid
|
||||
dataType: uuid
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
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:
|
||||
14:
|
||||
- 16
|
||||
@@ -66,11 +130,25 @@ cfsParamsByOp:
|
||||
- 229
|
||||
- 230
|
||||
- 231
|
||||
- 1126
|
||||
- 1127
|
||||
- 1128
|
||||
15: []
|
||||
270:
|
||||
- 822
|
||||
- 823
|
||||
- 824
|
||||
- 1129
|
||||
405: []
|
||||
415: []
|
||||
416: []
|
||||
stateParams:
|
||||
domain: harbor-1
|
||||
resourceRealm: k8s-4-ext-nubes-ru
|
||||
resourceCPU: '100'
|
||||
resourceMemory: '200'
|
||||
resourceCPU: '1000'
|
||||
resourceMemory: '1024'
|
||||
resourceInstances: '1'
|
||||
s3Uid: ''
|
||||
pvType: s3
|
||||
resourceDisk: '5'
|
||||
authType: local
|
||||
|
||||
@@ -103,7 +103,7 @@ cfsParams:
|
||||
dataDescriptor:
|
||||
domain:
|
||||
dataType: string
|
||||
defaultValue: flask-raqv2ud7
|
||||
defaultValue: flask-mfcpbrbr
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1040
|
||||
@@ -113,13 +113,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: '3.12'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: https://github.com/Foxyhhd/Baldurs-Gate-test.git
|
||||
@@ -130,6 +123,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: '3.12'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
- svcOperationCfsParamId: 1041
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -170,13 +170,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
gitPath:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -187,6 +180,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '3.12'
|
||||
- svcOperationCfsParamId: 1044
|
||||
svcOperationCfsParam: jsonEnv
|
||||
dataType: map
|
||||
@@ -227,6 +227,6 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||
accessConfiguration: '{"domain": "flask-raqv2ud7"}'
|
||||
appConfiguration: '{"version": "3.12", "gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": ""}'
|
||||
accessConfiguration: '{"domain": "flask-mfcpbrbr"}'
|
||||
appConfiguration: '{"gitPath": "https://github.com/Foxyhhd/Baldurs-Gate-test.git", "healthPath": "", "version": "3.12"}'
|
||||
jsonEnv: '{}'
|
||||
|
||||
@@ -180,16 +180,10 @@ cfsParams:
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- '15'
|
||||
poolerMaster:
|
||||
dataType: boolean
|
||||
defaultValue: 'false'
|
||||
@@ -206,25 +200,41 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
sslRequired:
|
||||
dataType: boolean
|
||||
defaultValue: 'true'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'true'
|
||||
- 'false'
|
||||
- svcOperationCfsParamId: 792
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
defaultValue: 'off'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: '100'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 793
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -234,9 +244,9 @@ cfsParams:
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
dataType: string
|
||||
defaultValue: 00000000-0000-0000-0000-000000000000
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
@@ -248,6 +258,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: '0'
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 794
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -310,7 +325,7 @@ cfsParams:
|
||||
isModifiable: false
|
||||
durationServer:
|
||||
dataType: integer > 0
|
||||
defaultValue: '87600'
|
||||
defaultValue: '43800'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
certCA:
|
||||
@@ -446,20 +461,13 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
poolerSlave:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
version:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- '18'
|
||||
- '17'
|
||||
- '16'
|
||||
sslRequired:
|
||||
@@ -475,25 +483,41 @@ cfsParams:
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 798
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
dataType: string
|
||||
poolerSlave:
|
||||
dataType: boolean
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 798
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
log_connections:
|
||||
dataType: string
|
||||
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
|
||||
- svcOperationCfsParamId: 799
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -502,11 +526,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
retain:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -517,6 +536,16 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
s3Uid:
|
||||
dataType: uuid
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 800
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -719,23 +748,31 @@ cfsParams:
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 805
|
||||
svcOperationCfsParam: postgresConf
|
||||
dataType: array-map-fixed
|
||||
dataType: map-fixed
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
paramName:
|
||||
log_connections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- log_connections
|
||||
- log_disconnections
|
||||
paramValue:
|
||||
- 'off'
|
||||
- 'on'
|
||||
log_disconnections:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'off'
|
||||
- 'on'
|
||||
max_connections:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 806
|
||||
svcOperationCfsParam: backupConfiguration
|
||||
@@ -759,6 +796,11 @@ cfsParams:
|
||||
defaultValue: 0 0 * * *
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
incrementCount:
|
||||
dataType: integer >= 0
|
||||
defaultValue: ''
|
||||
isRequired: false
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 807
|
||||
svcOperationCfsParam: autoscaleConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -798,6 +840,32 @@ cfsParams:
|
||||
- '10'
|
||||
- '15'
|
||||
- '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:
|
||||
19:
|
||||
- 788
|
||||
@@ -839,6 +907,7 @@ cfsParamsByOp:
|
||||
- 805
|
||||
- 806
|
||||
- 807
|
||||
- 1106
|
||||
54: []
|
||||
114: []
|
||||
115: []
|
||||
@@ -846,8 +915,8 @@ stateParams:
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
postgresConfiguration: '{"version": "17", "sslRequired": true, "poolerMaster": false, "poolerSlave": false}'
|
||||
postgresConf: '{"paramName": "", "paramValue": ""}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
postgresConfiguration: '{"version": "17", "poolerMaster": false, "poolerSlave": false, "sslRequired": true}'
|
||||
postgresConf: '{"log_disconnections": "off", "log_connections": "off", "max_connections": 100}'
|
||||
backupConfiguration: '{"s3Uid": "00000000-0000-0000-0000-000000000000", "retain": 7, "schedule": "0 0 * * *", "incrementCount": 0}'
|
||||
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": ""}'
|
||||
|
||||
@@ -86,16 +86,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -106,6 +96,16 @@ cfsParams:
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1064
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -113,6 +113,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
@@ -133,11 +138,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1065
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -145,11 +145,6 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
@@ -165,6 +160,11 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
slaveAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cfsParamsByOp:
|
||||
21:
|
||||
- 1061
|
||||
@@ -180,4 +180,4 @@ cfsParamsByOp:
|
||||
stateParams:
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||
accessConfiguration: '{"slaveIpSpace": "", "slaveAccessList": "[]", "masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||
|
||||
@@ -3,34 +3,65 @@ service_id: 92
|
||||
service_display_name: MongoDB
|
||||
service_short_name: mongodb
|
||||
service_man: '# Инструкция по развертыванию MongoDB через платформу<br/><br/>## 1. Общая информация<br/><br/>MongoDB — документоориентированная распределённая база данных, обеспечивающая высокую доступность,
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>* **suspend** —
|
||||
остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>*
|
||||
**modify_user** — модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры развертывания базы данных<br/><br/>Эти параметры необходимо указать при создании
|
||||
базы данных.<br/><br/>### Платформа для развертывания<br/><br/>Среда, в которой будет развернут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в
|
||||
кластере MongoDB.<br/>Оптимально выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример:
|
||||
`20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример:
|
||||
`internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример:
|
||||
`["10.0.0.0/24", "192.168.1.10/32"]`<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-квота
|
||||
горизонтальное масштабирование и гибкую модель хранения.<br/><br/>### Доступные операции с кластером<br/><br/>* **create** — создание базы<br/>* **delete** — удаление базы данных<br/>*
|
||||
**suspend** — остановка базы данных<br/>* **resume** — запуск базы данных<br/>* **modify** — изменение базы данных<br/>* **create_backup** — создание бэкапа вручную<br/>* **delete_backup** —
|
||||
удаление бэкапов<br/>* **rollback** — восстановление кластера из бэкапа<br/><br/>### Доступные операции с пользователями<br/><br/>* **create_user** — создание пользователя<br/>* **modify_user**
|
||||
— модификация пользователя<br/>* **delete_user** — удаление пользователя<br/><br/>---<br/><br/>## 2. Параметры создания базы данных<br/><br/>Эти параметры необходимо указать при создании базы данных.<br/><br/>###
|
||||
Платформа для развертывания<br/><br/>Среда, в которой будет развёрнут кластер. Выбирается из предложенного списка.<br/><br/>### Количество узлов<br/><br/>Количество реплик в кластере MongoDB.<br/>Оптимально
|
||||
выбирать нечётное значение, так как это обеспечивает корректный процесс выбора ведущего узла и сохраняет работоспособность базы данных даже при отказе одной из нод.<br/><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/>Объём диска для хранения данных в гигабайтах.<br/>Пример: `20`<br/><br/>### Расписание
|
||||
резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько
|
||||
последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример: `7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>>
|
||||
созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>> их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя
|
||||
ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых
|
||||
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/>Объём диска для хранения данных указывается в гигабайтах. Его можно увеличить при
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для
|
||||
доступа к master-узлу.<br/>Укажите `no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей,
|
||||
с которых разрешён доступ к кластеру.<br/>Если оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 3. Параметры создания пользователя<br/><br/>###
|
||||
Имя пользователя<br/><br/>Указывается имя пользователя (любой регистр).<br/>Пример: `readApp`<br/><br/>### Имя базы данных<br/><br/>Название базы, в которой будет создан пользователь.<br/>Если база отсутствует,
|
||||
она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>### Имя роли<br/><br/>* **read** — доступ только на чтение<br/>* **readWrite** — чтение и изменение данных<br/>* **dbOwner** — полный
|
||||
контроль над базой данных<br/><br/>---<br/><br/>## 4. Параметры модификации пользователя<br/><br/>### Имя пользователя<br/><br/>Необходимо выбрать существующего пользователя.<br/>Если список пуст, требуется
|
||||
предварительно создать пользователя.<br/><br/>### Имя базы данных<br/><br/>База данных, к которой относится пользователь.<br/>Если база отсутствует, она будет создана автоматически.<br/>Пример: `Apps_9392`<br/><br/>###
|
||||
Имя роли<br/><br/>* **read**<br/>* **readWrite**<br/>* **dbOwner**<br/><br/>---<br/><br/>## 5. Параметры удаления пользователя<br/><br/>### Имя пользователя<br/><br/>Выберите пользователя из списка для
|
||||
удаления.<br/><br/>---<br/><br/>## 6. Выходные параметры<br/><br/>После успешного развертывания базы данных платформа возвращает ключевые параметры.<br/><br/>### internalConnect<br/><br/>Внутренний эндпоинт
|
||||
для подключения к кластеру из сервисов, работающих в той же сети.<br/>Используется для внутренних интеграций и системных сервисов.<br/><br/>### externalConnect<br/><br/>Внешний FQDN для подключения к
|
||||
кластеру извне.<br/>Порт подключения — **27017**.<br/><br/>---<br/><br/>## 7. Пример подключения<br/><br/>Перед подключением необходимо установить **mongosh**.<br/><br/>Команда подключения к базе данных:<br/><br/>```<br/>mongosh
|
||||
"mongodb://<username>:<password>@<endpoint_db>:27017/<dbName>"<br/>```<br/><br/>Где:<br/><br/>* `<username>` — имя пользователя<br/>* `<password>` — пароль<br/>* `<endpoint_db>` — internalConnect или
|
||||
externalConnect<br/>* `<dbName>` — имя базы данных<br/><br/>## 8. Дополнительная информация<br/><br/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину
|
||||
и паролю.'
|
||||
необходимости, однако уменьшить уже выделенный размер невозможно.<br/>Пример: `20`<br/><br/>### Расписание резервного копирования<br/><br/>Cron-выражение (5 полей), по которому автоматически создаются
|
||||
резервные копии.<br/>Пример: `0 0 * * *` (каждый день в 00:00)<br/><br/>### Хранить последних бэкапов<br/><br/>Сколько последних успешных резервных копий хранить — более старые удаляются автоматически.<br/>Пример:
|
||||
`7`<br/><br/>> **Примечание:** ротация применяется только к бэкапам, созданным по расписанию. Бэкапы,<br/>> созданные вручную операцией `create_backup`, в неё не входят и не удаляются автоматически —<br/>>
|
||||
их нужно убирать вручную через `delete_backup`.<br/><br/>### Имя ipSpace для публикации внешнего IP<br/><br/>Имя ipSpace, через который будет выделен внешний IP для доступа к master-узлу.<br/>Укажите
|
||||
`no-needed`, если внешний адрес не требуется.<br/>Пример: `internet-no-antiddos-v1`<br/><br/>### Список разрешённых IP-адресов<br/><br/>Список IP-адресов или подсетей, с которых разрешён доступ к кластеру.<br/>Если
|
||||
оставить пустым — доступ открыт для всех источников.<br/>Пример: `["10.0.0.0/24", "192.168.1.10/32"]`<br/><br/>---<br/><br/>## 4. Параметры удаления базы данных<br/><br/>### Удалить бакет S3 с бэкапами<br/><br/>Булевый
|
||||
параметр.<br/><br/>- `true` — вместе с кластером также будут удалены все резервные копии и бакет S3.<br/>- `false` — бакет S3 и хранящиеся в нём бэкапы сохраняются после удаления кластера.<br/><br/>По
|
||||
умолчанию: `false`.<br/><br/>---<br/><br/>## 5. Параметры создания бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя резервной копии, которое будет присвоено объекту бэкапа в кластере.<br/>Должно соответствовать
|
||||
требованиям Kubernetes к именам объектов (строчные буквы, цифры, дефисы).<br/>Пример: `manual-20260904`<br/><br/>> **Примечание:** такой бэкап не участвует в автоматической ротации по параметру<br/>>
|
||||
"Хранить последних бэкапов" (она применяется только к бэкапам по расписанию) и не удаляется<br/>> сам — при необходимости убрать его нужно вручную операцией `delete_backup`.<br/><br/>---<br/><br/>## 6.
|
||||
Параметры восстановления из бэкапа<br/><br/>### Имя бэкапа<br/><br/>Имя существующей резервной копии кластера, из которой будет выполнено восстановление. Указывается один из бэкапов в состоянии `ready`
|
||||
(созданных автоматически по расписанию или вручную через операцию create_backup).<br/><br/>---<br/><br/>## 7. Параметры удаления бэкапов<br/><br/>### Имена бэкапов<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:
|
||||
suspendOnDestroyDefault: true
|
||||
adoptExistingOnCreateDefault: false
|
||||
@@ -39,6 +70,10 @@ operations:
|
||||
operation: create
|
||||
kind: instance
|
||||
action: create
|
||||
- svcOperationId: 411
|
||||
operation: create_backup
|
||||
kind: subresource
|
||||
action: create
|
||||
- svcOperationId: 198
|
||||
operation: create_user
|
||||
kind: subresource
|
||||
@@ -47,6 +82,10 @@ operations:
|
||||
operation: delete
|
||||
kind: instance
|
||||
action: delete
|
||||
- svcOperationId: 414
|
||||
operation: delete_backup
|
||||
kind: subresource
|
||||
action: delete
|
||||
- svcOperationId: 199
|
||||
operation: delete_user
|
||||
kind: subresource
|
||||
@@ -67,11 +106,16 @@ operations:
|
||||
operation: resume
|
||||
kind: instance
|
||||
action: resume
|
||||
- svcOperationId: 413
|
||||
operation: rollback
|
||||
kind: action
|
||||
action: rollback
|
||||
- svcOperationId: 194
|
||||
operation: suspend
|
||||
kind: instance
|
||||
action: suspend
|
||||
stateOut:
|
||||
backups: {}
|
||||
users: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 1089
|
||||
@@ -95,6 +139,16 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
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'
|
||||
@@ -110,16 +164,6 @@ cfsParams:
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1000'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
defaultValue: '1024'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1091
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
@@ -137,6 +181,49 @@ cfsParams:
|
||||
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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -156,12 +243,28 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- 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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
dataType: array
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
@@ -214,6 +317,23 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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
|
||||
svcOperationCfsParam: username
|
||||
dataType: string
|
||||
@@ -233,32 +353,51 @@ cfsParams:
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
valueList:
|
||||
- dbOwner
|
||||
- read
|
||||
- readWrite
|
||||
- dbAdmin
|
||||
- dbOwner
|
||||
- svcOperationCfsParamId: 1108
|
||||
svcOperationCfsParam: backupName
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
cfsParamsByOp:
|
||||
37:
|
||||
- 1089
|
||||
- 1090
|
||||
- 1091
|
||||
- 1102
|
||||
- 1116
|
||||
411:
|
||||
- 1109
|
||||
198:
|
||||
- 635
|
||||
- 636
|
||||
- 643
|
||||
190: []
|
||||
190:
|
||||
- 1103
|
||||
414:
|
||||
- 1111
|
||||
199:
|
||||
- 644
|
||||
201:
|
||||
- 1092
|
||||
- 1093
|
||||
- 1104
|
||||
200:
|
||||
- 640
|
||||
- 641
|
||||
- 642
|
||||
409: []
|
||||
196: []
|
||||
413:
|
||||
- 1108
|
||||
194: []
|
||||
stateParams:
|
||||
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": "[]"}'
|
||||
backupConfiguration: '{"s3Uid": "", "retain": 7, "schedule": "0 0 * * *"}'
|
||||
mongoConfiguration: '{"tls": false}'
|
||||
|
||||
@@ -49,6 +49,10 @@ operations:
|
||||
operation: modify
|
||||
kind: instance
|
||||
action: modify
|
||||
- svcOperationId: 410
|
||||
operation: reconcile
|
||||
kind: action
|
||||
action: reconcile
|
||||
- svcOperationId: 117
|
||||
operation: resume
|
||||
kind: instance
|
||||
@@ -59,116 +63,158 @@ operations:
|
||||
action: suspend
|
||||
stateOut: {}
|
||||
cfsParams:
|
||||
- svcOperationCfsParamId: 116
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataType: integer > 0
|
||||
- svcOperationCfsParamId: 1097
|
||||
svcOperationCfsParam: startupConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: '1000'
|
||||
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
|
||||
defaultValue: ''
|
||||
isModifiable: false
|
||||
dataDescriptor:
|
||||
resourceRealm:
|
||||
dataType: string
|
||||
isRequired: true
|
||||
defaultValue: k8s-4-ext-nubes-ru
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- k8s-4-ext-nubes-ru
|
||||
- svcOperationCfsParamId: 224
|
||||
svcOperationCfsParam: resourceInstances
|
||||
dataType: integer > 0
|
||||
- svcOperationCfsParamId: 1098
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
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'
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 225
|
||||
svcOperationCfsParam: needExternalAddressMaster
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: 'false'
|
||||
isModifiable: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 543
|
||||
svcOperationCfsParam: ipSpaceNameMaster
|
||||
- '1'
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: '5'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1099
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
isRequired: false
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: '[]'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1113
|
||||
svcOperationCfsParam: mqConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 304
|
||||
svcOperationCfsParam: resourceCPU
|
||||
dataDescriptor:
|
||||
maxMessageSize:
|
||||
dataType: integer > 0
|
||||
defaultValue: '4'
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1100
|
||||
svcOperationCfsParam: clusterConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 305
|
||||
svcOperationCfsParam: resourceMemory
|
||||
dataDescriptor:
|
||||
cpu:
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 306
|
||||
svcOperationCfsParam: resourceDisk
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
memory:
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 307
|
||||
svcOperationCfsParam: resourceInstances
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
replicas:
|
||||
dataType: integer > 0
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
- svcOperationCfsParamId: 308
|
||||
svcOperationCfsParam: needExternalAddressMaster
|
||||
dataType: boolean
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
isModifiable: false
|
||||
valueList:
|
||||
- 'false'
|
||||
- 'true'
|
||||
- svcOperationCfsParamId: 545
|
||||
svcOperationCfsParam: ipSpaceNameMaster
|
||||
dataType: string
|
||||
isRequired: false
|
||||
- '1'
|
||||
- '3'
|
||||
- '5'
|
||||
- '7'
|
||||
disk:
|
||||
dataType: integer > 0
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
- svcOperationCfsParamId: 1101
|
||||
svcOperationCfsParam: accessConfiguration
|
||||
dataType: map-fixed
|
||||
isRequired: true
|
||||
defaultValue: ''
|
||||
isModifiable: true
|
||||
dataDescriptor:
|
||||
masterIpSpace:
|
||||
dataType: string
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
isModifiable: false
|
||||
masterAccessList:
|
||||
dataType: json
|
||||
defaultValue: ''
|
||||
isRequired: true
|
||||
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:
|
||||
38:
|
||||
- 116
|
||||
- 117
|
||||
- 118
|
||||
- 119
|
||||
- 224
|
||||
- 225
|
||||
- 543
|
||||
- 1097
|
||||
- 1098
|
||||
- 1099
|
||||
- 1113
|
||||
39: []
|
||||
106:
|
||||
- 304
|
||||
- 305
|
||||
- 306
|
||||
- 307
|
||||
- 308
|
||||
- 545
|
||||
- 1100
|
||||
- 1101
|
||||
- 1114
|
||||
410: []
|
||||
117: []
|
||||
116: []
|
||||
stateParams:
|
||||
resourceCPU: '1000'
|
||||
resourceMemory: '1124'
|
||||
resourceDisk: '30'
|
||||
resourceRealm: k8s-4-ext-nubes-ru
|
||||
resourceInstances: '1'
|
||||
needExternalAddressMaster: 'false'
|
||||
ipSpaceNameMaster: ''
|
||||
startupConfiguration: '{"resourceRealm": "k8s-4-ext-nubes-ru"}'
|
||||
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||
mqConfiguration: '{"maxMessageSize": 4}'
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user