feat: from_stands.py — конвертер STANDS YAML → polygon configs (37 сервисов)
This commit is contained in:
@@ -18,6 +18,3 @@ Thumbs.db
|
|||||||
# Temp
|
# Temp
|
||||||
*.bak
|
*.bak
|
||||||
*.orig
|
*.orig
|
||||||
|
|
||||||
# Services (генерируются from_stands.py)
|
|
||||||
services/*.yaml
|
|
||||||
|
|||||||
@@ -0,0 +1,346 @@
|
|||||||
|
"""
|
||||||
|
from_stands.py — конвертер STANDS YAML → polygon service config.
|
||||||
|
|
||||||
|
Читает YAML из STANDS_DIR, генерирует конфиги в SERVICES_DIR.
|
||||||
|
Запуск: python from_stands.py <STANDS_DIR> [SERVICES_DIR]
|
||||||
|
"""
|
||||||
|
|
||||||
|
import html
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
# Расширение для YAML-файлов (может быть .yaml или .yml)
|
||||||
|
YAML_EXTS = (".yaml", ".yml")
|
||||||
|
|
||||||
|
# Поля которые переносятся 1:1 из STANDS YAML
|
||||||
|
TOP_LEVEL_KEYS = (
|
||||||
|
"name", "service_id", "service_display_name",
|
||||||
|
"service_short_name", "service_man",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Стандартные 6 операций инстанса
|
||||||
|
INSTANCE_OPERATIONS = frozenset({
|
||||||
|
"create", "modify", "delete", "suspend", "resume", "redeploy",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Утилиты
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def _ue(s):
|
||||||
|
"""html.unescape строки."""
|
||||||
|
if isinstance(s, str):
|
||||||
|
return html.unescape(s)
|
||||||
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
def _pluralize(word):
|
||||||
|
"""Простейшая плюрализация: user→users, database→databases."""
|
||||||
|
if word.endswith("s"):
|
||||||
|
return word
|
||||||
|
if word.endswith("y") and word[-2] not in "aeiou":
|
||||||
|
return word[:-1] + "ies"
|
||||||
|
return word + "s"
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Конвертация параметров
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def _convert_param(p, is_modifiable_default=False):
|
||||||
|
"""Конвертирует один параметр STANDS → polygon cfsParam.
|
||||||
|
|
||||||
|
Возвращает dict с полями:
|
||||||
|
svcOperationCfsParamId, svcOperationCfsParam, dataType,
|
||||||
|
isRequired, defaultValue, valueList, isModifiable,
|
||||||
|
dataDescriptor (если есть sub_params)
|
||||||
|
"""
|
||||||
|
dt = _ue(p.get("data_type", "string"))
|
||||||
|
required = p.get("required", False)
|
||||||
|
default = _ue(str(p.get("default", "")))
|
||||||
|
is_modifiable = p.get("is_modifiable", is_modifiable_default)
|
||||||
|
|
||||||
|
out = {
|
||||||
|
"svcOperationCfsParamId": p["id"],
|
||||||
|
"svcOperationCfsParam": p["code"],
|
||||||
|
"dataType": dt,
|
||||||
|
"isRequired": required,
|
||||||
|
"defaultValue": default,
|
||||||
|
"isModifiable": is_modifiable,
|
||||||
|
}
|
||||||
|
|
||||||
|
# valueList — может быть None, тогда не включаем (input, не select)
|
||||||
|
vl = p.get("value_list")
|
||||||
|
if vl is not None:
|
||||||
|
out["valueList"] = [_ue(str(v)) for v in vl]
|
||||||
|
|
||||||
|
# refSvcId
|
||||||
|
ref = p.get("refSvcId")
|
||||||
|
if ref is not None:
|
||||||
|
out["refSvcId"] = ref
|
||||||
|
|
||||||
|
# dataDescriptor из sub_params
|
||||||
|
sub = p.get("sub_params")
|
||||||
|
if sub:
|
||||||
|
out["dataDescriptor"] = _convert_sub_params(sub)
|
||||||
|
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
def _convert_sub_params(sub_params):
|
||||||
|
"""Конвертирует sub_params → dataDescriptor.
|
||||||
|
|
||||||
|
Формат выхода:
|
||||||
|
{code: {dataType, defaultValue, isRequired, valueList?, isModifiable?}}
|
||||||
|
"""
|
||||||
|
dd = {}
|
||||||
|
for sp in sub_params:
|
||||||
|
code = sp["code"]
|
||||||
|
dt = _ue(sp.get("data_type", "string"))
|
||||||
|
default = _ue(str(sp.get("default", "")))
|
||||||
|
|
||||||
|
entry = {
|
||||||
|
"dataType": dt,
|
||||||
|
"defaultValue": default,
|
||||||
|
"isRequired": sp.get("required", False),
|
||||||
|
"isModifiable": sp.get("is_modifiable", False),
|
||||||
|
}
|
||||||
|
|
||||||
|
vl = sp.get("value_list")
|
||||||
|
if vl is not None:
|
||||||
|
entry["valueList"] = [_ue(str(v)) for v in vl]
|
||||||
|
|
||||||
|
# Рекурсия: sub_params внутри sub_params (редко, но возможно)
|
||||||
|
subsub = sp.get("sub_params")
|
||||||
|
if subsub:
|
||||||
|
entry["dataDescriptor"] = _convert_sub_params(subsub)
|
||||||
|
|
||||||
|
dd[code] = entry
|
||||||
|
|
||||||
|
return dd
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Конвертация операций
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def _convert_operations(operations):
|
||||||
|
"""Конвертирует список операций STANDS → polygon.
|
||||||
|
|
||||||
|
Возвращает (ops_list, state_out_template):
|
||||||
|
ops_list — список operation-диктов
|
||||||
|
state_out_template — {plural: {}} для subresource create-операций
|
||||||
|
"""
|
||||||
|
ops_list = []
|
||||||
|
state_out_template = {}
|
||||||
|
|
||||||
|
for op in operations:
|
||||||
|
op_id = op["id"]
|
||||||
|
op_name = op.get("name", "")
|
||||||
|
op_kind = op.get("kind", "instance")
|
||||||
|
op_action = op.get("action", "")
|
||||||
|
|
||||||
|
ops_list.append({
|
||||||
|
"svcOperationId": op_id,
|
||||||
|
"operation": op_name,
|
||||||
|
"kind": op_kind,
|
||||||
|
"action": op_action,
|
||||||
|
})
|
||||||
|
|
||||||
|
# subresource create → добавить в state_out_template
|
||||||
|
if op_kind == "subresource" and op_action == "create":
|
||||||
|
# subresource имя из operation name: create_user → user
|
||||||
|
sub_name = op_name.replace("create_", "")
|
||||||
|
plural = _pluralize(sub_name)
|
||||||
|
state_out_template[plural] = {}
|
||||||
|
|
||||||
|
return ops_list, state_out_template
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Конвертация одного сервиса
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def convert_service(stands_yaml_path):
|
||||||
|
"""Читает STANDS YAML, возвращает polygon-конфиг как dict."""
|
||||||
|
with open(stands_yaml_path, "r", encoding="utf-8") as f:
|
||||||
|
raw = yaml.safe_load(f)
|
||||||
|
|
||||||
|
if not raw:
|
||||||
|
return None
|
||||||
|
|
||||||
|
out = {}
|
||||||
|
|
||||||
|
# 1. Поля верхнего уровня (1:1)
|
||||||
|
for key in TOP_LEVEL_KEYS:
|
||||||
|
val = raw.get(key)
|
||||||
|
if val is not None:
|
||||||
|
if isinstance(val, str):
|
||||||
|
val = _ue(val)
|
||||||
|
out[key] = val
|
||||||
|
|
||||||
|
# 2. lifecycle
|
||||||
|
lc = raw.get("lifecycle", {})
|
||||||
|
if lc:
|
||||||
|
out["lifecycle"] = {
|
||||||
|
"suspendOnDestroyDefault": lc.get("suspend_on_destroy_default", False),
|
||||||
|
"adoptExistingOnCreateDefault": lc.get("adopt_existing_on_create_default", False),
|
||||||
|
}
|
||||||
|
|
||||||
|
# 3. Операции
|
||||||
|
operations = raw.get("operations", [])
|
||||||
|
ops_list, state_out_template = _convert_operations(operations)
|
||||||
|
out["operations"] = ops_list
|
||||||
|
out["stateOut"] = state_out_template
|
||||||
|
|
||||||
|
# 4. cfsParams — собираем из ВСЕХ операций, dedup по svcOperationCfsParamId
|
||||||
|
cfs_params = {}
|
||||||
|
cfs_params_by_op = {} # op_id → [param, ...]
|
||||||
|
for op in operations:
|
||||||
|
op_id = op["id"]
|
||||||
|
params_for_op = []
|
||||||
|
for p in op.get("params", []):
|
||||||
|
pid = p["id"]
|
||||||
|
if pid not in cfs_params:
|
||||||
|
is_mod = p.get("is_modifiable", op.get("action") != "create")
|
||||||
|
cfs_params[pid] = _convert_param(p, is_modifiable_default=is_mod)
|
||||||
|
params_for_op.append(pid)
|
||||||
|
cfs_params_by_op[op_id] = params_for_op
|
||||||
|
|
||||||
|
out["cfsParams"] = list(cfs_params.values())
|
||||||
|
out["cfsParamsByOp"] = cfs_params_by_op
|
||||||
|
|
||||||
|
# 5. stateParams — дефолты из create-операции (включая map-fixed)
|
||||||
|
state_params = {}
|
||||||
|
create_op = None
|
||||||
|
for op in operations:
|
||||||
|
if op.get("action") == "create" and op.get("kind") == "instance":
|
||||||
|
create_op = op
|
||||||
|
break
|
||||||
|
|
||||||
|
if create_op:
|
||||||
|
for p in create_op.get("params", []):
|
||||||
|
code = p["code"]
|
||||||
|
default = _ue(str(p.get("default", "")))
|
||||||
|
dt = _ue(p.get("data_type", "string"))
|
||||||
|
sub = p.get("sub_params")
|
||||||
|
|
||||||
|
if sub:
|
||||||
|
# map-fixed / map с sub_params — генерируем JSON из defaults
|
||||||
|
state_params[code] = _build_default_json(sub)
|
||||||
|
else:
|
||||||
|
state_params[code] = default
|
||||||
|
|
||||||
|
out["stateParams"] = state_params
|
||||||
|
|
||||||
|
return out
|
||||||
|
|
||||||
|
|
||||||
|
def _build_default_json(sub_params):
|
||||||
|
"""Строит JSON-строку из defaults sub_params."""
|
||||||
|
parts = []
|
||||||
|
for sp in sub_params:
|
||||||
|
code = sp["code"]
|
||||||
|
default = _ue(str(sp.get("default", "")))
|
||||||
|
dt = _ue(sp.get("data_type", "string"))
|
||||||
|
|
||||||
|
subsub = sp.get("sub_params")
|
||||||
|
if subsub:
|
||||||
|
val = _build_default_json(subsub)
|
||||||
|
elif "bool" in dt:
|
||||||
|
val = default.lower() if default.lower() in ("true", "false") else "false"
|
||||||
|
elif "int" in dt or "integer" in dt:
|
||||||
|
try:
|
||||||
|
int(default)
|
||||||
|
val = default
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
val = "0"
|
||||||
|
else:
|
||||||
|
# string — quoted
|
||||||
|
escaped = default.replace('"', '\\"')
|
||||||
|
val = f'"{escaped}"'
|
||||||
|
|
||||||
|
parts.append(f'"{code}": {val}')
|
||||||
|
|
||||||
|
return "{" + ", ".join(parts) + "}"
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Точка входа
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def main():
|
||||||
|
if len(sys.argv) < 2:
|
||||||
|
print("Usage: python from_stands.py <STANDS_DIR> [SERVICES_DIR]")
|
||||||
|
print(" STANDS_DIR — путь к STANDS YAML (напр. ../STANDS/test/resources_yaml)")
|
||||||
|
print(" SERVICES_DIR — путь для выхода (по умолчанию ./services)")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
stands_dir = sys.argv[1]
|
||||||
|
services_dir = sys.argv[2] if len(sys.argv) > 2 else os.path.join(os.path.dirname(__file__) or ".", "services")
|
||||||
|
|
||||||
|
if not os.path.isdir(stands_dir):
|
||||||
|
print(f"ERROR: STANDS_DIR not found: {stands_dir}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
os.makedirs(services_dir, exist_ok=True)
|
||||||
|
|
||||||
|
# Найти все YAML-файлы
|
||||||
|
yaml_files = sorted(
|
||||||
|
f for f in os.listdir(stands_dir)
|
||||||
|
if f.lower().endswith(YAML_EXTS)
|
||||||
|
)
|
||||||
|
|
||||||
|
if not yaml_files:
|
||||||
|
print(f"No YAML files found in {stands_dir}")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
print(f"Found {len(yaml_files)} YAML files in {stands_dir}")
|
||||||
|
print(f"Output: {services_dir}/")
|
||||||
|
print()
|
||||||
|
|
||||||
|
converted = 0
|
||||||
|
errors = 0
|
||||||
|
|
||||||
|
for fname in yaml_files:
|
||||||
|
src = os.path.join(stands_dir, fname)
|
||||||
|
dst = os.path.join(services_dir, fname)
|
||||||
|
|
||||||
|
try:
|
||||||
|
cfg = convert_service(src)
|
||||||
|
if cfg is None:
|
||||||
|
print(f" SKIP {fname}: empty YAML")
|
||||||
|
continue
|
||||||
|
|
||||||
|
with open(dst, "w", encoding="utf-8") as f:
|
||||||
|
yaml.dump(
|
||||||
|
cfg, f,
|
||||||
|
allow_unicode=True,
|
||||||
|
default_flow_style=False,
|
||||||
|
sort_keys=False,
|
||||||
|
width=200,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Быстрая проверка результата
|
||||||
|
svc_name = cfg.get("name", "?")
|
||||||
|
ops_count = len(cfg.get("operations", []))
|
||||||
|
params_count = len(cfg.get("cfsParams", []))
|
||||||
|
state_out = list(cfg.get("stateOut", {}).keys())
|
||||||
|
subresources = " +".join(state_out) if state_out else "—"
|
||||||
|
|
||||||
|
print(f" OK {fname:40s} svc={svc_name:20s} ops={ops_count} params={params_count} stateOut={subresources}")
|
||||||
|
converted += 1
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f" FAIL {fname}: {e}")
|
||||||
|
errors += 1
|
||||||
|
|
||||||
|
print()
|
||||||
|
print(f"Done: {converted} converted, {errors} errors")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,245 @@
|
|||||||
|
name: zones_v2
|
||||||
|
service_id: 109
|
||||||
|
service_display_name: Управление DNS
|
||||||
|
service_short_name: zonesV2
|
||||||
|
service_man: '# Управление DNS<br/><br/>## Что делает сервис<br/><br/>Управляет DNS-зоной вашего домена в инфраструктуре `ngcloud.ru`.<br/>Сервис помогает:<br/><br/>- создать DNS-зону;<br/>- поддерживать
|
||||||
|
записи в зоне (добавлять, удалять, массово менять);<br/>- удалять зону;<br/>- синхронизировать данные зоны с фактическим состоянием на DNS-серверах.<br/><br/>Сервис работает с авторитетными DNS-серверами
|
||||||
|
зоны:<br/><br/>- `ns3.ngcloud.ru`<br/> - `185.247.187.83`<br/> - `2a10:aa80:0:5::3`<br/>- `ns4.ngcloud.ru`<br/> - `81.22.46.43`<br/> - `2a10:aa80:0:6::3`<br/><br/>## Очень важно: что сделать у регистратора
|
||||||
|
домена<br/><br/>Чтобы зона действительно начала обслуживаться, **нужно делегировать домен** у регистратора на авторитетные DNS-серверы:<br/><br/>- `ns3.ngcloud.ru`<br/>- `ns4.ngcloud.ru`<br/><br/>В панели
|
||||||
|
регистратора нужно заменить NS-серверы домена на значения выше.<br/>Без этого записи в зоне могут быть созданы, но интернет не будет использовать их для вашего домена.<br/><br/>## Проверка после настройки<br/><br/>Проверить
|
||||||
|
ответы от серверов зоны:<br/><br/>```bash<br/>dig <ваш_домен> @ns3.ngcloud.ru<br/>dig <ваш_домен> @ns4.ngcloud.ru<br/>```<br/><br/>Проверить, что делегирование у регистратора применилось:<br/><br/>```bash<br/>dig
|
||||||
|
<ваш_домен> NS<br/>```<br/><br/>В ответе должны быть `ns3.ngcloud.ru` и `ns4.ngcloud.ru`.<br/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 254
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 260
|
||||||
|
operation: create_record
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 255
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 261
|
||||||
|
operation: delete_record
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 256
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 262
|
||||||
|
operation: modify_record
|
||||||
|
kind: subresource
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 259
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
stateOut:
|
||||||
|
records: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 761
|
||||||
|
svcOperationCfsParam: zoneName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 762
|
||||||
|
svcOperationCfsParam: zoneKind
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: NATIVE
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- NATIVE
|
||||||
|
- SLAVE
|
||||||
|
- svcOperationCfsParamId: 763
|
||||||
|
svcOperationCfsParam: zoneMastersForSlave
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 764
|
||||||
|
svcOperationCfsParam: zoneRefresh
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '86400'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 765
|
||||||
|
svcOperationCfsParam: zoneRetry
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '7200'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 766
|
||||||
|
svcOperationCfsParam: zoneExpire
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '3600000'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 767
|
||||||
|
svcOperationCfsParam: zoneTTL
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '86400'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 768
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: powerdns
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- powerdns
|
||||||
|
- svcOperationCfsParamId: 777
|
||||||
|
svcOperationCfsParam: recordName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 778
|
||||||
|
svcOperationCfsParam: recordTTL
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '3600'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 779
|
||||||
|
svcOperationCfsParam: recordType
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: A
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- A
|
||||||
|
- AAAA
|
||||||
|
- CNAME
|
||||||
|
- MX
|
||||||
|
- SRV
|
||||||
|
- TXT
|
||||||
|
- LUA
|
||||||
|
- NS
|
||||||
|
- SSHFP
|
||||||
|
- svcOperationCfsParamId: 780
|
||||||
|
svcOperationCfsParam: recordInput
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 781
|
||||||
|
svcOperationCfsParam: recordName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 769
|
||||||
|
svcOperationCfsParam: records
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- A
|
||||||
|
- AAAA
|
||||||
|
- CNAME
|
||||||
|
- MX
|
||||||
|
- SRV
|
||||||
|
- TXT
|
||||||
|
- LUA
|
||||||
|
- NS
|
||||||
|
- SSHFP
|
||||||
|
recordInput:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 783
|
||||||
|
svcOperationCfsParam: recordName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 784
|
||||||
|
svcOperationCfsParam: recordTTL
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 785
|
||||||
|
svcOperationCfsParam: recordType
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- A
|
||||||
|
- AAAA
|
||||||
|
- CNAME
|
||||||
|
- MX
|
||||||
|
- SRV
|
||||||
|
- TXT
|
||||||
|
- LUA
|
||||||
|
- NS
|
||||||
|
- SSHFP
|
||||||
|
- svcOperationCfsParamId: 786
|
||||||
|
svcOperationCfsParam: recordInput
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
254:
|
||||||
|
- 761
|
||||||
|
- 762
|
||||||
|
- 763
|
||||||
|
- 764
|
||||||
|
- 765
|
||||||
|
- 766
|
||||||
|
- 767
|
||||||
|
- 768
|
||||||
|
260:
|
||||||
|
- 777
|
||||||
|
- 778
|
||||||
|
- 779
|
||||||
|
- 780
|
||||||
|
255: []
|
||||||
|
261:
|
||||||
|
- 781
|
||||||
|
256:
|
||||||
|
- 769
|
||||||
|
262:
|
||||||
|
- 783
|
||||||
|
- 784
|
||||||
|
- 785
|
||||||
|
- 786
|
||||||
|
259: []
|
||||||
|
stateParams:
|
||||||
|
zoneName: ''
|
||||||
|
zoneKind: NATIVE
|
||||||
|
zoneMastersForSlave: ''
|
||||||
|
zoneRefresh: '86400'
|
||||||
|
zoneRetry: '7200'
|
||||||
|
zoneExpire: '3600000'
|
||||||
|
zoneTTL: '86400'
|
||||||
|
resourceRealm: powerdns
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
name: dnsrecord
|
||||||
|
service_id: 111
|
||||||
|
service_display_name: DNS запись
|
||||||
|
service_short_name: dnsrecord
|
||||||
|
service_man: Необходима DNS зона, в которой будет создана DNS запись.<br/>Выберите <br/>* Зону в которой будет создана запись<br/>* Тип записи<br/>* Имя записи<br/>* Значение записи
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 45
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 46
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 90
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 408
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 75
|
||||||
|
svcOperationCfsParam: zoneUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 76
|
||||||
|
svcOperationCfsParam: recordType
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- A
|
||||||
|
- AAAA
|
||||||
|
- CNAME
|
||||||
|
- MX
|
||||||
|
- PTR
|
||||||
|
- SOA
|
||||||
|
- SRV
|
||||||
|
- TXT
|
||||||
|
- LUA
|
||||||
|
- NS
|
||||||
|
- SSHFP
|
||||||
|
- svcOperationCfsParamId: 77
|
||||||
|
svcOperationCfsParam: recordName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 78
|
||||||
|
svcOperationCfsParam: recordInput
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 450
|
||||||
|
svcOperationCfsParam: recordTTL
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '3600'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 256
|
||||||
|
svcOperationCfsParam: recordInput
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
45:
|
||||||
|
- 75
|
||||||
|
- 76
|
||||||
|
- 77
|
||||||
|
- 78
|
||||||
|
- 450
|
||||||
|
46: []
|
||||||
|
90:
|
||||||
|
- 256
|
||||||
|
408: []
|
||||||
|
stateParams:
|
||||||
|
zoneUid: ''
|
||||||
|
recordType: ''
|
||||||
|
recordName: ''
|
||||||
|
recordInput: ''
|
||||||
|
recordTTL: '3600'
|
||||||
@@ -0,0 +1,408 @@
|
|||||||
|
name: mariadb
|
||||||
|
service_id: 115
|
||||||
|
service_display_name: Mariadb
|
||||||
|
service_short_name: mariadb
|
||||||
|
service_man: 'Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.<br/>Автоматическое резервное копирование, ручное восстановление.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 138
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 242
|
||||||
|
operation: create_database
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 243
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 139
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 248
|
||||||
|
operation: delete_database
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 247
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 142
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 287
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 141
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 140
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
databases: {}
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 877
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 878
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
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
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- svcOperationCfsParamId: 879
|
||||||
|
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: 880
|
||||||
|
svcOperationCfsParam: mariadbConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: 9.4.0
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 8.4.0
|
||||||
|
- 9.4.0
|
||||||
|
- svcOperationCfsParamId: 881
|
||||||
|
svcOperationCfsParam: backupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
s3Uid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
retain:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '720'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
schedule:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: 0 0 * * *
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 882
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
enabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: '0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '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: 734
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: db-aah92zcm
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 735
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: usero6y8ruyp
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 736
|
||||||
|
svcOperationCfsParam: password
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: kgocowba
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 737
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
dbname:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 738
|
||||||
|
svcOperationCfsParam: accessHosts
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '%'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 456
|
||||||
|
svcOperationCfsParam: deleteS3Bucket
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'true'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 745
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 744
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 883
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 884
|
||||||
|
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: 885
|
||||||
|
svcOperationCfsParam: mariadbConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
enabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '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'
|
||||||
|
cfsParamsByOp:
|
||||||
|
138:
|
||||||
|
- 877
|
||||||
|
- 878
|
||||||
|
- 879
|
||||||
|
- 880
|
||||||
|
- 881
|
||||||
|
- 882
|
||||||
|
242:
|
||||||
|
- 734
|
||||||
|
243:
|
||||||
|
- 735
|
||||||
|
- 736
|
||||||
|
- 737
|
||||||
|
- 738
|
||||||
|
139:
|
||||||
|
- 456
|
||||||
|
248:
|
||||||
|
- 745
|
||||||
|
247:
|
||||||
|
- 744
|
||||||
|
142:
|
||||||
|
- 883
|
||||||
|
- 884
|
||||||
|
- 885
|
||||||
|
- 886
|
||||||
|
- 887
|
||||||
|
287: []
|
||||||
|
141: []
|
||||||
|
140: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"disk": 10, "cpu": 500, "memory": 512, "replicas": 1}'
|
||||||
|
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||||
|
mariadbConfiguration: '{"version": "9.4.0"}'
|
||||||
|
backupConfiguration: '{"s3Uid": "", "retain": 720, "schedule": "0 0 * * *"}'
|
||||||
|
autoscaleConfiguration: '{"enabled": false, "schedule": 0, "quota": 100, "percent": 10}'
|
||||||
@@ -0,0 +1,349 @@
|
|||||||
|
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/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 148
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 165
|
||||||
|
operation: create_topic
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 168
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 149
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 167
|
||||||
|
operation: delete_topic
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 170
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 162
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 166
|
||||||
|
operation: modify_topic
|
||||||
|
kind: subresource
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 169
|
||||||
|
operation: modify_user
|
||||||
|
kind: subresource
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 161
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 160
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
topics: {}
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1084
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1085
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2000'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2048'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1086
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
allocationExternal:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 523
|
||||||
|
svcOperationCfsParam: nameTopic
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 524
|
||||||
|
svcOperationCfsParam: partitions
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 525
|
||||||
|
svcOperationCfsParam: replicas
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 530
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 531
|
||||||
|
svcOperationCfsParam: nameTopic
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 532
|
||||||
|
svcOperationCfsParam: operations
|
||||||
|
dataType: array
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- Create
|
||||||
|
- Describe
|
||||||
|
- Read
|
||||||
|
- Write
|
||||||
|
- svcOperationCfsParamId: 533
|
||||||
|
svcOperationCfsParam: group
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '*'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 534
|
||||||
|
svcOperationCfsParam: accessHosts
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '*'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 529
|
||||||
|
svcOperationCfsParam: nameTopic
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 540
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1087
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2000'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2048'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1088
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
allocationExternal:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 526
|
||||||
|
svcOperationCfsParam: nameTopic
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 527
|
||||||
|
svcOperationCfsParam: partitions
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 528
|
||||||
|
svcOperationCfsParam: replicas
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 535
|
||||||
|
svcOperationCfsParam: nameTopic
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '*'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 536
|
||||||
|
svcOperationCfsParam: operations
|
||||||
|
dataType: array
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- Create
|
||||||
|
- Describe
|
||||||
|
- Read
|
||||||
|
- Write
|
||||||
|
- svcOperationCfsParamId: 537
|
||||||
|
svcOperationCfsParam: group
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '*'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 538
|
||||||
|
svcOperationCfsParam: accessHosts
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '*'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 539
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
148:
|
||||||
|
- 1084
|
||||||
|
- 1085
|
||||||
|
- 1086
|
||||||
|
165:
|
||||||
|
- 523
|
||||||
|
- 524
|
||||||
|
- 525
|
||||||
|
168:
|
||||||
|
- 530
|
||||||
|
- 531
|
||||||
|
- 532
|
||||||
|
- 533
|
||||||
|
- 534
|
||||||
|
149: []
|
||||||
|
167:
|
||||||
|
- 529
|
||||||
|
170:
|
||||||
|
- 540
|
||||||
|
162:
|
||||||
|
- 1087
|
||||||
|
- 1088
|
||||||
|
166:
|
||||||
|
- 526
|
||||||
|
- 527
|
||||||
|
- 528
|
||||||
|
169:
|
||||||
|
- 535
|
||||||
|
- 536
|
||||||
|
- 537
|
||||||
|
- 538
|
||||||
|
- 539
|
||||||
|
161: []
|
||||||
|
160: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 2000, "memory": 2048, "replicas": 0, "disk": 1}'
|
||||||
|
accessConfiguration: '{"allocationExternal": false, "masterAccessList": "[]"}'
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
name: akhq
|
||||||
|
service_id: 119
|
||||||
|
service_display_name: Akhq
|
||||||
|
service_short_name: Akhq
|
||||||
|
service_man: '# Инструкция по развертыванию Apache Kafka через платформу<br/><br/>---<br/>## 1. Общая информация<br/>AKHQ — это веб-интерфейс для работы с кластерами Apache Kafka.<br/>Позволяет просматривать
|
||||||
|
топики, consumer group''ы, сообщения, ACL, схему безопасности, состояние брокеров и метаданные.<br/>Поддерживает работу с несколькими кластерами Kafka одновременно, включая внутренние и внешние (TLS)
|
||||||
|
подключения.<br/><br/>## Доступные операции<br/>- **create** — Создание ресурса AKHQ<br/>- **suspend** — Остановка ресурса<br/>- **resume** — Возобновление работы ресурса<br/>- **modify** —
|
||||||
|
Модификация настроек<br/>- **delete** — Удаление ресурса<br/><br/>---<br/>## 2. Параметры развертывания кластера<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Kafka:<br/><br/>*
|
||||||
|
**Кластер Kafka к которому нужно настроить подключение**<br/>Для использования AKHQ необходимо предварительно развернуть сервис Kafka. Пример: `kafka-external`.<br/><br/>* **Платформа для развертывания:**<br/>Платформа
|
||||||
|
для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/>Количество узлов для работы Akhq. Пример `2`<br/><br/>* **Квота
|
||||||
|
(megabyte) памяти пода:**<br/>Квота памяти пода в мегабайтах. Пример: `512`<br/><br/>* **Квота (millicore ) ядра пода:**<br/>Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`<br/><br/>* **Имя
|
||||||
|
домена:**<br/>Dns Имя по которому будет происходить обращение к сервису. Указать необходимо уникальное имя до . ( то есть если необходимо получить dns ui) Пример: `kafka-external`<br/><br/>---<br/>##
|
||||||
|
4. Выходные параметры<br/>После успешного развертывания ресурса Kafka платформа возвращает ряд параметров.<br/>Ключевым из них является:<br/><br/>**connectionUrl**<br/>Это полное доменное имя (FQDN),
|
||||||
|
по которому будет доступен интерфейс AKHQ. После развёртывания подождите несколько минут — UI станет доступен по HTTPS, как только все сервисы полностью запустятся.<br/><br/>**Учетные данные**<br/>Здесь
|
||||||
|
представлены поля для ввода логина и пароля, с помощью которых вы сможете авторизоваться в сервисе.<br/><br/>---<br/>## 5. Дополнительная информация<br/>Учётные записи, созданные для работы с AKHQ, предоставляют
|
||||||
|
доступ только для просмотра данных. Для управления Kafka, пожалуйста, используйте возможности личного кабинета.<br/>---'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 175
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 176
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 180
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 178
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 177
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 550
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 551
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '512'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 552
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '500'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 553
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 554
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 555
|
||||||
|
svcOperationCfsParam: kafkaUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 565
|
||||||
|
svcOperationCfsParam: kafkaUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
175:
|
||||||
|
- 550
|
||||||
|
- 551
|
||||||
|
- 552
|
||||||
|
- 553
|
||||||
|
- 554
|
||||||
|
- 555
|
||||||
|
176: []
|
||||||
|
180:
|
||||||
|
- 565
|
||||||
|
178: []
|
||||||
|
177: []
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: ''
|
||||||
|
resourceMemory: '512'
|
||||||
|
resourceCPU: '500'
|
||||||
|
domain: ''
|
||||||
|
resourceInstances: '1'
|
||||||
|
kafkaUid: ''
|
||||||
@@ -0,0 +1,523 @@
|
|||||||
|
name: clickhouse
|
||||||
|
service_id: 120
|
||||||
|
service_display_name: ClickHouse
|
||||||
|
service_short_name: clickhouse
|
||||||
|
service_man: '# Инструкция по управлению кластерами и пользователями ClickHouse<br/><br/>---<br/><br/>## Общая информация<br/><br/>ClickHouse — это колоночная система управления базами данных, предназначенная
|
||||||
|
для обработки аналитических запросов в реальном времени. Платформа позволяет создавать, удалять, приостанавливать и возобновлять кластеры ClickHouse, а также управлять базами данных и пользователями.<br/><br/>Кластер
|
||||||
|
создаётся через оператор Altinity (`https://github.com/Altinity/clickhouse-operator`) в ресурсной платформе типа `k8s`<br/><br/>Кластеры могут создаваться шардированными с произвольным количеством реплик.
|
||||||
|
Для обеспечения отказоустойчивости и координации обязательно включение параметра `Создать ClickHouse-Keeper`.<br/><br/>Кластера создаются с обязательным бекапом. Для этого необходимо предварительно создать
|
||||||
|
услугу `S3 Object Storage`.<br/>---<br/><br/>## Доступные операции<br/><br/>* **create** — Создание кластера<br/>* **delete** — Удаление кластера<br/>* **suspend** — Приостановка работы кластера<br/>*
|
||||||
|
**resume** — Возобновление работы кластера<br/>* **create_database** — Создание базы данных<br/>* **delete_database** — Удаление базы данных<br/>* **create_user** — Создание пользователя и настройка
|
||||||
|
прав доступа к базе данных<br/>* **delete_user** — Удаление пользователя<br/><br/>## Процесс создания и первого подключения<br/><br/>1. Выполнить операцию `create` - будет создан кластер<br/>2. Выполнить
|
||||||
|
операцию `create_database` - будет создана база данных<br/>3. Выполнить операцию `create_user` - будет создан пользователь (выбрать доступ подключения к БД, созданной в п.2)<br/><br/>## Примеры подключения<br/><br/>###
|
||||||
|
Подключение через HTTP-интерфейс<br/><br/>```bash<br/># Проверка доступности кластера<br/>curl "http://<username>:<password>@<host>:8123/" -d "SELECT 1"<br/><br/># Выполнение запроса<br/>curl "http://<username>:<password>@<host>:8123/"
|
||||||
|
-d "SHOW DATABASES"<br/>```<br/><br/>## Простые кейсы<br/>*Создать БД и обычной таблицы*<br/>```clickhouse<br/>CREATE TABLE database.table<br/>(<br/> id UInt64,<br/> value String<br/>)<br/>ENGINE
|
||||||
|
= MergeTree()<br/>ORDER BY id;<br/><br/>INSERT INTO database.table SELECT number, toString(number) FROM numbers(10000000);<br/><br/>SELECT count() FROM database.table;<br/>```<br/>Базы и таблицы не реплицируются
|
||||||
|
без специального ключа (`ON CLUSTER ''clickhousek8s''`)<br/>В случае создания в стиле, описанным выше, необходимо будет выполнять действия на всех шардах/репликах<br/><br/><br/>*Создание БД и шардированной
|
||||||
|
таблицы*<br/>```clickhouse<br/>CREATE TABLE database.localUsers<br/>(<br/> id UInt64,<br/> value String<br/>)<br/>ENGINE = MergeTree()<br/>ORDER BY id;<br/><br/>CREATE TABLE database.shardedTable<br/>AS
|
||||||
|
localUsers<br/>ENGINE = Distributed(''clickhousek8s'', ''database'', ''localUsers'', id);<br/><br/>INSERT INTO shardedTable SELECT number, toString(number) FROM numbers(10000000);<br/><br/>SELECT count()
|
||||||
|
FROM shardedTable;<br/>```<br/>Важный момент - в данном примере таблицы придётся также выполнять на всех нодах ClickHouse<br/><br/>*Создание реплицируемой и шардированной таблицы*<br/>```clickhouse<br/>CREATE
|
||||||
|
TABLE IF NOT EXISTS database.localUsers ON cluster ''clickhousek8s''<br/>(<br/> user_id UInt64,<br/> name String,<br/> email String<br/>)<br/>ENGINE = ReplicatedMergeTree(<br/> ''/clickhouse/tables/{shard}/localUsers'',<br/> ''{replica}''<br/>)<br/>ORDER
|
||||||
|
BY user_id;<br/><br/>CREATE TABLE IF NOT EXISTS database.users ON cluster ''clickhousek8s''<br/>AS database.localUsers<br/>ENGINE = Distributed(''clickhousek8s'', ''database'', ''localUsers'', rand());<br/><br/>INSERT
|
||||||
|
INTO database.users VALUES (1, ''Alice'', ''alice@example.com'');<br/>INSERT INTO database.users VALUES (2, ''Bob'', ''bob@example.com'');<br/>INSERT INTO database.users VALUES (3, ''Charlie'', ''charlie@example.com'');<br/>INSERT
|
||||||
|
INTO database.users VALUES (4, ''David'', ''david@example.com'');<br/>INSERT INTO database.users VALUES (5, ''Gosha'', ''gosha@example.com'');<br/>INSERT INTO database.users VALUES (6, ''Eve'', ''eve@example.com'');<br/>INSERT
|
||||||
|
INTO database.users VALUES (7, ''Frank'', ''frank@example.com'');<br/>INSERT INTO database.users VALUES (8, ''Grace'', ''grace@example.com'');<br/>INSERT INTO database.users VALUES (9, ''Hannah'', ''hannah@example.com'');<br/>INSERT
|
||||||
|
INTO database.users VALUES (10, ''Ivan'', ''ivan@example.com'');<br/><br/>SELECT * FROM database.localUsers;<br/>SELECT * FROM database.users;<br/><br/>SELECT COUNT(*) AS total_users FROM database.users;<br/>SELECT
|
||||||
|
COUNT(*) AS total_users_local FROM database.localUsers;<br/>```'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 181
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 186
|
||||||
|
operation: create_database
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 185
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 184
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 188
|
||||||
|
operation: delete_database
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 187
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 189
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 276
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 183
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 182
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
databases: {}
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 837
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 838
|
||||||
|
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: '2048'
|
||||||
|
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'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '10'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 839
|
||||||
|
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: 840
|
||||||
|
svcOperationCfsParam: clickhouseKeeperConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: '0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 841
|
||||||
|
svcOperationCfsParam: clickhouseConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '25.10'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '25.10'
|
||||||
|
- svcOperationCfsParamId: 842
|
||||||
|
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: 843
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: '0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '5'
|
||||||
|
- '12'
|
||||||
|
- '23'
|
||||||
|
- svcOperationCfsParamId: 851
|
||||||
|
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
path:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: something.xml
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
xmlConfig:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: <clickhouse></clickhouse>
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 600
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: db01
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 596
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: myusername
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 598
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
dbName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 599
|
||||||
|
svcOperationCfsParam: accessHosts
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ::/0
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 602
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 601
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 844
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '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
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 846
|
||||||
|
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: 847
|
||||||
|
svcOperationCfsParam: clickhouseConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '25.10'
|
||||||
|
- svcOperationCfsParamId: 848
|
||||||
|
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: 849
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
percent:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '10'
|
||||||
|
- '15'
|
||||||
|
- '20'
|
||||||
|
enabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: false,true
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '5'
|
||||||
|
- '12'
|
||||||
|
- '23'
|
||||||
|
quota:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 850
|
||||||
|
svcOperationCfsParam: clickhouseFilesConfiguration
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
path:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: something.xml
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
xmlConfig:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: <clickhouse></clickhouse>
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
181:
|
||||||
|
- 837
|
||||||
|
- 838
|
||||||
|
- 839
|
||||||
|
- 840
|
||||||
|
- 841
|
||||||
|
- 842
|
||||||
|
- 843
|
||||||
|
- 851
|
||||||
|
186:
|
||||||
|
- 600
|
||||||
|
185:
|
||||||
|
- 596
|
||||||
|
- 598
|
||||||
|
- 599
|
||||||
|
184: []
|
||||||
|
188:
|
||||||
|
- 602
|
||||||
|
187:
|
||||||
|
- 601
|
||||||
|
189:
|
||||||
|
- 844
|
||||||
|
- 845
|
||||||
|
- 846
|
||||||
|
- 847
|
||||||
|
- 848
|
||||||
|
- 849
|
||||||
|
- 850
|
||||||
|
276: []
|
||||||
|
183: []
|
||||||
|
182: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1, "shards": 1, "disk": 10}'
|
||||||
|
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}'
|
||||||
|
clickhouseFilesConfiguration: '{"path": "something.xml", "xmlConfig": "<clickhouse></clickhouse>"}'
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
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
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 1
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 6
|
||||||
|
operation: create_sub_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 5
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 7
|
||||||
|
operation: delete_sub_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 4
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 407
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 3
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 2
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
sub_users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 163
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ceph.tst.nubes.ru
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- ceph.tst.nubes.ru
|
||||||
|
- svcOperationCfsParamId: 320
|
||||||
|
svcOperationCfsParam: displayName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 60
|
||||||
|
svcOperationCfsParam: subUserName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 61
|
||||||
|
svcOperationCfsParam: subUserAccess
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- read
|
||||||
|
- write
|
||||||
|
- readwrite
|
||||||
|
- full
|
||||||
|
- svcOperationCfsParamId: 63
|
||||||
|
svcOperationCfsParam: subUserName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 50
|
||||||
|
svcOperationCfsParam: maxSizeGbPerUser
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 51
|
||||||
|
svcOperationCfsParam: maxObjectsPerBucket
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 52
|
||||||
|
svcOperationCfsParam: maxBucketsPerUser
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
1:
|
||||||
|
- 163
|
||||||
|
- 320
|
||||||
|
6:
|
||||||
|
- 60
|
||||||
|
- 61
|
||||||
|
5: []
|
||||||
|
7:
|
||||||
|
- 63
|
||||||
|
4:
|
||||||
|
- 50
|
||||||
|
- 51
|
||||||
|
- 52
|
||||||
|
407: []
|
||||||
|
3: []
|
||||||
|
2: []
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: ceph.tst.nubes.ru
|
||||||
|
displayName: ''
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
name: s3bucket
|
||||||
|
service_id: 13
|
||||||
|
service_display_name: S3 бакет
|
||||||
|
service_short_name: s3bucket
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 51
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 52
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 124
|
||||||
|
svcOperationCfsParam: s3UserUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 125
|
||||||
|
svcOperationCfsParam: bucketName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 126
|
||||||
|
svcOperationCfsParam: maxSize
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '-1'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 127
|
||||||
|
svcOperationCfsParam: readAll
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 128
|
||||||
|
svcOperationCfsParam: listAll
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 129
|
||||||
|
svcOperationCfsParam: corsAll
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 130
|
||||||
|
svcOperationCfsParam: placement
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: HOT
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- HOT
|
||||||
|
- COLD
|
||||||
|
cfsParamsByOp:
|
||||||
|
51:
|
||||||
|
- 124
|
||||||
|
- 125
|
||||||
|
- 126
|
||||||
|
- 127
|
||||||
|
- 128
|
||||||
|
- 129
|
||||||
|
- 130
|
||||||
|
52: []
|
||||||
|
stateParams:
|
||||||
|
s3UserUid: ''
|
||||||
|
bucketName: ''
|
||||||
|
maxSize: '-1'
|
||||||
|
readAll: 'false'
|
||||||
|
listAll: 'false'
|
||||||
|
corsAll: 'false'
|
||||||
|
placement: HOT
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
name: vc_mgmt_sthutrval_cluster
|
||||||
|
service_id: 148
|
||||||
|
service_display_name: Менеджмент Kubernetes кластер Штурвал
|
||||||
|
service_short_name: vcMgmtSthutrvalCluster
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 258
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 771
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: sandbox.nubes.ru
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- sandbox.nubes.ru
|
||||||
|
clusterName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: example-ywasgmh6
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 772
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
appVersion:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: 2.13.1
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 2.13.1
|
||||||
|
- 2.12.1
|
||||||
|
- 2.11.0
|
||||||
|
- svcOperationCfsParamId: 773
|
||||||
|
svcOperationCfsParam: controlPlaneConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '50'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
groupName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: workers-gj7zkkhv
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
- svcOperationCfsParamId: 775
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
accessIpListAPI:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
258:
|
||||||
|
- 771
|
||||||
|
- 772
|
||||||
|
- 773
|
||||||
|
- 774
|
||||||
|
- 775
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": "sandbox.nubes.ru", "clusterName": "example-ywasgmh6"}'
|
||||||
|
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||||
|
controlPlaneConfiguration: '{"sizingPolicy": "", "sizingDisk": 50, "count": 1}'
|
||||||
|
workerConfiguration: '{"sizingDisk": 50, "count": 2, "groupName": "workers-gj7zkkhv", "sizingPolicy": ""}'
|
||||||
|
accessConfiguration: '{"needExternalAddressIngress": true, "accessIpListIngress": "[]", "needExternalAddressAPI": true, "accessIpListAPI": "[]"}'
|
||||||
@@ -0,0 +1,216 @@
|
|||||||
|
name: valo_tenant
|
||||||
|
service_id: 149
|
||||||
|
service_display_name: VALO Cloud
|
||||||
|
service_short_name: valoTenant
|
||||||
|
service_man: '# Инструкция по развертыванию Тенант Valo через платформу<br/><br/>## 1. Общая информация<br/>Тенант Valo — логический изолированный экземпляр сервиса VALO Cloud, предоставляющий защищённое
|
||||||
|
облачное хранилище, синхронизацию данных и доступ к документам с различных устройств. При создании тенант автоматически разворачивается в тестовом режиме сроком на 2 месяца. Перевод в промышленную эксплуатацию
|
||||||
|
выполняется отдельной операцией.<br/><br/>### Доступные операции<br/><br/>* **create** — создание нового тенанта в тестовом режиме сроком на 2 месяца.<br/>* **modify** — изменение настроек тенанта, включая
|
||||||
|
перевод из ТЕСТ в ПРОД.<br/>* **suspend** — выключение (приостановка работы) тенанта.<br/>* **resume** — включение ранее приостановленного тенанта.<br/>* **delete** — удаление тенанта; доступно только
|
||||||
|
после выполнения операции suspend.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Платформа для развертывания<br/>Описание: платформа,
|
||||||
|
на которой будет создан тенант.<br/>Пример значения: `valo.ngcloud.ru`.<br/><br/>### DNS-Префикс<br/>Описание: Будет добавлено в зону valo.ngcloud.ru<br/>Пример значения: `mysimpledomain`.<br/><br/>###
|
||||||
|
Параметры хранилища<br/>Описание: Сколько места будет выделено под использование в тенанте. Данные хранятся в S3. Размер указывается в Gigabytes<br/>Пример значения: `10`.<br/><br/>### Настройки тенанта<br/>Описание:
|
||||||
|
Ряд конфигурации Valo-тенанта, такие как настройки пользователя и доступного функционала<br/>Пример значения: `опционально в рамках настройки`.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>###
|
||||||
|
Тестовое окружение<br/>Достаточно развернуть тенант в ТЕСТ. Срок предоставляется в 2 месяца. По истечению срока тенант автоматически переводится в `suspend` на стороне ресурсной платформы<br/><br/>###
|
||||||
|
Промышленное окружение<br/>Для разблокировки используйте операцию `modify`<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Услуга предоставляет следующие выходные параметры (формируются в процессе
|
||||||
|
операций):<br/><br/>### Статус тенанта<br/>Отражает текущее состояние и параметры.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/>Тенант всегда создаётся в режиме ТЕСТ и не может быть сразу
|
||||||
|
переведён в ПРОД без операции modify.<br/>Удаление тенанта возможно только после его выключения с помощью операции suspend.<br/>Срок тестового режима составляет 2 месяца с момента создания.<br/>Операции
|
||||||
|
suspend и resume используются для временного управления доступностью сервиса без потери конфигурации.<br/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 202
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 206
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 203
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 205
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 204
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 655
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: valo.ngcloud.ru
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- valo.ngcloud.ru
|
||||||
|
- svcOperationCfsParamId: 656
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 657
|
||||||
|
svcOperationCfsParam: valoOptions
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
ffOnlineEditor:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
ffWatermark:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
ffUserImport:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
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'
|
||||||
|
- svcOperationCfsParamId: 658
|
||||||
|
svcOperationCfsParam: s3Storage
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '10'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 659
|
||||||
|
svcOperationCfsParam: valoOptions
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
requestApproveMaxPeriod:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
ffOnlineEditor:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
ffWatermark:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
ffUserImport:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
ffThemes:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
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'
|
||||||
|
userCount:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 660
|
||||||
|
svcOperationCfsParam: s3Storage
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
202:
|
||||||
|
- 655
|
||||||
|
- 656
|
||||||
|
- 657
|
||||||
|
- 658
|
||||||
|
206: []
|
||||||
|
203:
|
||||||
|
- 659
|
||||||
|
- 660
|
||||||
|
205: []
|
||||||
|
204: []
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: valo.ngcloud.ru
|
||||||
|
domain: ''
|
||||||
|
valoOptions: '{"ffLogging": true, "userCount": 10, "requestApproveMaxPeriod": 2, "ffOnlineEditor": true, "ffWatermark": true, "ffUserImport": true, "ffThemes": true, "ffPublicLink": true}'
|
||||||
|
s3Storage: '10'
|
||||||
@@ -0,0 +1,324 @@
|
|||||||
|
name: k8s_sthutrval_cluster
|
||||||
|
service_id: 150
|
||||||
|
service_display_name: Kubernetes кластер Штурвал
|
||||||
|
service_short_name: k8sSthutrvalCluster
|
||||||
|
service_man: Перед разворачиванием убедиться, что в облаке есть 2 свободных невыделенных IP в пуле
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 108
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 281
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 109
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 282
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 110
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 253
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 174
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 173
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 750
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
nsxtUid:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
clusterName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: example-kcrwfrbd
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
vdcUid:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 751
|
||||||
|
svcOperationCfsParam: controlPlaneConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '50'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
- svcOperationCfsParamId: 752
|
||||||
|
svcOperationCfsParam: workerConfiguration
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
groupName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: workers-rbrr6za5
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '50'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 753
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
needExternalAddressAPI:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
accessIpListAPI:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
needExternalAddressIngress:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
accessIpListIngress:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 755
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
appVersion:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: 2.13.1
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 2.13.1
|
||||||
|
- 2.12.1
|
||||||
|
- 2.11.0
|
||||||
|
- svcOperationCfsParamId: 869
|
||||||
|
svcOperationCfsParam: admins
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
email:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 870
|
||||||
|
svcOperationCfsParam: admins
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
email:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 756
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
appVersion:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 2.13.1
|
||||||
|
- 2.12.1
|
||||||
|
- 2.11.0
|
||||||
|
- svcOperationCfsParamId: 757
|
||||||
|
svcOperationCfsParam: controlPlaneConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- svcOperationCfsParamId: 758
|
||||||
|
svcOperationCfsParam: workerConfiguration
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
groupName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: workers-kk0fpv6w
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
sizingPolicy:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '{}'
|
||||||
|
sizingDisk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 759
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
needExternalAddressAPI:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
accessIpListAPI:
|
||||||
|
dataType: json
|
||||||
|
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:
|
||||||
|
108:
|
||||||
|
- 750
|
||||||
|
- 751
|
||||||
|
- 752
|
||||||
|
- 753
|
||||||
|
- 755
|
||||||
|
281:
|
||||||
|
- 869
|
||||||
|
109: []
|
||||||
|
282:
|
||||||
|
- 870
|
||||||
|
110:
|
||||||
|
- 756
|
||||||
|
- 757
|
||||||
|
- 758
|
||||||
|
- 759
|
||||||
|
253: []
|
||||||
|
174: []
|
||||||
|
173: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"nsxtUid": "", "clusterName": "example-kcrwfrbd", "vdcUid": ""}'
|
||||||
|
controlPlaneConfiguration: '{"sizingDisk": 50, "count": 1, "sizingPolicy": "[]"}'
|
||||||
|
workerConfiguration: '{"groupName": "workers-rbrr6za5", "sizingPolicy": "", "sizingDisk": 50, "count": 2}'
|
||||||
|
accessConfiguration: '{"needExternalAddressAPI": true, "accessIpListAPI": "[]", "needExternalAddressIngress": true, "accessIpListIngress": "[]"}'
|
||||||
|
clusterConfiguration: '{"appVersion": "2.13.1"}'
|
||||||
@@ -0,0 +1,374 @@
|
|||||||
|
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: 234
|
||||||
|
operation: restart
|
||||||
|
kind: action
|
||||||
|
action: restart
|
||||||
|
- 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: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- 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-ovkw1qbi
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 675
|
||||||
|
svcOperationCfsParam: kvName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: kvname-bbycmhbz
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 728
|
||||||
|
svcOperationCfsParam: policySettings
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
capabilities:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '["read", "list"]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
path:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 729
|
||||||
|
svcOperationCfsParam: policyName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: policy-xqjoiy6t
|
||||||
|
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:
|
||||||
|
capabilities:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
path:
|
||||||
|
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
|
||||||
|
234: []
|
||||||
|
216: []
|
||||||
|
215: []
|
||||||
|
238:
|
||||||
|
- 730
|
||||||
|
- 731
|
||||||
|
230:
|
||||||
|
- 719
|
||||||
|
- 720
|
||||||
|
- 721
|
||||||
|
- 722
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: ''
|
||||||
|
resourceCPU: '500'
|
||||||
|
resourceInstances: '3'
|
||||||
|
resourceMemory: '512'
|
||||||
|
resourceDisk: '10'
|
||||||
|
appVersion: 2.5.2
|
||||||
|
domain: bao-ovkw1qbi
|
||||||
@@ -0,0 +1,237 @@
|
|||||||
|
name: llm_ai
|
||||||
|
service_id: 163
|
||||||
|
service_display_name: LLM
|
||||||
|
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/>##
|
||||||
|
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/>'
|
||||||
|
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: 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
|
||||||
|
277:
|
||||||
|
- 852
|
||||||
|
- 853
|
||||||
|
- 854
|
||||||
|
- 855
|
||||||
|
- 875
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: llmAi.aillm.ru
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
name: vc_org
|
||||||
|
service_id: 19
|
||||||
|
service_display_name: Организация в Cloud Director
|
||||||
|
service_short_name: vcOrg
|
||||||
|
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/>### Url организации<br/>Для
|
||||||
|
быстрого доступа в тенант<br/><br/>### Статус организации<br/>Отражает текущее состояние и параметры.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Для конфигурации внешних IP внутри
|
||||||
|
организации необходимо предварительно создать:<br/>-- хотя бы один **Виртуальный датацентр (VDC)** привязанный к этой организации;<br/>-- хотя бы один **Сетевой шлюз периметра (Edge Gateway)**, привязанный
|
||||||
|
к vdc выше.<br/>- Удаление организации возможно только через 14 дней после перевода в состояние suspend.<br/>- Удаление организации приводит к удалению всех связанных сущностей: VDC, Edge Gateway, пулов
|
||||||
|
IP, сетей, ВМок и иных объектов.<br/>- Операция suspend не останавливает виртуальные машины, но блокирует любые изменения инфраструктуры внутри организации.<br/>- Для iaas-организаций доступ осуществляется
|
||||||
|
через Keycloak.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 136
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 283
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 137
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 284
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 207
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 249
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 144
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 143
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 418
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: sandbox.nubes.ru
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- sandbox.nubes.ru
|
||||||
|
- svcOperationCfsParamId: 556
|
||||||
|
svcOperationCfsParam: organizationType
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: iaas
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iaas
|
||||||
|
- saas
|
||||||
|
- svcOperationCfsParamId: 871
|
||||||
|
svcOperationCfsParam: admins
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
email:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 872
|
||||||
|
svcOperationCfsParam: admins
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
email:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 662
|
||||||
|
svcOperationCfsParam: vIPConfigure
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
name:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
count:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
136:
|
||||||
|
- 418
|
||||||
|
- 556
|
||||||
|
283:
|
||||||
|
- 871
|
||||||
|
137: []
|
||||||
|
284:
|
||||||
|
- 872
|
||||||
|
207:
|
||||||
|
- 662
|
||||||
|
249: []
|
||||||
|
144: []
|
||||||
|
143: []
|
||||||
|
stateParams:
|
||||||
|
resourceRealm: sandbox.nubes.ru
|
||||||
|
organizationType: iaas
|
||||||
@@ -0,0 +1,314 @@
|
|||||||
|
name: dummy
|
||||||
|
service_id: 1
|
||||||
|
service_display_name: Болванка
|
||||||
|
service_short_name: dummy
|
||||||
|
service_man: '## Болванка для тестов.<br/><br/>А это просто много букв, чтобы посмотреть, как ведет себя текст при переполнении контейнера. <br/><br/><br/>``` json<br/>{<br/> "iamServiceUrl": "https://auth-api-test.ngcloud.ru/api/v1/user",<br/> "idpResponse":
|
||||||
|
{<br/> "prefix": {<br/> "charset": "",<br/> "status_text": "Request Time-out",<br/> "text": true,<br/> "errordetail": "",<br/> "filecontent":
|
||||||
|
"Connection Timeout",<br/> "responseheader": {},<br/> "header": "",<br/> "statuscode": "408 Request Time-out",<br/> "status_code": 408,<br/> "mimetype":
|
||||||
|
"Unable to determine MIME type of file."<br/> }<br/> }<br/>}<br/>```'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 18
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 71
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 92
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 257
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 240
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 94
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 93
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 198
|
||||||
|
svcOperationCfsParam: durationMs
|
||||||
|
dataType: integer >= 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '0'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 199
|
||||||
|
svcOperationCfsParam: failAtStart
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 200
|
||||||
|
svcOperationCfsParam: failInProgress
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 201
|
||||||
|
svcOperationCfsParam: whereFail
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '2'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 242
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: dummy
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- dummy
|
||||||
|
- svcOperationCfsParamId: 286
|
||||||
|
svcOperationCfsParam: bodymessage
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 321
|
||||||
|
svcOperationCfsParam: mapExample
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
subparam1:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
secret:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
subparam2:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 322
|
||||||
|
svcOperationCfsParam: jsonExample
|
||||||
|
dataType: json
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 396
|
||||||
|
svcOperationCfsParam: nestedRefExample
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 647
|
||||||
|
svcOperationCfsParam: mapFixed
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
bol1:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
minStr1:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: abracadabra
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- abracadabra
|
||||||
|
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
|
||||||
|
- svcOperationCfsParamId: 654
|
||||||
|
svcOperationCfsParam: arrayMapFixedExample
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
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: ''
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- test
|
||||||
|
- '2'
|
||||||
|
- val1
|
||||||
|
- svcOperationCfsParamId: 287
|
||||||
|
svcOperationCfsParam: durationMs
|
||||||
|
dataType: integer >= 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '0'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 288
|
||||||
|
svcOperationCfsParam: failAtStart
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 289
|
||||||
|
svcOperationCfsParam: failInProgress
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 290
|
||||||
|
svcOperationCfsParam: whereFail
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '2'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 291
|
||||||
|
svcOperationCfsParam: bodymessage
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 373
|
||||||
|
svcOperationCfsParam: mapExample
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
secret:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 374
|
||||||
|
svcOperationCfsParam: jsonExample
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
18:
|
||||||
|
- 198
|
||||||
|
- 199
|
||||||
|
- 200
|
||||||
|
- 201
|
||||||
|
- 242
|
||||||
|
- 286
|
||||||
|
- 321
|
||||||
|
- 322
|
||||||
|
- 396
|
||||||
|
- 647
|
||||||
|
- 654
|
||||||
|
- 863
|
||||||
|
71: []
|
||||||
|
92:
|
||||||
|
- 287
|
||||||
|
- 288
|
||||||
|
- 289
|
||||||
|
- 290
|
||||||
|
- 291
|
||||||
|
- 373
|
||||||
|
- 374
|
||||||
|
257: []
|
||||||
|
240: []
|
||||||
|
94: []
|
||||||
|
93: []
|
||||||
|
stateParams:
|
||||||
|
durationMs: '0'
|
||||||
|
failAtStart: 'false'
|
||||||
|
failInProgress: 'false'
|
||||||
|
whereFail: '1'
|
||||||
|
resourceRealm: dummy
|
||||||
|
bodymessage: ''
|
||||||
|
mapExample: '{"subparam1": "", "secret": "", "subparam2": ""}'
|
||||||
|
jsonExample: ''
|
||||||
|
nestedRefExample: ''
|
||||||
|
mapFixed: '{"bol1": false, "minStr1": "abracadabra", "param1": 1, "param2": "1", "param3": 1}'
|
||||||
|
arrayMapFixedExample: '{"bol1": false, "minStr1": "", "param1": 0, "param2": "", "param3": 1}'
|
||||||
|
arr: ''
|
||||||
@@ -0,0 +1,166 @@
|
|||||||
|
name: vc_vdc
|
||||||
|
service_id: 21
|
||||||
|
service_display_name: Виртуальный датацентр (vDC)
|
||||||
|
service_short_name: vc_vdc
|
||||||
|
service_man: '# Инструкция по развертыванию Виртуальный датацентр (vDC) через платформу<br/><br/>## 1. Общая информация<br/><br/>**Виртуальный датацентр (vDC)** — это логическая изолированная среда в VMware
|
||||||
|
Cloud Director, предназначенная для размещения и управления виртуальными машинами, сетевой инфраструктурой и ресурсами хранения. Сервис обеспечивает выделение вычислительных ресурсов под конкретную организацию
|
||||||
|
и предоставляет гибкие параметры масштабирования, контроля потребления и разделения ресурсов.<br/><br/>### Доступные операции<br/><br/>**create** — Создание виртуального датацентра (vDC) с заданными параметрами
|
||||||
|
CPU, RAM, Storage и сетевой конфигурацией.<br/>**delete** — Удаление vDC. Требуется предварительный перевод vDC в состояние *suspend*. Полное удаление возможно через 14 дней.<br/>**modify** — Внесение
|
||||||
|
изменений в параметры ресурсов (CPU/RAM/Storage), выделенных для vDC.<br/>**suspend** — Заморозка vDC. Новые ресурсы или изменения внутри vDC становятся невозможными, работа ВМ не останавливается.<br/>**resume**
|
||||||
|
— Разморозка vDC. Восстановление возможности управления сущностями внутри vDC.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Ниже перечислены входные параметры операции **create**.<br/><br/>###
|
||||||
|
UUID Организации<br/>Уникальный идентификатор организации в Cloud Director. Перед созданием vDC требуется предварительное создание услугу `Организация в Cloud Director`.<br/><br/>### Provider VDC в Cloud
|
||||||
|
Director<br/>Свойство ресурсной платформы, определяющее, какой пул физических ресурсов будет использоваться.<br/><br/>### Network Pool в Cloud Director<br/>Определяет возможности сетевой конфигурации,
|
||||||
|
включая создание Edge Gateway и выход во внешние сети.<br/><br/>### Гарантированная доля ЯДЕР<br/>Гарантированный процент вычислительных ресурсов (CPU), закрепленный за vDC. Значение устанавливается разово
|
||||||
|
при создании.<br/><br/>### Гарантированная доля ОЗУ<br/>Гарантированный процент оперативной памяти, закрепленный за vDC. Также задаётся один раз при создании.<br/><br/>### Сколько аллоцировать на VDC
|
||||||
|
ЯДЕР<br/>Количество виртуальных ядер, выделяемых в рамках vDC.<br/><br/>### Сколько аллоцировать на VDC ОЗУ<br/>Количество оперативной памяти в GB, выделяемой для vDC.<br/><br/>### Конфигурация Storage<br/>Набор
|
||||||
|
дисковых политик и их объёмов, выделяемых для vDC. Указывается имя политики и требуемый размер (GB).<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### Тестовое окружение<br/><br/>-
|
||||||
|
Количество ядер CPU: 10–20<br/>- Аллоцируемая RAM: 16–64 GB<br/>- Гарантированная доля CPU: 20%<br/>- Гарантированная доля RAM: 20%<br/>- Storage:<br/>- Политика `SATA`<br/>- Объём: 100–300 GB<br/><br/>###
|
||||||
|
Промышленное окружение<br/><br/>- Количество ядер CPU: 16–128<br/>- Аллоцируемая RAM: 64–512 GB<br/>- Гарантированная доля CPU: 50%<br/>- Гарантированная доля RAM: 50%<br/>- Storage:<br/>- Политики уровня
|
||||||
|
`SSD`<br/>- Объём: 1–10 TB, выбор несколько политик под разные нагрузки<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>Выходные параметры формируются операцией **create** (и используются другими
|
||||||
|
операциями):<br/><br/>### Имя vDC<br/>Уникальный идентификатор созданного виртуального датацентра. Используется в дальнейших операциях (modify, suspend, delete).<br/><br/>### Параметры выделенных ресурсов<br/>Подтверждение
|
||||||
|
итогового объёма CPU/RAM/Storage, выделенных vDC. Используются для учёта и контроля потребления.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Перед созданием vDC необходимо обеспечить
|
||||||
|
наличие корректно созданной организации и доступных пула ресурсов ресурсной платформы.<br/>- Гарантированная доля CPU и RAM задаётся **однократно при создании vDC**. После развертывания изменить эти значения
|
||||||
|
невозможно; для изменения необходимо пересоздать vDC.<br/>- Удаление vDC возможно только через **14 дней после перевода в состояние *suspend***. Удаление очищает все связанные сущности (ВМ, сети, каталоги),
|
||||||
|
поэтому необходимо убедиться, что данные перенесены.<br/>- Платформа Cloud Director использует концепцию изолированных организационных ресурсов, поэтому корректная настройка Provider VDC и Network Pool
|
||||||
|
является обязательной при создании vDC.<br/>- При изменении параметров (modify) изменяются только показатели CPU, RAM и Storage. Сетевые параметры и гарантированные доли остаются неизменными.<br/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 9
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 24
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 112
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 250
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 172
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 171
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 30
|
||||||
|
svcOperationCfsParam: organizationUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 335
|
||||||
|
svcOperationCfsParam: providerVdc
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 361
|
||||||
|
svcOperationCfsParam: storageConfig
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
name:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
size:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2000'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 397
|
||||||
|
svcOperationCfsParam: cpuGuaranteed
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '20'
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '20'
|
||||||
|
- '50'
|
||||||
|
- '80'
|
||||||
|
- svcOperationCfsParamId: 557
|
||||||
|
svcOperationCfsParam: cpuAllocated
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '80'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 558
|
||||||
|
svcOperationCfsParam: memAllocated
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '200'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 746
|
||||||
|
svcOperationCfsParam: networkProvider
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 560
|
||||||
|
svcOperationCfsParam: cpuAllocated
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 561
|
||||||
|
svcOperationCfsParam: memAllocated
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 562
|
||||||
|
svcOperationCfsParam: storageConfig
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
name:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
size:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
9:
|
||||||
|
- 30
|
||||||
|
- 335
|
||||||
|
- 361
|
||||||
|
- 397
|
||||||
|
- 557
|
||||||
|
- 558
|
||||||
|
- 746
|
||||||
|
24: []
|
||||||
|
112:
|
||||||
|
- 560
|
||||||
|
- 561
|
||||||
|
- 562
|
||||||
|
250: []
|
||||||
|
172: []
|
||||||
|
171: []
|
||||||
|
stateParams:
|
||||||
|
organizationUid: ''
|
||||||
|
providerVdc: ''
|
||||||
|
storageConfig: '{"name": "", "size": 2000}'
|
||||||
|
cpuGuaranteed: '20'
|
||||||
|
cpuAllocated: '80'
|
||||||
|
memAllocated: '200'
|
||||||
|
networkProvider: ''
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
name: vc_nsxt
|
||||||
|
service_id: 22
|
||||||
|
service_display_name: Сетевой шлюз периметра (Edge)
|
||||||
|
service_short_name: vc_nsxt
|
||||||
|
service_man: '# Инструкция по развертыванию Сетевой шлюз периметра (Edge) через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Сетевой шлюз периметра (Edge)** предназначен для создания периметрового
|
||||||
|
сетевого шлюза в рамках одного виртуального датацентра (vDC) или группы виртуальных датацентров (groupvDC). <br/>При создании автоматически разворачивается routed-сеть с адресным пространством `10.10.102.0/24`. <br/>Сервис
|
||||||
|
обеспечивает сетевую изоляцию, маршрутизацию, а также может включать функциональность балансировщика нагрузки AVI (ALB) для последующей интеграции, включая поддержку кластеров Штурвал.<br/><br/>### Доступные
|
||||||
|
операции<br/><br/>**create** — Создание нового Edge с привязкой к vDC или groupvDC и развёртыванием routed-сети. <br/>**delete** — Удаление ранее созданного Edge. Недоступно при наличии зависимых услуг
|
||||||
|
(vApp, VM, Кластер Штурвал). <br/>**modify** — Изменение параметров и сетевых настроек существующего Edge.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Ниже приведены параметры операции
|
||||||
|
**create**.<br/><br/>### Тип родительской услуги<br/>Определяет контекст размещения Edge. <br/>Допустимые значения: `vdc`, `groupvdc`. <br/>Использование:<br/>- При выборе `vdc` обязателен параметр
|
||||||
|
**UUID VDC**.<br/>- При выборе `groupvdc` обязателен параметр **UUID Группы VDC**.<br/><br/>### UUID VDC<br/>Идентификатор виртуального датацентра. <br/>Необходимо предварительно создать vDC через услугу
|
||||||
|
«Виртуальный датацентр (vDC)». <br/>Указывается только при выборе родительского типа `vdc`.<br/><br/>### UUID Группы VDC<br/>Идентификатор группы виртуальных датацентров. <br/>Создаётся через услугу
|
||||||
|
«Группа виртуальных датацентров (groupvDC)». <br/>Используется при выборе родительского типа `groupvdc`.<br/><br/>### Включить ALB<br/>Флаг активации AVI Load Balancer в Cloud Director. <br/>Пример
|
||||||
|
значения: `true`/`false`. <br/>Нужен для развёртывания кластера Штурвал и возможности создания Virtual Services.<br/><br/>### Наименование segroup<br/>Имя сервиса групп (segroup) на уровне ресурсной
|
||||||
|
платформы. <br/>Обязательно при включённом ALB. <br/>Определяет группу, в которой будут выделяться пулы AVI для Virtual Services.<br/><br/>### virtualServicesCount<br/>Количество резервируемых виртуальных
|
||||||
|
сервисов (Virtual Services) на AVI. <br/>Типичное значение: 1–10 в зависимости от нагрузки.<br/><br/>---<br/><br/>## 3. Рекомендованные характеристики<br/><br/>### Тестовое окружение (Test)<br/><br/>-
|
||||||
|
Тип родительской услуги: `vdc` <br/>- virtualServicesCount: 1–2 <br/>- ALB: выключен по умолчанию (включать только при необходимости тестирования Штурвала) <br/>- segroup: задаётся только при включённом
|
||||||
|
ALB <br/>- VDC гарантии CPU/RAM: минимальные (поскольку изменить их после создания нельзя)<br/><br/>### Промышленное окружение (Production)<br/><br/>- Тип родительской услуги: `groupvdc` при работе с
|
||||||
|
распределёнными нагрузками или `vdc` для локализованных проектов <br/>- virtualServicesCount: 3–10, исходя из предполагаемого количества публикаций <br/>- ALB: включён, если требуется высокая доступность
|
||||||
|
сервисов или используется кластер Штурвал <br/>- segroup: рекомендуется использовать выделенную группу под проект <br/>- VDC гарантии CPU/RAM: повышенные, с учётом того, что изменить их после создания
|
||||||
|
невозможно без пересоздания vDC<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>### Имя Edge<br/>Уникальное название созданного сетевого шлюза, используется для ссылок и дальнейших операций.<br/><br/>###
|
||||||
|
Имя routed-сети<br/>Автоматически созданная routed-сеть с подсетью `10.10.102.0/24`, используется для подключения ресурсов.<br/><br/>### Параметры Edge<br/>Набор параметров, указанных пользователем при
|
||||||
|
создании: тип услуги, ALB, segroup, virtualServicesCount и др. <br/>Используются в операциях modify и для анализа состояния сервиса.<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- В
|
||||||
|
рамках сервиса **один раз при создании задаётся гарантированная доля CPU/RAM vDC**. Изменить её невозможно — требуется пересоздание vDC. <br/>- Удаление Edge недоступно при наличии зависимых ресурсов
|
||||||
|
(vApp, VM, кластер Штурвал). <br/>- При использовании ALB необходимо корректно указывать segroup, чтобы обеспечить корректное выделение пулов AVI. <br/>- При выборе режима `groupvdc` следует учитывать
|
||||||
|
распределение нагрузки между несколькими vDC. <br/>- SNAT для всех ресурсов внутри Edge можно активировать через операцию modify (параметры выделения VIP и ipSpace).<br/><br/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 10
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 25
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 111
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 252
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 8
|
||||||
|
svcOperationCfsParam: vdcUid
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 340
|
||||||
|
svcOperationCfsParam: needEnableAVI
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 341
|
||||||
|
svcOperationCfsParam: virtualServicesCount
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 621
|
||||||
|
svcOperationCfsParam: vdcType
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: vdc
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- vdc
|
||||||
|
- vdcGroup
|
||||||
|
- svcOperationCfsParamId: 622
|
||||||
|
svcOperationCfsParam: vdcGroupUid
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 825
|
||||||
|
svcOperationCfsParam: qosProfile
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 368
|
||||||
|
svcOperationCfsParam: needEnableAVI
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 369
|
||||||
|
svcOperationCfsParam: virtualServicesCount
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 372
|
||||||
|
svcOperationCfsParam: ipSpaceName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 856
|
||||||
|
svcOperationCfsParam: qosProfile
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
10:
|
||||||
|
- 8
|
||||||
|
- 340
|
||||||
|
- 341
|
||||||
|
- 621
|
||||||
|
- 622
|
||||||
|
- 825
|
||||||
|
25: []
|
||||||
|
111:
|
||||||
|
- 368
|
||||||
|
- 369
|
||||||
|
- 372
|
||||||
|
- 856
|
||||||
|
252: []
|
||||||
|
stateParams:
|
||||||
|
vdcUid: ''
|
||||||
|
needEnableAVI: 'false'
|
||||||
|
virtualServicesCount: '1'
|
||||||
|
vdcType: vdc
|
||||||
|
vdcGroupUid: ''
|
||||||
|
qosProfile: ''
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
name: vcexternalip
|
||||||
|
service_id: 25
|
||||||
|
service_display_name: Публичные IP адреса
|
||||||
|
service_short_name: vcexternalip
|
||||||
|
service_man: '**Обычно эта услуга разворачивается автоматически при развёртывании более сложных услуг**<br/>Вручную создавать можно, однако услуга требует много параметров, о которых можно просто не знать<br/><br/>Резервировать
|
||||||
|
публичные IP адреса можно только после создания NGcloud Organization, NGcloud Виртуальный датацентр, NGcloud Каталог, Сетевой шлюз периметра.<br/>Вы можете назначить IP адрес для существующего экземпляра
|
||||||
|
сервиса.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 56
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 57
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 197
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 140
|
||||||
|
svcOperationCfsParam: serviceUid
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 141
|
||||||
|
svcOperationCfsParam: dnatCreate
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'true'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 142
|
||||||
|
svcOperationCfsParam: internalPortAccess
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '5432'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 143
|
||||||
|
svcOperationCfsParam: snatCreate
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 144
|
||||||
|
svcOperationCfsParam: internalAddrAccess
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 324
|
||||||
|
svcOperationCfsParam: fromServiceNamespace
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 325
|
||||||
|
svcOperationCfsParam: fromServiceCloudEdgeName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 326
|
||||||
|
svcOperationCfsParam: fromServiceCloudVdcName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 327
|
||||||
|
svcOperationCfsParam: fromServiceCloudOrgName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 328
|
||||||
|
svcOperationCfsParam: fromServiceCloudVmwareUrl
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 336
|
||||||
|
svcOperationCfsParam: ipSpaceName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 488
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: sandbox.nubes.ru
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- sandbox.nubes.ru
|
||||||
|
- svcOperationCfsParamId: 624
|
||||||
|
svcOperationCfsParam: fromServiceCloudEdgeScope
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 626
|
||||||
|
svcOperationCfsParam: fromServiceVdcGroupName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 627
|
||||||
|
svcOperationCfsParam: serviceUid
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 628
|
||||||
|
svcOperationCfsParam: ipSpaceName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 629
|
||||||
|
svcOperationCfsParam: dnatCreate
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 630
|
||||||
|
svcOperationCfsParam: snatCreate
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 631
|
||||||
|
svcOperationCfsParam: internalPortAccess
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 632
|
||||||
|
svcOperationCfsParam: internalAddrAccess
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
56:
|
||||||
|
- 140
|
||||||
|
- 141
|
||||||
|
- 142
|
||||||
|
- 143
|
||||||
|
- 144
|
||||||
|
- 324
|
||||||
|
- 325
|
||||||
|
- 326
|
||||||
|
- 327
|
||||||
|
- 328
|
||||||
|
- 336
|
||||||
|
- 488
|
||||||
|
- 624
|
||||||
|
- 626
|
||||||
|
57: []
|
||||||
|
197:
|
||||||
|
- 627
|
||||||
|
- 628
|
||||||
|
- 629
|
||||||
|
- 630
|
||||||
|
- 631
|
||||||
|
- 632
|
||||||
|
stateParams:
|
||||||
|
serviceUid: ''
|
||||||
|
dnatCreate: 'true'
|
||||||
|
internalPortAccess: '5432'
|
||||||
|
snatCreate: ''
|
||||||
|
internalAddrAccess: ''
|
||||||
|
fromServiceNamespace: ''
|
||||||
|
fromServiceCloudEdgeName: ''
|
||||||
|
fromServiceCloudVdcName: ''
|
||||||
|
fromServiceCloudOrgName: ''
|
||||||
|
fromServiceCloudVmwareUrl: ''
|
||||||
|
ipSpaceName: ''
|
||||||
|
resourceRealm: sandbox.nubes.ru
|
||||||
|
fromServiceCloudEdgeScope: ''
|
||||||
|
fromServiceVdcGroupName: ''
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
name: vapp
|
||||||
|
service_id: 26
|
||||||
|
service_display_name: Виртуальный каталог ВМ (vApp)
|
||||||
|
service_short_name: vapp
|
||||||
|
service_man: '# Инструкция по развертыванию Виртуальный каталог ВМ (vApp) через платформу<br/><br/>## 1. Общая информация<br/><br/>**Виртуальный каталог ВМ (vApp)** — это логическая каталог, объединённая
|
||||||
|
в единый управляемый объект. Сервис предназначен для совместного развертывания, управления жизненным циклом и сетевого взаимодействия набора связанных ВМ. Основные функции включают:<br/>- централизованное
|
||||||
|
управление включением, выключением и приостановкой группы ВМ;<br/>- унифицированный сетевой доступ через привязанный Edge-шлюз;<br/><br/>### Доступные операции<br/><br/>**create** — Создание нового vApp
|
||||||
|
с привязкой к заданным услугам VDC и Edge<br/>**delete** — Удаление существующего vApp. Требуется предварительный перевод vApp в состояние *suspend*. Полное удаление возможно через 14 дней.<br/>**suspend**
|
||||||
|
— Остановка vApp (выключение всех ВМ внутри каталога)<br/>**resume** — Запуск vApp (включение всех ВМ внутри каталога)<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры берутся из
|
||||||
|
операции **create**.<br/><br/>### UUID Услуги VDC<br/>Уникальный идентификатор услуги «Виртуальный датацентр (vDC)».<br/>Используется для определения вычислительной инфраструктуры, в которой будет развернут
|
||||||
|
vApp.<br/><br/>### UUID Услуги Edge<br/>Уникальный идентификатор услуги «Сетевой шлюз периметра (Edge)».<br/>Обеспечивает маршрутизацию и сетевое подключение. Может быть привязан к группе VDC, поэтому
|
||||||
|
выбирается отдельно.<br/><br/>### Имя vApp<br/>Строгое имя, соответствующее маске формирования DNS-имени.<br/>Используется как часть в DNS-имени при создании виртуальных машин.<br/><br/>---<br/><br/>##
|
||||||
|
3. Рекомендованные характеристики<br/>Так как является промежуточным этапом для создания ВМ, все характеристики описываются в услуге `Виртуальная машина`<br/><br/>---<br/><br/>## 4. Выходные параметры<br/><br/>###
|
||||||
|
Параметры vApp<br/>Заданные при создании vApp<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/><br/>- Привязка к VDC и Edge осуществляется раздельно, поскольку один Edge может обслуживать несколько
|
||||||
|
VDC (через услугу `Группа виртуальных датацентров (groupvDC)`). Это гарантирует возможность развернуть ВМ в единой сети, но в разных виртуальных датацентрах.<br/>- Перед удалением vApp необходимо вручную
|
||||||
|
перевести его в состояние **suspend**. Удаление возможно только спустя 14 дней после этого шага.<br/>- Операция delete удаляет весь vApp полностью, включая все виртуальные машины, связанные с ним.<br/>-
|
||||||
|
Рекомендуется заранее планировать сетевые связи и назначения DNS-имён для обеспечения корректной работы сервисов, развернутых внутри vApp.<br/>- При проектировании инфраструктуры следует учитывать зависимости
|
||||||
|
между Edge-шлюзом, VDC и размещаемыми ВМ, чтобы избежать ограничений при масштабировании и интеграции.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 69
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 70
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 285
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 209
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 208
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 190
|
||||||
|
svcOperationCfsParam: nsxtUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 191
|
||||||
|
svcOperationCfsParam: vappName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: hf1t7p5c
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 623
|
||||||
|
svcOperationCfsParam: vdcUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
69:
|
||||||
|
- 190
|
||||||
|
- 191
|
||||||
|
- 623
|
||||||
|
70: []
|
||||||
|
285: []
|
||||||
|
209: []
|
||||||
|
208: []
|
||||||
|
stateParams:
|
||||||
|
nsxtUid: ''
|
||||||
|
vappName: hf1t7p5c
|
||||||
|
vdcUid: ''
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
name: vc_vm_v2
|
||||||
|
service_id: 27
|
||||||
|
service_display_name: VM в Cloud Director (vc_vmV2)
|
||||||
|
service_short_name: vc_vm_v2
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 100
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 101
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 104
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 102
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 103
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 301
|
||||||
|
svcOperationCfsParam: serverListJson
|
||||||
|
dataType: json
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 302
|
||||||
|
svcOperationCfsParam: serverListJson
|
||||||
|
dataType: json
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '[{}]'
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
100:
|
||||||
|
- 301
|
||||||
|
101: []
|
||||||
|
104:
|
||||||
|
- 302
|
||||||
|
102: []
|
||||||
|
103: []
|
||||||
|
stateParams:
|
||||||
|
serverListJson: '[{}]'
|
||||||
@@ -0,0 +1,298 @@
|
|||||||
|
name: vc_vm_v3
|
||||||
|
service_id: 28
|
||||||
|
service_display_name: Виртуальная машина
|
||||||
|
service_short_name: vc_vm_v3
|
||||||
|
service_man: '# Документация по разворачиванию ВМ в Личном кабинете<br/><br/>Данный сервис позволяет разворачивать виртуальные машины (ВМ) непосредственно из Личного кабинета (ЛК).<br/><br/>## Доступные
|
||||||
|
операции<br/>- **create** — Создание виртуальной машины<br/>- **delete** — Удаление виртуальной машины<br/>- **resume** — Запуск виртуальной машины<br/>- **suspend** — Остановка виртуальной машины<br/><br/>---<br/><br/>##
|
||||||
|
Параметры для развёртывания ВМ<br/><br/>### Обязательные параметры:<br/><br/>**vappUid**<br/>UUID vApp, в которой будет создаваться виртуальная машина.<br/>*Пример: WZ00400*<br/><br/>**vmName**<br/>Уникальное
|
||||||
|
имя виртуальной машины.<br/>*Пример: test-vm*<br/><br/>**vmCpu**<br/>Количество ядер процессора. Должно быть больше 0.<br/>*Пример: 1*<br/><br/>**vmRam**<br/>Объем оперативной памяти в гигабайтах. Должно
|
||||||
|
быть больше 0.<br/>*Пример: 1*<br/><br/><br/>**accessPortList**<br/>Белый список портов для доступа к виртуальной машине извне в формате JSON.<br/>*Пример: ["22","10050]*<br/><br/>**imageVm**<br/>Образ
|
||||||
|
операционной системы для развёртывания.<br/>*Доступные значения: RockyLinux_9-16G-cloudinit, Ubuntu_22-20G, Debian_13-20G*<br/><br/>**userLogin**<br/>Логин пользователя для SSH-доступа.<br/>*По умолчанию:
|
||||||
|
myuser*<br/><br/>**userPublicKey**<br/>Публичный SSH-ключ пользователя в формате OpenSSH.<br/>*Пример: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...*<br/><br/>**needAddZabbixTemplate**<br/>Значение истина\ложь,
|
||||||
|
определяющее будет ли добавлен хост в zabbix.<br/>*Пример: true*<br/><br/>### Опциональные параметры:<br/><br/>**accessIpList**<br/>Белый список IP-адресов для доступа к виртуальной машине в формате JSON.
|
||||||
|
Если оставить пустым, вм будет доступена со всех адресов.<br/>*Пример: ["192.168.1.1", "10.0.0.5"]*<br/><br/>**vmDisk**<br/>Размер дополнительного диска в гигабайтах. Должно быть больше 0.<br/>*Пример:
|
||||||
|
50*<br/><br/>**ipSpaceName**<br/>Внешний IP-адрес. Если не требуется — укажите значение "no-needed" (В нем не будет работать сбор метрик zabbix). <br/><br/>**cloudInit**<br/>YAML-скрипт для кастомизации
|
||||||
|
системы через cloud-init.<br/><br/>---<br/><br/>## Доступные образы операционных систем<br/><br/>### RockyLinux_9-16G-cloudinit<br/>Базовый образ на основе Rocky Linux 9 (Rocky-9.6-x86_64-minimal) для
|
||||||
|
серверных задач.<br/>- Размер системного диска: 16 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>### Ubuntu_22-20G<br/>Образ на основе Ubuntu Server 22.04 LTS для
|
||||||
|
облачного окружения.<br/>- Размер системного диска: 20 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>### Debian_13-20G<br/>Образ на основе Debian 13 (Trixie) для
|
||||||
|
стабильной серверной работы.<br/>- Размер системного диска: 20 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>---<br/><br/>## Пример использования Cloud-init<br/><br/>```yaml<br/>users:<br/> -
|
||||||
|
name: myuser<br/> sudo: ALL=(ALL) NOPASSWD:ALL<br/> groups: sudo<br/> shell: /bin/bash<br/> ssh-authorized-keys:<br/> - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...<br/><br/>packages:<br/> -
|
||||||
|
nginx<br/><br/>runcmd:<br/> - systemctl enable --now nginx<br/> - systemctl restart nginx<br/>```<br/><br/>---<br/><br/>## Результат выполнения<br/><br/>После успешного развёртывания в Личном кабинете
|
||||||
|
появится новая виртуальная машина с заданными характеристиками. SSH-доступ осуществляется с использованием указанных логина и публичного ключа.<br/><br/>---<br/><br/>## Важные примечания<br/><br/>###
|
||||||
|
Особенности работы:<br/>- Для отключения внешнего IP укажите значение "no-needed" в параметре ipSpaceName<br/>- Параметр cloudInit является опциональным<br/><br/>### Ограничения:<br/>- Не рекомендуется
|
||||||
|
использовать продолжительные инструкции в cloud-init (таймаут 5 минут)<br/>- Не поддерживается запись файлов через cloud-init<br/>- Не реализовано создание резервных копий ВМ<br/><br/>---<br/><br/>##
|
||||||
|
Диагностика проблем с cloud-init<br/><br/>### Основной лог-файл:<br/>```bash<br/>/var/log/cloud-init.log<br/>```<br/><br/>### Пакет не устанавливается:<br/>- Проверьте доступность пакета в репозитории<br/>-
|
||||||
|
Убедитесь в правильности написания имени пакета<br/>- Попробуйте установить вручную: `apt install <имя_пакета>` (Debian/Ubuntu) или `dnf install <имя_пакета>` (Rocky Linux)<br/><br/>### Команда не выполняется:<br/>-
|
||||||
|
Проверьте наличие требуемой утилиты в системе<br/>- Убедитесь в правильности синтаксиса команды<br/>- Попробуйте выполнить команду вручную для диагностики'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 132
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 133
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 159
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 286
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 164
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 135
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 134
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 407
|
||||||
|
svcOperationCfsParam: vappUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 408
|
||||||
|
svcOperationCfsParam: vmName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: web01
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 409
|
||||||
|
svcOperationCfsParam: vmCpu
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 410
|
||||||
|
svcOperationCfsParam: vmRam
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 411
|
||||||
|
svcOperationCfsParam: vmDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 412
|
||||||
|
svcOperationCfsParam: ipSpaceName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 413
|
||||||
|
svcOperationCfsParam: accessIpList
|
||||||
|
dataType: json
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 414
|
||||||
|
svcOperationCfsParam: imageVm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 415
|
||||||
|
svcOperationCfsParam: cloudInit
|
||||||
|
dataType: yaml
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 416
|
||||||
|
svcOperationCfsParam: userLogin
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: myuser
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 417
|
||||||
|
svcOperationCfsParam: userPublicKey
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 448
|
||||||
|
svcOperationCfsParam: accessPortList
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '["22"]'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 493
|
||||||
|
svcOperationCfsParam: vmCpu
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 494
|
||||||
|
svcOperationCfsParam: vmRam
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 495
|
||||||
|
svcOperationCfsParam: vmDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- 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
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 498
|
||||||
|
svcOperationCfsParam: accessPortList
|
||||||
|
dataType: json
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 509
|
||||||
|
svcOperationCfsParam: vmName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 510
|
||||||
|
svcOperationCfsParam: vmCpu
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 511
|
||||||
|
svcOperationCfsParam: vmRam
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 512
|
||||||
|
svcOperationCfsParam: vmDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 513
|
||||||
|
svcOperationCfsParam: ipSpaceName
|
||||||
|
dataType: string
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- no-needed
|
||||||
|
- internet-antiddos-v1
|
||||||
|
- internet-no-antiddos-v1
|
||||||
|
- internet-ipv4-v1
|
||||||
|
- svcOperationCfsParamId: 514
|
||||||
|
svcOperationCfsParam: accessIpList
|
||||||
|
dataType: json
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 515
|
||||||
|
svcOperationCfsParam: imageVm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- RockyLinux_9-16G-cloudinit
|
||||||
|
- Ubuntu_22-20G
|
||||||
|
- Debian_13-20G
|
||||||
|
- svcOperationCfsParamId: 516
|
||||||
|
svcOperationCfsParam: userLogin
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 517
|
||||||
|
svcOperationCfsParam: userPublicKey
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 518
|
||||||
|
svcOperationCfsParam: cloudInit
|
||||||
|
dataType: yaml
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 520
|
||||||
|
svcOperationCfsParam: accessPortList
|
||||||
|
dataType: json
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
132:
|
||||||
|
- 407
|
||||||
|
- 408
|
||||||
|
- 409
|
||||||
|
- 410
|
||||||
|
- 411
|
||||||
|
- 412
|
||||||
|
- 413
|
||||||
|
- 414
|
||||||
|
- 415
|
||||||
|
- 416
|
||||||
|
- 417
|
||||||
|
- 448
|
||||||
|
133: []
|
||||||
|
159:
|
||||||
|
- 493
|
||||||
|
- 494
|
||||||
|
- 495
|
||||||
|
- 496
|
||||||
|
- 497
|
||||||
|
- 498
|
||||||
|
286: []
|
||||||
|
164:
|
||||||
|
- 509
|
||||||
|
- 510
|
||||||
|
- 511
|
||||||
|
- 512
|
||||||
|
- 513
|
||||||
|
- 514
|
||||||
|
- 515
|
||||||
|
- 516
|
||||||
|
- 517
|
||||||
|
- 518
|
||||||
|
- 520
|
||||||
|
135: []
|
||||||
|
134: []
|
||||||
|
stateParams:
|
||||||
|
vappUid: ''
|
||||||
|
vmName: web01
|
||||||
|
vmCpu: '1'
|
||||||
|
vmRam: '1'
|
||||||
|
vmDisk: ''
|
||||||
|
ipSpaceName: ''
|
||||||
|
accessIpList: ''
|
||||||
|
imageVm: ''
|
||||||
|
cloudInit: ''
|
||||||
|
userLogin: myuser
|
||||||
|
userPublicKey: ''
|
||||||
|
accessPortList: '["22"]'
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
name: vc_vdc_group
|
||||||
|
service_id: 29
|
||||||
|
service_display_name: Группа датацентров
|
||||||
|
service_short_name: vcVdcGroup
|
||||||
|
service_man: '# Инструкция по развертыванию Группа виртуальных датацентров (groupvDC) через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Группа виртуальных датацентров (groupvDC)** предназначен
|
||||||
|
для логического объединения нескольких виртуальных датацентров (vDC) в единую группу. Это позволяет растягивать SDN между разными vDC и централизованно управлять сетевой связностью. Управление инфраструктурой
|
||||||
|
осуществляется через Cloud Director.<br/>Сервис применяется в случаях, когда требуется обеспечить единое сетевое пространство для распределенных виртуальных датацентров.<br/><br/>### Доступные операции<br/><br/>**create**
|
||||||
|
— Создание новой группы виртуальных датацентров.<br/>**delete** — Удаление существующей группы vDC.<br/>**add_vdc** — Добавление дополнительного виртуального датацентра в группу.<br/>**remove_vdc** —
|
||||||
|
Удаление ранее добавленного виртуального датацентра из группы.<br/><br/>---<br/><br/>## 2. Параметры развертывания<br/><br/>Параметры операции **create**:<br/><br/>### UUID VDC<br/>Идентификатор виртуального
|
||||||
|
датацентра, который будет являться первичным в группе.<br/>Описание: требуется предварительно создать виртуальный датацентр с помощью услуги `Виртуальный датацентр (vDC)`.<br/><br/>---<br/><br/>## 3.
|
||||||
|
Рекомендованные характеристики<br/><br/>### Тестовое окружение<br/>- Для тестового окружения создавать группу VDC нет необходимости, так как это создаёт дополнительный слой абстракции в Cloud Director<br/><br/>###
|
||||||
|
Промышленное окружение<br/>- Для промышленного окружения, если в тенанте существуют разные VDC, создание groupvdc позволит снизить сетевые издержки (за счёт общей сети)<br/><br/>---<br/><br/>## 4. Выходные
|
||||||
|
параметры<br/><br/>### Параметры groupvdc<br/>Набор параметров, указанных пользователем при создании<br/><br/>---<br/><br/>## 5. Дополнительная информация<br/>- Группа vDC используется для растягивания
|
||||||
|
SDN между несколькими виртуальными датацентрами. Управление всеми сетевыми элементами внутри группы выполняется Cloud Director.<br/>- Удалить первичный vDC (тот, что был указан при операции **create**)
|
||||||
|
невозможно. Для его удаления необходимо удалить всю группу и создать новую.<br/>- Перед добавлением любого vDC в группу он должен быть предварительно развернут через сервис `Виртуальный датацентр (vDC)`.<br/>-
|
||||||
|
Сети создаются не в этой услуге, а в услуге `Сетевой шлюз периметра (Edge)`. В ней необходимо будет выбрать тип `groupvdc`'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 192
|
||||||
|
operation: add_vdc
|
||||||
|
kind: subresource
|
||||||
|
action: add
|
||||||
|
- svcOperationId: 191
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 195
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 251
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 193
|
||||||
|
operation: remove_vdc
|
||||||
|
kind: subresource
|
||||||
|
action: remove
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 619
|
||||||
|
svcOperationCfsParam: vdcUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 618
|
||||||
|
svcOperationCfsParam: vdcUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 620
|
||||||
|
svcOperationCfsParam: vdcName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
192:
|
||||||
|
- 619
|
||||||
|
191:
|
||||||
|
- 618
|
||||||
|
195: []
|
||||||
|
251: []
|
||||||
|
193:
|
||||||
|
- 620
|
||||||
|
stateParams:
|
||||||
|
vdcUid: ''
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
name: template
|
||||||
|
service_id: 2
|
||||||
|
service_display_name: Темплейт k8s
|
||||||
|
service_short_name: template
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 74
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 75
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 76
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 298
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 98
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 97
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 813
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '100'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '5'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '128'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 814
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 815
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
type:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ingress
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- ingress
|
||||||
|
- service
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: abracadabra-aoy3qnll
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 816
|
||||||
|
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
|
||||||
|
- svcOperationCfsParamId: 817
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
type:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- ingress
|
||||||
|
- service
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
74:
|
||||||
|
- 813
|
||||||
|
- 814
|
||||||
|
- 815
|
||||||
|
75: []
|
||||||
|
76:
|
||||||
|
- 816
|
||||||
|
- 817
|
||||||
|
298: []
|
||||||
|
98: []
|
||||||
|
97: []
|
||||||
|
stateParams:
|
||||||
|
clusterConfiguration: '{"cpu": 100, "disk": 5, "memory": 128, "replicas": 1}'
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
accessConfiguration: '{"slaveAccessList": "[]", "type": "ingress", "domain": "abracadabra-aoy3qnll", "masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": ""}'
|
||||||
@@ -0,0 +1,428 @@
|
|||||||
|
name: nextcloud
|
||||||
|
service_id: 50
|
||||||
|
service_display_name: Nextcloud
|
||||||
|
service_short_name: nextcloud
|
||||||
|
service_man: 'Ресурсная платформа: k8s. Автоматизация: helm chart'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 16
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 404
|
||||||
|
operation: create_backup
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 17
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 67
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 390
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 406
|
||||||
|
operation: recovery
|
||||||
|
kind: action
|
||||||
|
action: recovery
|
||||||
|
- svcOperationId: 66
|
||||||
|
operation: restart
|
||||||
|
kind: action
|
||||||
|
action: restart
|
||||||
|
- svcOperationId: 129
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 128
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
backups: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1055
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
redisUid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
psqlEnabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
redisEnabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
psqlUid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1056
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1000'
|
||||||
|
- '2000'
|
||||||
|
- '3000'
|
||||||
|
- '4000'
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1024'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1024'
|
||||||
|
- '2048'
|
||||||
|
- '3072'
|
||||||
|
- '4096'
|
||||||
|
- '5120'
|
||||||
|
- '6144'
|
||||||
|
- '7168'
|
||||||
|
- '8192'
|
||||||
|
- svcOperationCfsParamId: 1057
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: nextcloud-vjp2crbf
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1058
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: 33.0.4
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 33.0.4
|
||||||
|
documentServer:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: collabora
|
||||||
|
isRequired: true
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
veleroUid:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1059
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1000'
|
||||||
|
- '2000'
|
||||||
|
- '3000'
|
||||||
|
- '4000'
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1024'
|
||||||
|
- '2048'
|
||||||
|
- '3072'
|
||||||
|
- '4096'
|
||||||
|
- '5120'
|
||||||
|
- '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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
logLevel:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- DEBUG
|
||||||
|
- INFO
|
||||||
|
- WARN
|
||||||
|
- ERROR
|
||||||
|
- FATAL
|
||||||
|
- NONE
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 33.0.4
|
||||||
|
documentServer:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- collabora
|
||||||
|
- svcOperationCfsParamId: 1078
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- 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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
redisEnabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'true'
|
||||||
|
psqlUid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
redisUid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1079
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1000'
|
||||||
|
- '2000'
|
||||||
|
- '3000'
|
||||||
|
- '4000'
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1024'
|
||||||
|
- '2048'
|
||||||
|
- '3072'
|
||||||
|
- '4096'
|
||||||
|
- '5120'
|
||||||
|
- '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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: nextcloud-dcxz2gqv
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1081
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
logLevel:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: NONE
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- DEBUG
|
||||||
|
- INFO
|
||||||
|
- WARN
|
||||||
|
- ERROR
|
||||||
|
- FATAL
|
||||||
|
- NONE
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
documentServer:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: collabora
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- collabora
|
||||||
|
cfsParamsByOp:
|
||||||
|
16:
|
||||||
|
- 1055
|
||||||
|
- 1056
|
||||||
|
- 1057
|
||||||
|
- 1058
|
||||||
|
404:
|
||||||
|
- 1077
|
||||||
|
17: []
|
||||||
|
67:
|
||||||
|
- 1059
|
||||||
|
- 1060
|
||||||
|
390: []
|
||||||
|
406:
|
||||||
|
- 1078
|
||||||
|
- 1079
|
||||||
|
- 1080
|
||||||
|
- 1081
|
||||||
|
66: []
|
||||||
|
129: []
|
||||||
|
128: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"redisUid": "", "resourceRealm": "", "psqlEnabled": true, "redisEnabled": true, "psqlUid": ""}'
|
||||||
|
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 1000, "memory": 1024}'
|
||||||
|
accessConfiguration: '{"domain": "nextcloud-vjp2crbf"}'
|
||||||
|
appConfiguration: '{"version": "33.0.4", "documentServer": "collabora", "logLevel": "INFO"}'
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
name: superset
|
||||||
|
service_id: 81
|
||||||
|
service_display_name: Apache Superset
|
||||||
|
service_short_name: superset
|
||||||
|
service_man: 'Apache Superset как сервис. <br/>Ресурсная платформа: k8s. <br/>Автоматизация: k8s operator.<br/>Авторизация: 2FA keycloak (для доменного логина @mgmt.nubes.ru)'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 12
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 13
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 14
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: superset-1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 20
|
||||||
|
svcOperationCfsParam: emails
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: testuser1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 96
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '500'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 97
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '512'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 98
|
||||||
|
svcOperationCfsParam: resourceDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 109
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 227
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
12:
|
||||||
|
- 14
|
||||||
|
- 20
|
||||||
|
- 96
|
||||||
|
- 97
|
||||||
|
- 98
|
||||||
|
- 109
|
||||||
|
- 227
|
||||||
|
13: []
|
||||||
|
stateParams:
|
||||||
|
domain: superset-1
|
||||||
|
emails: testuser1
|
||||||
|
resourceCPU: '500'
|
||||||
|
resourceMemory: '512'
|
||||||
|
resourceDisk: '1'
|
||||||
|
resourceRealm: ''
|
||||||
|
resourceInstances: '1'
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
name: harbor
|
||||||
|
service_id: 82
|
||||||
|
service_display_name: Container Registry
|
||||||
|
service_short_name: harbor
|
||||||
|
service_man: 'Расширенный реестр для управления Docker-образами с enterprise-функциями безопасности, репликации и контроля доступа.<br/>Container Registry позволяет хранить, развертывать и управлять Docker-образами
|
||||||
|
контейнеров в инфраструктуре NGcloud.<br/>Сервис можно использовать в процессе разработки контейнеров. Например, вы можете настроить систему автоматизации на работу с реестром в Container Registry в рамках
|
||||||
|
процесса непрерывной интеграции. Контейнеры идеально подходят для запуска небольших, независимых и легко изменяемых сервисов.<br/>Чтобы начать работу, создайте реестр и загрузите в него Docker-образ<br/>Авторизация:
|
||||||
|
keycloak'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: false
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 14
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 15
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 270
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 16
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: harbor-1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 110
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 228
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '100'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 229
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '200'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 230
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 231
|
||||||
|
svcOperationCfsParam: s3Uid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- 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
|
||||||
|
cfsParamsByOp:
|
||||||
|
14:
|
||||||
|
- 16
|
||||||
|
- 110
|
||||||
|
- 228
|
||||||
|
- 229
|
||||||
|
- 230
|
||||||
|
- 231
|
||||||
|
15: []
|
||||||
|
270:
|
||||||
|
- 822
|
||||||
|
- 823
|
||||||
|
- 824
|
||||||
|
stateParams:
|
||||||
|
domain: harbor-1
|
||||||
|
resourceRealm: ''
|
||||||
|
resourceCPU: '100'
|
||||||
|
resourceMemory: '200'
|
||||||
|
resourceInstances: '1'
|
||||||
|
s3Uid: ''
|
||||||
@@ -0,0 +1,177 @@
|
|||||||
|
name: k8s_velero
|
||||||
|
service_id: 86
|
||||||
|
service_display_name: Velero
|
||||||
|
service_short_name: k8sVelero
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 332
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 331
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 334
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 336
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 335
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 333
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 962
|
||||||
|
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: '2048'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '2'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 963
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 964
|
||||||
|
svcOperationCfsParam: nodeAgentConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2000'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '2048'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1076
|
||||||
|
svcOperationCfsParam: backupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
s3BucketUid:
|
||||||
|
dataType: uuid
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1082
|
||||||
|
svcOperationCfsParam: deleteS3Bucket
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 965
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '2'
|
||||||
|
- '3'
|
||||||
|
- svcOperationCfsParamId: 966
|
||||||
|
svcOperationCfsParam: nodeAgentConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
332:
|
||||||
|
- 962
|
||||||
|
- 963
|
||||||
|
- 964
|
||||||
|
- 1076
|
||||||
|
331:
|
||||||
|
- 1082
|
||||||
|
334:
|
||||||
|
- 965
|
||||||
|
- 966
|
||||||
|
336: []
|
||||||
|
335: []
|
||||||
|
333: []
|
||||||
|
stateParams:
|
||||||
|
clusterConfiguration: '{"cpu": 1000, "memory": 2048, "replicas": 1}'
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
nodeAgentConfiguration: '{"cpu": 2000, "memory": 2048}'
|
||||||
|
backupConfiguration: '{"s3BucketUid": ""}'
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
name: flask
|
||||||
|
service_id: 89
|
||||||
|
service_display_name: Web-сервер с фреймворком Flask
|
||||||
|
service_short_name: flask
|
||||||
|
service_man: '# Инструкция по развертыванию Web-сервер с фреймворком Flask через платформу<br/><br/>## 1. Общая информация<br/><br/>Сервис **Web-сервер с фреймворком Flask** предназначен для развертывания
|
||||||
|
веб-приложений на базе Flask.<br/><br/>### Доступные операции<br/><br/>create — включить сервис, развернуть веб-приложение с указанными параметрами.<br/>delete — удалить сервис, только после suspend.<br/>modify
|
||||||
|
— изменить настройки сервиса и переразвернуть.<br/>suspend — выключить веб-приложение, остановить обслуживание.<br/>resume — включить веб-приложение после suspend.<br/><br/>---<br/><br/>## 2. Параметры
|
||||||
|
развертывания<br/><br/>Параметры входных данных операции **create**:<br/><br/>### Имя домена<br/>Описание: доменное имя для доступа к веб-приложению. Если указан FQDN, происходит проверка DNS на валидность
|
||||||
|
А-записи. А-запись должна указывать на балансировщик ресурсной платформы. Если указано имя в рамках одного октета, оно будет добавлено в публичную DNS-зону.<br/>Пример значения: строка, допустимые FQDN
|
||||||
|
или имя в одном октете. Пример: example.com или myapp.<br/><br/>### Платформа для развертывания<br/>Описание: кластер Kubernetes, в котором будет развернуто приложение.<br/>Пример значения: идентификатор
|
||||||
|
кластера Kubernetes.<br/><br/>### Квота ядра пода<br/>Описание: количество CPU, выделяемое на под, в Milicores.<br/>Пример значения: целое число, например 500 для 0.5 ядра.<br/><br/>### Квота памяти пода<br/>Описание:
|
||||||
|
количество памяти, выделяемое на под, в Megabytes.<br/>Пример значения: целое число, например 512 для 512 MB.<br/><br/>### Кол-во реплик пода<br/>Описание: количество инстансов пода для масштабирования.<br/>Пример
|
||||||
|
значения: целое число, шт, например 2.<br/><br/>### URL Проекта (gitpath)<br/>Описание: полный HTTPS путь до проекта в Git-репозитории.<br/>Пример значения: URL в формате https://github.com/myuser/myproject.git.
|
||||||
|
Доступ к репозиторию должен быть публичным.<br/><br/>### URL HealthCheck<br/>Описание: путь для проверки здоровья приложения внутри пода.<br/>Пример значения: строка, путь, например /api/v1/health.<br/><br/>###
|
||||||
|
Переменные окружения пода<br/>Описание: структура данных, которая будет передана как переменные окружения в под.<br/>Пример значения: ключ-значение, например {"ENV": "production"}.<br/><br/>---<br/><br/>##
|
||||||
|
3. Рекомендованные характеристики<br/><br/>### Тестовое окружение<br/>- Квота ядра пода: 300m (0.3 ядра)<br/>- Квота памяти пода: 256 MB<br/>- Кол-во реплик пода: 1<br/><br/>### Промышленное окружение<br/>-
|
||||||
|
Квота ядра пода: от 1000m (1 ядро) в зависимости от нагрузки<br/>- Квота памяти пода: от 1024 MB (1 GB) с учетом потребностей приложения<br/>- Кол-во реплик пода: от 2 для обеспечения отказоустойчивости<br/><br/>---<br/><br/>##
|
||||||
|
4. Выходные параметры<br/>Операция create не возвращает явных выходных параметров. Успешное выполнение операции приводит к развертыванию сервиса, доступного по указанному домену.<br/><br/>---<br/><br/>##
|
||||||
|
5. Дополнительная информация<br/>- В корне проекта должен находиться файл requirements.txt со списком зависимостей Python.<br/>- Исходный код веб-приложения должен располагаться в директории site.<br/>-
|
||||||
|
Запуск веб-сервера осуществляется командой python app.py.<br/>- Используется версия Python: python:3.12-slim.<br/>- Git-репозиторий должен быть публично доступен для платформы.<br/>- Операция delete возможна
|
||||||
|
только после suspend.<br/>- Операция modify приводит к переразвертыванию с новыми параметрами.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 376
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 379
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 375
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 381
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 380
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 378
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 377
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1037
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1038
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '200'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '256'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- svcOperationCfsParamId: 1039
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: flask-ub0sbq5h
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1040
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1041
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1042
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- svcOperationCfsParamId: 1043
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '3.12'
|
||||||
|
gitPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1044
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1045
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
cfsParamsByOp:
|
||||||
|
376:
|
||||||
|
- 1037
|
||||||
|
- 1038
|
||||||
|
- 1039
|
||||||
|
- 1040
|
||||||
|
- 1041
|
||||||
|
379: []
|
||||||
|
375:
|
||||||
|
- 1042
|
||||||
|
- 1043
|
||||||
|
- 1044
|
||||||
|
381: []
|
||||||
|
380:
|
||||||
|
- 1045
|
||||||
|
378: []
|
||||||
|
377: []
|
||||||
|
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": ""}'
|
||||||
|
jsonEnv: '{}'
|
||||||
@@ -0,0 +1,859 @@
|
|||||||
|
name: postgres
|
||||||
|
service_id: 90
|
||||||
|
service_display_name: PostgreSQL
|
||||||
|
service_short_name: postgres
|
||||||
|
service_man: '# Инструкция по развертыванию PostgreSQL через платформу<br/><br/>---<br/>## 1. Общая информация<br/><br/>PostgreSQL — это надёжная объектно-реляционная СУБД с открытым исходным кодом, поддерживающая
|
||||||
|
расширенный набор функций, транзакции и хранение сложных типов данных. Развёртывание полностью автоматизировано платформой на базе Zalando Postgres Operator с использованием Kubernetes.<br/><br/>## Доступные
|
||||||
|
операции<br/><br/>- **create** — Создание кластера<br/>- **delete** — Удаление кластера<br/>- **modify** — Модификация кластера<br/>- **suspend** — Остановка кластера<br/>- **resume** —
|
||||||
|
Запуск кластера<br/>- **restart** — Перезапуск кластера<br/>- **recovery** — Восстановление из резервной копии<br/><br/>- **create_user** — Создание пользователя<br/>- **delete_user** — Удаление
|
||||||
|
пользователя<br/><br/>- **create_database** — Создание базы данных<br/>- **delete_database** — Удаление базы данных<br/><br/><br/>---<br/>## 2. Параметры развертывания кластера<br/><br/>Ниже перечислены
|
||||||
|
параметры, которые необходимо указать при создании ресурса PostgreSQL:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в которой будет развернут кластер). Пример:
|
||||||
|
`k8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество инстансов (реплик) в кластере PostgreSQL. Пример: `2` (master + slave).<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 master:**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/>*
|
||||||
|
**Выделяет внешний IP для доступа к slave:**<br/> Флаг для выделения внешнего IP для slave (реплики чтения). Работает, если slave присутствует в кластере.<br/><br/>* **Имя ipSpace для публикации внешнего
|
||||||
|
IP slave:**<br/> Если включен параметр для slave, то поле необходимо заполнить.<br/><br/>* **UUID экземпляра услуги S3:**<br/> UUID экземпляра S3 для хранения резервных копий.<br/><br/>* **Версия PostgreSQL:**<br/> Версия
|
||||||
|
PostgreSQL для развертывания. Пример: `16`<br/><br/>* **Расписание бэкапов (ext_BACKUP_SCHEDULE):**<br/> Необязательный. Cron-выражение для времени запуска бэкапов. По умолчанию: `0 0 * * *` (ежедневно
|
||||||
|
в полночь).<br/><br/>* **Количество сохраняемых бэкапов (ext_BACKUP_NUM_TO_RETAIN):**<br/> Необязательный. Количество сохраняемых бэкапов. По умолчанию: `7`<br/><br/>* **PgPooler (master / slave):**<br/> Флаги
|
||||||
|
включения PgBouncer для подключений на запись и чтение. При включении создаётся отдельный под.<br/><br/>* **Разрешить подключение без SSL (allowNoSSL):**<br/> По умолчанию подключение с sslmode=require.
|
||||||
|
При `true` разрешается подключение без SSL.<br/><br/>* **Автоскейлинг PV (autoScale):**<br/> Включает автоскейлинг тома. Требует настройки autoScalePercentage, autoScaleTechWindow, autoScaleQuotaGb.<br/><br/>*
|
||||||
|
**Дополнительные параметры PostgreSQL (jsonParameters):**<br/> JSON с переменными конфигурации PostgreSQL. Документация: https://www.postgresql.org/docs/current/runtime-config.html<br/><br/>---<br/>##
|
||||||
|
3. Выходные параметры<br/><br/>После успешного развертывания ресурса PostgreSQL платформа возвращает ряд параметров.<br/><br/>#### externalConnect<br/><br/>Внешние эндпоинты для подключения к кластеру:<br/>-
|
||||||
|
**master** — для операций записи (host: `write.${namespace}`, port: 5432)<br/>- **slave** — для операций чтения (host: `read.${namespace}`, port: 5432)<br/><br/>Пример ответа платформы:<br/><br/>```json<br/>{<br/> "slave":
|
||||||
|
{<br/> "ip": "",<br/> "fqdn": "",<br/> "uuid": "",<br/> "isExternal": false<br/> },<br/> "master": {<br/> "ip": "<ip>",<br/> "fqdn": "write.<namespace>.<cluster-domain>",<br/> "uuid":
|
||||||
|
"<uuid>",<br/> "isExternal": false<br/> }<br/>}<br/>```<br/><br/>Поля: `ip` — внешний IP; `fqdn` — полное имя хоста; `uuid` — идентификатор; `isExternal` — признак внешнего доступа.<br/><br/>####
|
||||||
|
internalConnect<br/><br/>Внутренние эндпоинты (FQDN) для подключения из других сервисов внутри той же сети Kubernetes.<br/><br/>Пример ответа платформы:<br/><br/>```json<br/>{<br/> "slave": "",<br/> "master":
|
||||||
|
{<br/> "slave": "",<br/> "master": {<br/> "slave": "",<br/> "master": "postgresqlk8s-master.<namespace>.svc.cluster.local"<br/> }<br/> }<br/>}<br/>```<br/><br/>Для подключения используйте
|
||||||
|
значение `master.master.master` (host для записи) или соответствующее значение slave (host для чтения).<br/><br/>Для подключения используется порт **5432**.<br/><br/>---<br/>## 4. Управление пользователями<br/><br/>###
|
||||||
|
create_user — Создание пользователя<br/><br/>* **Имя пользователя (username):**<br/> Имя создаваемого пользователя. Используется для подключения к базе и настройки прав.<br/> Пример: `myapp_user`<br/><br/>*
|
||||||
|
**Роль (role):**<br/> Тип роли пользователя. Допустимые значения:<br/> - `app_user` — базовые права для DML-операций (SELECT, INSERT, UPDATE, DELETE)<br/> - `ddl_user` — расширенные права: createdb,
|
||||||
|
createrole (управление базами и ролями)<br/><br/>Защищённые имена, которые нельзя использовать: `admin`, `postgres`, `standby`.<br/><br/>### delete_user — Удаление пользователя<br/><br/>* **Имя пользователя
|
||||||
|
(username):**<br/> Имя удаляемого пользователя. Пример: `myapp_user`<br/><br/>Пользователя нельзя удалить, если он является владельцем базы данных. Сначала удалите или передайте владение базами данных
|
||||||
|
другому пользователю.<br/><br/>---<br/>## 5. Управление базами данных<br/><br/>### create_database — Создание базы данных<br/><br/>* **Имя базы данных (dbName):**<br/> Название создаваемой базы данных.
|
||||||
|
Пример: `myapp_db`<br/><br/>* **Владелец базы данных (dbOwner):**<br/> Имя пользователя-владельца базы. Должен существовать в кластере (создан через create_user). Пример: `myapp_user`<br/><br/>### delete_database
|
||||||
|
— Удаление базы данных<br/><br/>* **Имя базы данных (dbName):**<br/> Название удаляемой базы данных. Пример: `myapp_db`<br/>'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 19
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 264
|
||||||
|
operation: create_backup
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 245
|
||||||
|
operation: create_database
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 241
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 20
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 246
|
||||||
|
operation: delete_database
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 244
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 48
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 263
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 47
|
||||||
|
operation: recovery
|
||||||
|
kind: action
|
||||||
|
action: recovery
|
||||||
|
- svcOperationId: 54
|
||||||
|
operation: restart
|
||||||
|
kind: action
|
||||||
|
action: restart
|
||||||
|
- svcOperationId: 114
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 115
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
backups: {}
|
||||||
|
databases: {}
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 788
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
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
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 790
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 791
|
||||||
|
svcOperationCfsParam: postgresConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '17'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '17'
|
||||||
|
- '16'
|
||||||
|
sslRequired:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
poolerMaster:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
poolerSlave:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 792
|
||||||
|
svcOperationCfsParam: postgresConf
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
paramName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- log_connections
|
||||||
|
- log_disconnections
|
||||||
|
paramValue:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 793
|
||||||
|
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: 794
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
percent:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '10'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '10'
|
||||||
|
- '15'
|
||||||
|
- '20'
|
||||||
|
enabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: '0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '5'
|
||||||
|
- '12'
|
||||||
|
- '23'
|
||||||
|
quota:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '100'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1094
|
||||||
|
svcOperationCfsParam: mtlsConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
certServer:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
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
|
||||||
|
certCA:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 741
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 742
|
||||||
|
svcOperationCfsParam: dbOwner
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 733
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 740
|
||||||
|
svcOperationCfsParam: role
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- app_user
|
||||||
|
- ddl_user
|
||||||
|
- svcOperationCfsParamId: 1096
|
||||||
|
svcOperationCfsParam: mtlsAccess
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'false'
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 457
|
||||||
|
svcOperationCfsParam: deleteS3Bucket
|
||||||
|
dataType: boolean
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: 'true'
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 743
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 739
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 795
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 796
|
||||||
|
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
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 797
|
||||||
|
svcOperationCfsParam: postgresConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '17'
|
||||||
|
- '16'
|
||||||
|
sslRequired:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: false,true
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
poolerMaster:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
poolerSlave:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 798
|
||||||
|
svcOperationCfsParam: postgresConf
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
paramValue:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
paramName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- log_connections
|
||||||
|
- log_disconnections
|
||||||
|
- svcOperationCfsParamId: 799
|
||||||
|
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: 0 0 * * *
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 800
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '5'
|
||||||
|
- '12'
|
||||||
|
- '23'
|
||||||
|
- svcOperationCfsParamId: 1095
|
||||||
|
svcOperationCfsParam: mtlsConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
durationCA:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
durationServer:
|
||||||
|
dataType: integer > 0
|
||||||
|
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'
|
||||||
|
type:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'off'
|
||||||
|
- manual
|
||||||
|
- auto
|
||||||
|
- svcOperationCfsParamId: 801
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
recoveryPoint:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 802
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
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'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '10'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '500'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 803
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 804
|
||||||
|
svcOperationCfsParam: postgresConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '17'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '17'
|
||||||
|
- '16'
|
||||||
|
sslRequired:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'true'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
poolerMaster:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
poolerSlave:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
- svcOperationCfsParamId: 805
|
||||||
|
svcOperationCfsParam: postgresConf
|
||||||
|
dataType: array-map-fixed
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
paramName:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- log_connections
|
||||||
|
- log_disconnections
|
||||||
|
paramValue:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 806
|
||||||
|
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: 807
|
||||||
|
svcOperationCfsParam: autoscaleConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
enabled:
|
||||||
|
dataType: boolean
|
||||||
|
defaultValue: 'false'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- 'false'
|
||||||
|
- 'true'
|
||||||
|
schedule:
|
||||||
|
dataType: integer >= 0
|
||||||
|
defaultValue: '0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '0'
|
||||||
|
- '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'
|
||||||
|
cfsParamsByOp:
|
||||||
|
19:
|
||||||
|
- 788
|
||||||
|
- 789
|
||||||
|
- 790
|
||||||
|
- 791
|
||||||
|
- 792
|
||||||
|
- 793
|
||||||
|
- 794
|
||||||
|
- 1094
|
||||||
|
264: []
|
||||||
|
245:
|
||||||
|
- 741
|
||||||
|
- 742
|
||||||
|
241:
|
||||||
|
- 733
|
||||||
|
- 740
|
||||||
|
- 1096
|
||||||
|
20:
|
||||||
|
- 457
|
||||||
|
246:
|
||||||
|
- 743
|
||||||
|
244:
|
||||||
|
- 739
|
||||||
|
48:
|
||||||
|
- 795
|
||||||
|
- 796
|
||||||
|
- 797
|
||||||
|
- 798
|
||||||
|
- 799
|
||||||
|
- 800
|
||||||
|
- 1095
|
||||||
|
263: []
|
||||||
|
47:
|
||||||
|
- 801
|
||||||
|
- 802
|
||||||
|
- 803
|
||||||
|
- 804
|
||||||
|
- 805
|
||||||
|
- 806
|
||||||
|
- 807
|
||||||
|
54: []
|
||||||
|
114: []
|
||||||
|
115: []
|
||||||
|
stateParams:
|
||||||
|
clusterConfiguration: '{"replicas": 1, "disk": 10, "cpu": 500, "memory": 512}'
|
||||||
|
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": ""}'
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
name: redis
|
||||||
|
service_id: 91
|
||||||
|
service_display_name: Redis
|
||||||
|
service_short_name: redis
|
||||||
|
service_man: 'Redis кластер. Под кеши. <br/>Ресурсная платформа: k8s. <br/>Автоматизация: k8s operator<br/>port 6379'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 21
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 22
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 394
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 391
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 393
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 392
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1061
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1062
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '10'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1063
|
||||||
|
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
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1064
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1065
|
||||||
|
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
|
||||||
|
slaveIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
slaveAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
cfsParamsByOp:
|
||||||
|
21:
|
||||||
|
- 1061
|
||||||
|
- 1062
|
||||||
|
- 1063
|
||||||
|
22: []
|
||||||
|
394:
|
||||||
|
- 1064
|
||||||
|
- 1065
|
||||||
|
391: []
|
||||||
|
393: []
|
||||||
|
392: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 500, "memory": 512, "replicas": 1, "disk": 10}'
|
||||||
|
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]", "slaveIpSpace": "", "slaveAccessList": "[]"}'
|
||||||
@@ -0,0 +1,267 @@
|
|||||||
|
name: mongodb
|
||||||
|
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-квота
|
||||||
|
для пода в миликорах (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/>Сейчас соединение с базой работает без шифрования, и доступ к кластеру осуществляется только по логину
|
||||||
|
и паролю.'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 37
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 198
|
||||||
|
operation: create_user
|
||||||
|
kind: subresource
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 190
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 199
|
||||||
|
operation: delete_user
|
||||||
|
kind: subresource
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 201
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 200
|
||||||
|
operation: modify_user
|
||||||
|
kind: subresource
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 409
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 196
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 194
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut:
|
||||||
|
users: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1089
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1090
|
||||||
|
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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '5'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1091
|
||||||
|
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: 635
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 636
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 643
|
||||||
|
svcOperationCfsParam: role
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- dbOwner
|
||||||
|
- read
|
||||||
|
- readWrite
|
||||||
|
- svcOperationCfsParamId: 644
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1092
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1093
|
||||||
|
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: 640
|
||||||
|
svcOperationCfsParam: username
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 641
|
||||||
|
svcOperationCfsParam: dbName
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 642
|
||||||
|
svcOperationCfsParam: role
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- dbOwner
|
||||||
|
- read
|
||||||
|
- readWrite
|
||||||
|
cfsParamsByOp:
|
||||||
|
37:
|
||||||
|
- 1089
|
||||||
|
- 1090
|
||||||
|
- 1091
|
||||||
|
198:
|
||||||
|
- 635
|
||||||
|
- 636
|
||||||
|
- 643
|
||||||
|
190: []
|
||||||
|
199:
|
||||||
|
- 644
|
||||||
|
201:
|
||||||
|
- 1092
|
||||||
|
- 1093
|
||||||
|
200:
|
||||||
|
- 640
|
||||||
|
- 641
|
||||||
|
- 642
|
||||||
|
409: []
|
||||||
|
196: []
|
||||||
|
194: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||||
|
accessConfiguration: '{"masterAccessList": "[]", "masterIpSpace": ""}'
|
||||||
@@ -0,0 +1,196 @@
|
|||||||
|
name: rabbitmq
|
||||||
|
service_id: 93
|
||||||
|
service_display_name: RabbitMQ
|
||||||
|
service_short_name: rabbitmq
|
||||||
|
service_man: '# Инструкция по развертыванию RabbitMQ через платформу<br/><br/>---<br/>## 1. Общая информация<br/>RabbitMQ — это брокер сообщений с открытым исходным кодом, который обеспечивает надёжную
|
||||||
|
доставку сообщений между приложениями.<br/>Позволяет надёжно передавать сообщения между сервисами и системами, интегрироваться с внешними решениями и использовать как внутренние, так и защищённые TLS-подключения.
|
||||||
|
Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>- **create** — Создание кластера<br/>- **modify** — Изменение параметров кластера<br/>- **delete** — Удаление
|
||||||
|
кластера<br/>- **suspend** — Остановка кластера<br/>- **resume** — Запуск кластера<br/><br/><br/>---<br/>## 2. Параметры развертывания кластера<br/>Ниже перечислены параметры, которые необходимо
|
||||||
|
указать при создании ресурса RabbitMQ:<br/><br/>* **Платформа для развертывания:**<br/> Платформа для развертывания (среда, в которой будет развернут кластер). Пример: `k8s-3.ext.nubes.ru`.<br/><br/>*
|
||||||
|
**Количество узлов в сети:**<br/> Количество реплик в кластере RabbitMQ. При значении больше 1 создаётся кластер с репликацией для обеспечения высокой доступности.<br/> Пример: `1` (single node) или
|
||||||
|
`3` (кластер с репликацией)<br/><br/>* **Квота (megabyte) памяти пода:**<br/> Квота памяти пода в мегабайтах. Пример: `2048`<br/><br/>* **Квота (millicore) ядра пода:**<br/> Квота CPU пода в миликорах
|
||||||
|
(1000 mCPU = 1 vCPU). Пример: `1000`<br/><br/>* **Размер (gigabyte) диска для базы данных:**<br/> Размер диска для хранения данных RabbitMQ в гигабайтах. Пример: `50`<br/><br/>* **Выделяет внешний IP
|
||||||
|
для доступа к master:**<br/> Флаг, определяющий, нужно ли выделять внешний IP для доступа к master-узлу. При включении создаётся Service типа LoadBalancer и настраивается VIP на порту 5672.<br/> Пример:
|
||||||
|
`true` или `false`<br/><br/>* **Имя ipSpace для публикации внешнего IP master:**<br/> Если включен предыдущий параметр, то поле необходимо заполнить. Пример: `internet-no-antiddos-v1`<br/><br/><br/>---<br/>##
|
||||||
|
3. Модификация кластера<br/>Операция **modify** позволяет изменить параметры существующего кластера RabbitMQ.<br/><br/>**Изменяемые параметры:**<br/>* **Квота (megabyte) памяти пода** — можно увеличить
|
||||||
|
или уменьшить<br/>* **Квота (millicore) ядра пода** — можно увеличить или уменьшить<br/>* **Размер (gigabyte) диска для базы данных** — можно только увеличить (уменьшение не поддерживается)<br/>* **Количество
|
||||||
|
узлов в сети** — можно только увеличить (уменьшение не поддерживается)<br/>* **Выделяет внешний IP для доступа к master** — можно включить или выключить<br/>* **Имя ipSpace для публикации внешнего IP
|
||||||
|
master** — можно изменить при включенном внешнем IP<br/><br/>**Ограничения:**<br/>* Уменьшение размера диска не поддерживается<br/>* Уменьшение количества реплик не поддерживается<br/><br/>---<br/>##
|
||||||
|
4. Выходные параметры<br/>После успешного развертывания ресурса RabbitMQ платформа возвращает ряд параметров в разделе "Поля состояния (сгенерированные значения)":<br/><br/>**clusterDomain**<br/>Домен
|
||||||
|
кластера Kubernetes, в котором развернут RabbitMQ.<br/>Пример: `cluster.local`<br/><br/>**inernalConnect**<br/>Внутренние эндпоинты для подключения к кластеру RabbitMQ из других сервисов, развернутых
|
||||||
|
внутри той же сети.<br/>Содержит:<br/>* **master** — FQDN для подключения к кластеру. Пример: `rabbitmqk8s.{namespace}.svc.{clusterDomain}`<br/><br/>**externalConnect**<br/>Внешние эндпоинты для подключения
|
||||||
|
к кластеру RabbitMQ извне.<br/>Содержит объекты с полями:<br/>* **admin** — доступ к веб-интерфейсу управления:<br/> * `fqdn` — полное доменное имя для веб-интерфейса. Пример: `admin.{namespace}.{domain}`<br/> *
|
||||||
|
`ip` — IP-адрес<br/>* **master** — доступ к AMQP протоколу (если включен внешний IP):<br/> * `fqdn` — полное доменное имя для AMQP. Пример: `write.{namespace}.{domain}`<br/> * `ip` — IP-адрес<br/><br/>**monitoring**<br/>Информация
|
||||||
|
о дашбордах мониторинга:<br/>* **allDashboards** — URL для доступа ко всем дашбордам Grafana<br/><br/>Для подключения используются следующие порты:<br/><br/>* **5672** — AMQP протокол (внутренний и внешний
|
||||||
|
доступ, если включен внешний IP)<br/>* **15672** — веб-интерфейс управления (доступен через Ingress по HTTPS)<br/><br/>**Учётные данные**<br/>Данные для подключения к RabbitMQ доступны в разделе "Учётные
|
||||||
|
данные":<br/>* **adminUser** — имя пользователя администратора<br/>* **adminPass** — пароль администратора<br/><br/><br/>---<br/>## 5. Примеры подключения через консоль (rabbitmqadmin)<br/><br/>### Работа
|
||||||
|
с очередями через rabbitmqadmin<br/><br/>Для работы с RabbitMQ через консоль используется утилита `rabbitmqadmin`. Установите её или используйте образ с предустановленной утилитой.<br/><br/>Задайте переменные
|
||||||
|
окружения с учётными данными:<br/><br/>```bash<br/>export RABBITMQ_USERNAME=<adminUser><br/>export RABBITMQ_PASSWORD=<adminPass><br/>export RABBIT_HOST=<host><br/>```<br/><br/>Где:<br/>* `<adminUser>`
|
||||||
|
и `<adminPass>` — учётные данные из раздела "Учётные данные"<br/>* `<host>` — адрес для подключения:<br/> * Для внешнего подключения: `externalConnect.admin.fqdn` или `externalConnect.master.fqdn`<br/><br/>**Создание
|
||||||
|
очереди:**<br/><br/>```bash<br/>rabbitmqadmin \<br/> -H "$RABBIT_HOST" -P 15672 \<br/> -u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \<br/> declare queue name=healthcheck durable=false<br/>```<br/><br/>**Листинг
|
||||||
|
очередей:**<br/><br/>```bash<br/>rabbitmqadmin \<br/> -H "$RABBIT_HOST" -P 15672 \<br/> -u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \<br/> list queues<br/>```<br/><br/>**Отправка сообщения:**<br/><br/>```bash<br/>rabbitmqadmin
|
||||||
|
\<br/> -H "$RABBIT_HOST" -P 15672 \<br/> -u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \<br/> publish exchange=amq.default routing_key=healthcheck payload="ping-$(date +%s)"<br/>```<br/><br/>**Чтение
|
||||||
|
сообщения:**<br/><br/>```bash<br/>rabbitmqadmin \<br/> -H "$RABBIT_HOST" -P 15672 \<br/> -u "$RABBITMQ_USERNAME" -p "$RABBITMQ_PASSWORD" \<br/> get queue=healthcheck ackmode=ack_requeue_false<br/>```<br/><br/>---<br/>##
|
||||||
|
6. Дополнительная информация<br/>Для подключения к кластеру RabbitMQ используйте полученные эндпоинты из раздела "Поля состояния (сгенерированные значения)" и учётные данные из раздела "Учётные данные".<br/><br/>Веб-интерфейс
|
||||||
|
управления доступен по адресу, указанному в параметре `externalConnect.admin.fqdn` через HTTPS.<br/><br/>Для внутреннего подключения используйте адрес из `inernalConnect.master` на порту 5672.<br/><br/>---'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 38
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 39
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 106
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 410
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 117
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 116
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1097
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- 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'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
disk:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '5'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1099
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
masterIpSpace:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
masterAccessList:
|
||||||
|
dataType: json
|
||||||
|
defaultValue: '[]'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1100
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
disk:
|
||||||
|
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
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- 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
|
||||||
|
cfsParamsByOp:
|
||||||
|
38:
|
||||||
|
- 1097
|
||||||
|
- 1098
|
||||||
|
- 1099
|
||||||
|
39: []
|
||||||
|
106:
|
||||||
|
- 1100
|
||||||
|
- 1101
|
||||||
|
410: []
|
||||||
|
117: []
|
||||||
|
116: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 1000, "memory": 1024, "replicas": 1, "disk": 5}'
|
||||||
|
accessConfiguration: '{"masterIpSpace": "", "masterAccessList": "[]"}'
|
||||||
@@ -0,0 +1,228 @@
|
|||||||
|
name: lucee
|
||||||
|
service_id: 94
|
||||||
|
service_display_name: Lucee
|
||||||
|
service_short_name: lucee
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 49
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 50
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 55
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 373
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 53
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 163
|
||||||
|
operation: restart
|
||||||
|
kind: action
|
||||||
|
action: restart
|
||||||
|
- svcOperationId: 95
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 96
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1019
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1020
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '200'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '256'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- svcOperationCfsParamId: 1021
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: lucee-tepsq9jk
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1022
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '6.0'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '5.4'
|
||||||
|
- '6.0'
|
||||||
|
gitPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: https://github.com/xahys/testlucee
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1023
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1024
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: string
|
||||||
|
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'
|
||||||
|
- svcOperationCfsParamId: 1025
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '6.0'
|
||||||
|
- '5.4'
|
||||||
|
gitPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1026
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1027
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
cfsParamsByOp:
|
||||||
|
49:
|
||||||
|
- 1019
|
||||||
|
- 1020
|
||||||
|
- 1021
|
||||||
|
- 1022
|
||||||
|
- 1023
|
||||||
|
50: []
|
||||||
|
55:
|
||||||
|
- 1024
|
||||||
|
- 1025
|
||||||
|
- 1026
|
||||||
|
373: []
|
||||||
|
53:
|
||||||
|
- 1027
|
||||||
|
163: []
|
||||||
|
95: []
|
||||||
|
96: []
|
||||||
|
stateParams:
|
||||||
|
startupConfiguration: '{"resourceRealm": ""}'
|
||||||
|
clusterConfiguration: '{"cpu": 200, "memory": 256, "replicas": 1}'
|
||||||
|
accessConfiguration: '{"domain": "lucee-tepsq9jk"}'
|
||||||
|
appConfiguration: '{"version": "6.0", "gitPath": "https://github.com/xahys/testlucee", "healthPath": ""}'
|
||||||
|
jsonEnv: '{}'
|
||||||
@@ -0,0 +1,229 @@
|
|||||||
|
name: nodejs
|
||||||
|
service_id: 95
|
||||||
|
service_display_name: NodeJS
|
||||||
|
service_short_name: nodejs
|
||||||
|
service_man: Развертывает контейнер в k8s кластере с node, который можно использовать для запуска своих приложений.<br/>Приложение должно быть доступно по ссылки в git репозитории, которая является входным
|
||||||
|
параметром.
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 58
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 61
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 59
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 374
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 60
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 121
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 120
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 1028
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 1029
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
cpu:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '200'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
memory:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '256'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
replicas:
|
||||||
|
dataType: integer > 0
|
||||||
|
defaultValue: '1'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- svcOperationCfsParamId: 1030
|
||||||
|
svcOperationCfsParam: accessConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
dataDescriptor:
|
||||||
|
domain:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: node-btf263ja
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1031
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: '23'
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '18'
|
||||||
|
- '20'
|
||||||
|
- '22'
|
||||||
|
- '23'
|
||||||
|
gitPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: https://github.com/xahys/testnode.git
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1032
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1033
|
||||||
|
svcOperationCfsParam: clusterConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
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: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '1'
|
||||||
|
- '3'
|
||||||
|
- '5'
|
||||||
|
- '7'
|
||||||
|
- svcOperationCfsParamId: 1034
|
||||||
|
svcOperationCfsParam: appConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
version:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- '18'
|
||||||
|
- '20'
|
||||||
|
- '22'
|
||||||
|
- '23'
|
||||||
|
gitPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
healthPath:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: false
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 1035
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 1036
|
||||||
|
svcOperationCfsParam: startupConfiguration
|
||||||
|
dataType: map-fixed
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
dataDescriptor:
|
||||||
|
resourceRealm:
|
||||||
|
dataType: string
|
||||||
|
defaultValue: ''
|
||||||
|
isRequired: true
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
cfsParamsByOp:
|
||||||
|
58:
|
||||||
|
- 1028
|
||||||
|
- 1029
|
||||||
|
- 1030
|
||||||
|
- 1031
|
||||||
|
- 1032
|
||||||
|
61: []
|
||||||
|
59:
|
||||||
|
- 1033
|
||||||
|
- 1034
|
||||||
|
- 1035
|
||||||
|
374: []
|
||||||
|
60:
|
||||||
|
- 1036
|
||||||
|
121: []
|
||||||
|
120: []
|
||||||
|
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: '{}'
|
||||||
@@ -0,0 +1,137 @@
|
|||||||
|
name: pgadmin
|
||||||
|
service_id: 96
|
||||||
|
service_display_name: pgAdmin
|
||||||
|
service_short_name: pgadmin
|
||||||
|
service_man: Инструмент с графическим интерфейсом для управления базами данных PostgreSQL
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 62
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 63
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 64
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 65
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 123
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 122
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 164
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: pgadmin-1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 165
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '500'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 166
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '512'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 167
|
||||||
|
svcOperationCfsParam: resourceDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 169
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
- svcOperationCfsParamId: 170
|
||||||
|
svcOperationCfsParam: login
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 171
|
||||||
|
svcOperationCfsParam: password
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 172
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 173
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 174
|
||||||
|
svcOperationCfsParam: resourceDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 277
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
cfsParamsByOp:
|
||||||
|
62:
|
||||||
|
- 164
|
||||||
|
- 165
|
||||||
|
- 166
|
||||||
|
- 167
|
||||||
|
- 169
|
||||||
|
- 170
|
||||||
|
- 171
|
||||||
|
63: []
|
||||||
|
64:
|
||||||
|
- 172
|
||||||
|
- 173
|
||||||
|
- 174
|
||||||
|
65:
|
||||||
|
- 277
|
||||||
|
123: []
|
||||||
|
122: []
|
||||||
|
stateParams:
|
||||||
|
domain: pgadmin-1
|
||||||
|
resourceCPU: '500'
|
||||||
|
resourceMemory: '512'
|
||||||
|
resourceDisk: '1'
|
||||||
|
resourceRealm: ''
|
||||||
|
login: ''
|
||||||
|
password: ''
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
name: http
|
||||||
|
service_id: 98
|
||||||
|
service_display_name: Простой HTTP контейнер
|
||||||
|
service_short_name: http
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 77
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 78
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 81
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 403
|
||||||
|
operation: reconcile
|
||||||
|
kind: action
|
||||||
|
action: reconcile
|
||||||
|
- svcOperationId: 79
|
||||||
|
operation: redeploy
|
||||||
|
kind: action
|
||||||
|
action: redeploy
|
||||||
|
- svcOperationId: 130
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 131
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 212
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: http-1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 213
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '100'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 214
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '200'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 215
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 216
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- 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
|
||||||
|
- svcOperationCfsParamId: 241
|
||||||
|
svcOperationCfsParam: jsonEnv
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 782
|
||||||
|
svcOperationCfsParam: ingressAnnotations
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: '{}'
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 218
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 219
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 220
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 272
|
||||||
|
svcOperationCfsParam: resourceRealm
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
valueList:
|
||||||
|
- iot-naeel
|
||||||
|
- k8s-3-sandbox-nubes-ru
|
||||||
|
- k8s-4-sandbox-nubes-ru
|
||||||
|
- naeel-test-3
|
||||||
|
cfsParamsByOp:
|
||||||
|
77:
|
||||||
|
- 212
|
||||||
|
- 213
|
||||||
|
- 214
|
||||||
|
- 215
|
||||||
|
- 216
|
||||||
|
- 217
|
||||||
|
- 241
|
||||||
|
- 782
|
||||||
|
78: []
|
||||||
|
81:
|
||||||
|
- 218
|
||||||
|
- 219
|
||||||
|
- 220
|
||||||
|
403: []
|
||||||
|
79:
|
||||||
|
- 272
|
||||||
|
130: []
|
||||||
|
131: []
|
||||||
|
stateParams:
|
||||||
|
domain: http-1
|
||||||
|
resourceCPU: '100'
|
||||||
|
resourceMemory: '200'
|
||||||
|
resourceInstances: '1'
|
||||||
|
resourceRealm: ''
|
||||||
|
registryPath: nexus-sa.tst.nubes.ru/docker-nubes/jolt
|
||||||
|
jsonEnv: ''
|
||||||
|
ingressAnnotations: '{}'
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
name: gitea
|
||||||
|
service_id: 99
|
||||||
|
service_display_name: Gitea
|
||||||
|
service_short_name: gitea
|
||||||
|
service_man: '# Инструкция по развертыванию Gitea через платформу<br/><br/>---<br/>## 1. Общая информация<br/>Gitea — это лёгкий, быстрый и самодостаточный сервис хостинга Git-репозиториев с веб-интерфейсом.<br/>Позволяет
|
||||||
|
создавать и управлять репозиториями, организациями, командами, а также настраивать CI/CD через интеграции.<br/>Развёртывание полностью автоматизировано платформой.<br/><br/>## Доступные операции<br/>-
|
||||||
|
**create** — Создание сервиса Gitea<br/>- **delete** — Удаление сервиса Gitea<br/>- **modify** — Модификация сервиса Gitea<br/>- **suspend** — Остановка сервиса Gitea<br/>- **resume** —
|
||||||
|
Запуск сервиса Gitea<br/><br/>---<br/>## 2. Параметры развертывания<br/>Ниже перечислены параметры, которые необходимо указать при создании ресурса Gitea:<br/><br/>* **Платформа для развертывания:**<br/> Платформа
|
||||||
|
для развертывания (среда, в которой будет развёрнут сервис). Пример: `k8s-3.ext.nubes.ru`.<br/><br/>* **Количество узлов в сети:**<br/> Количество реплик подов Gitea. Пример: `1`<br/><br/>* **Квота (megabyte)
|
||||||
|
памяти пода:**<br/> Квота памяти пода в мегабайтах. Пример: `1024`<br/><br/>* **Квота (millicore) ядра пода:**<br/> Квота CPU пода в миликорах (1000 mCPU = 1 vCPU). Пример: `500`<br/><br/>* **Размер
|
||||||
|
(gigabyte) диска для базы данных:**<br/> Размер PVC для хранения репозиториев и данных Gitea в гигабайтах. Пример: `10`<br/><br/>* **FQDN / Домен:**<br/> Доменное имя, по которому будет доступен сервис.
|
||||||
|
Пример: `git.example.com`<br/><br/>* **Инстанс услуги PostgreSQL:**<br/> UUID услуги k8sPgsql, в которой будет создана база данных `gitea` и пользователь `techgitea`.<br/><br/>* **Дополнительные параметры
|
||||||
|
сервера (iniServerParams):**<br/> JSON-объект с дополнительными параметрами секции `[server]` в `app.ini`. Пример:<br/> ```json<br/> {"MAX_CONTENT_LENGTH": "524288000"}<br/> ```<br/><br/>* **Дополнительные
|
||||||
|
annotations для Ingress (ingressExtraAnnotations):**<br/> JSON-объект с дополнительными annotations для Ingress-контроллера. Пример:<br/> ```json<br/> {"nginx.ingress.kubernetes.io/proxy-body-size":
|
||||||
|
"500m"}<br/> ```<br/><br/>---<br/>## 3. Особенности подключения и работы с репозиториями<br/><br/>### 3.1. Доступ только по HTTPS<br/>Сервис развёртывается с **rootless-образом** Gitea. SSH-сервер внутри
|
||||||
|
и он **доступен только внутри кластера Kubernetes**.<br/><br/>**Внешний доступ к репозиториям осуществляется исключительно по HTTPS через Ingress.**<br/><br/>```bash<br/># Пример клонирования<br/>https://<домен>/<пользователь>/<репозиторий>.git<br/>```<br/><br/>###
|
||||||
|
3.2. Настройка git для передачи логина и пароля<br/>Для работы с приватными репозиториями через HTTPS необходимо передать учётные данные. Рекомендуется использовать один из следующих способов:<br/><br/>**Встроить
|
||||||
|
креды в URL remote**<br/>```bash<br/>git remote set-url origin https://<логин>:<пароль>@<домен>/<пользователь>/<репозиторий>.git<br/>```<br/>> **Важно:** Логин и пароль администратора создаются автоматически
|
||||||
|
при развертывании и хранятся в Vault.<br/><br/>### 3.3. Работа с большими файлами<br/>По умолчанию `MAX_CONTENT_LENGTH` установлен в **500 МБ**, а Ingress пропускает pack-файлы до **500 МБ**.<br/><br/>Если
|
||||||
|
необходимо запушить файлы близкие к лимиту, увеличьте HTTP-буфер git на стороне клиента:<br/>```bash<br/>git config http.postBuffer 524288000<br/>```<br/><br/>Для файлов **более 500 МБ** рекомендуется
|
||||||
|
использовать **Git LFS**.<br/><br/>---<br/>## 4. Выходные параметры<br/>После успешного развертывания ресурса Gitea платформа возвращает ряд параметров.<br/><br/>Ключевым из них является:<br/><br/>**connectionUrl**<br/>Это
|
||||||
|
внешний URL для доступа к веб-интерфейсу и Git-репозиториям по HTTPS. Пример:<br/>```<br/>https://git.example.com<br/>```<br/><br/>**internalConnect**<br/>Внутренний эндпоинт для подключения к PostgreSQL
|
||||||
|
из других сервисов внутри кластера.<br/><br/>---<br/>## 5. Дополнительная информация<br/>- База данных `gitea` и пользователь `techgitea` создаются автоматически в указанной услуге PostgreSQL.<br/>- DNS-запись
|
||||||
|
и TLS-сертификат (Let''s Encrypt) настраиваются автоматически на основе указанного домена.<br/>- Для изменения параметров сервера Gitea (`app.ini`) используйте операцию **modify** с полем `iniServerParams`.<br/>-
|
||||||
|
Для добавления дополнительных Ingress-annotations используйте операцию **modify** с полем `ingressExtraAnnotations`.<br/>---'
|
||||||
|
lifecycle:
|
||||||
|
suspendOnDestroyDefault: true
|
||||||
|
adoptExistingOnCreateDefault: false
|
||||||
|
operations:
|
||||||
|
- svcOperationId: 82
|
||||||
|
operation: create
|
||||||
|
kind: instance
|
||||||
|
action: create
|
||||||
|
- svcOperationId: 83
|
||||||
|
operation: delete
|
||||||
|
kind: instance
|
||||||
|
action: delete
|
||||||
|
- svcOperationId: 91
|
||||||
|
operation: modify
|
||||||
|
kind: instance
|
||||||
|
action: modify
|
||||||
|
- svcOperationId: 127
|
||||||
|
operation: resume
|
||||||
|
kind: instance
|
||||||
|
action: resume
|
||||||
|
- svcOperationId: 126
|
||||||
|
operation: suspend
|
||||||
|
kind: instance
|
||||||
|
action: suspend
|
||||||
|
stateOut: {}
|
||||||
|
cfsParams:
|
||||||
|
- svcOperationCfsParamId: 232
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '500'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 233
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '512'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 234
|
||||||
|
svcOperationCfsParam: resourceDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 235
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: '1'
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 237
|
||||||
|
svcOperationCfsParam: domain
|
||||||
|
dataType: string
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: gitea-1
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 238
|
||||||
|
svcOperationCfsParam: psqlUid
|
||||||
|
dataType: uuid
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: false
|
||||||
|
- svcOperationCfsParamId: 818
|
||||||
|
svcOperationCfsParam: ingressExtraAnnotations
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 821
|
||||||
|
svcOperationCfsParam: iniServerParams
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 259
|
||||||
|
svcOperationCfsParam: resourceCPU
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 260
|
||||||
|
svcOperationCfsParam: resourceMemory
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 261
|
||||||
|
svcOperationCfsParam: resourceDisk
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 262
|
||||||
|
svcOperationCfsParam: resourceInstances
|
||||||
|
dataType: integer > 0
|
||||||
|
isRequired: true
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 819
|
||||||
|
svcOperationCfsParam: ingressExtraAnnotations
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
- svcOperationCfsParamId: 820
|
||||||
|
svcOperationCfsParam: iniServerParams
|
||||||
|
dataType: map
|
||||||
|
isRequired: false
|
||||||
|
defaultValue: ''
|
||||||
|
isModifiable: true
|
||||||
|
cfsParamsByOp:
|
||||||
|
82:
|
||||||
|
- 232
|
||||||
|
- 233
|
||||||
|
- 234
|
||||||
|
- 235
|
||||||
|
- 237
|
||||||
|
- 238
|
||||||
|
- 818
|
||||||
|
- 821
|
||||||
|
83: []
|
||||||
|
91:
|
||||||
|
- 259
|
||||||
|
- 260
|
||||||
|
- 261
|
||||||
|
- 262
|
||||||
|
- 819
|
||||||
|
- 820
|
||||||
|
127: []
|
||||||
|
126: []
|
||||||
|
stateParams:
|
||||||
|
resourceCPU: '500'
|
||||||
|
resourceMemory: '512'
|
||||||
|
resourceDisk: '1'
|
||||||
|
resourceInstances: '1'
|
||||||
|
domain: gitea-1
|
||||||
|
psqlUid: ''
|
||||||
|
ingressExtraAnnotations: ''
|
||||||
|
iniServerParams: ''
|
||||||
Reference in New Issue
Block a user