TOOLS/ — generators + scripts + config + ARCHITECTURE.md ├── yaml-generator/ (code) ├── resource-generator/ (code) ├── docs-generator/ (code) ├── scripts/ (← devops/*.sh) ├── config/ (← devops/profiles/ + devops/config/) │ ├── test/ profile.env, services_list.txt, operation_timeouts.json │ ├── prod/ │ └── dev/ └── ARCHITECTURE.md (← devops/ARCHITECTURE.md) generated/ — pipeline output only (gitignored) ├── test/resources_yaml/, go/, docs/, provider_build/ ├── prod/ └── dev/ provider/ — code only, no generated files resources_yaml/ — DELETED (generated) internal/resources_gen/ — DELETED (generated) devops/ — removed (replaced by TOOLS/scripts + TOOLS/config + generated/) Generators now fail if NUBES_*_DIR not set (no defaults to provider/). Provider requires pipeline to populate resources_gen/ before build.
319 lines
9.6 KiB
YAML
319 lines
9.6 KiB
YAML
name: mariadb
|
|
service_id: 115
|
|
service_display_name: Mariadb
|
|
service_short_name: mariadb
|
|
service_man: 'Mariadb кластер. Ресурсная платформа: k8s. Автоматизация: k8s operator.<br/>Автоматическое резервное копирование, ручное восстановление.'
|
|
lifecycle:
|
|
suspend_on_destroy_default: true
|
|
adopt_existing_on_create_default: false
|
|
outputs:
|
|
params:
|
|
- code: state_params
|
|
type: map
|
|
- code: state_out
|
|
type: map
|
|
- code: state_params_flat
|
|
type: map
|
|
- code: state_out_flat
|
|
type: map
|
|
- code: vault_secrets
|
|
type: map
|
|
sensitive: true
|
|
- code: vault_url
|
|
type: string
|
|
- code: vault_user_path
|
|
type: string
|
|
- code: vault_fields
|
|
type: list
|
|
operations:
|
|
- name: create
|
|
id: 138
|
|
kind: instance
|
|
action: create
|
|
params:
|
|
- id: 422
|
|
code: resourceRealm
|
|
data_type: string
|
|
required: true
|
|
func: getAvailableResourceRealms
|
|
descr: Платформа для развертывания
|
|
sort: 10
|
|
- id: 424
|
|
code: resourceCPU
|
|
data_type: integer > 0
|
|
required: true
|
|
default: "500"
|
|
maxvalue: 4000
|
|
minvalue: 500
|
|
descr: Квота ядра пода (milicores)
|
|
sort: 30
|
|
is_modifiable: true
|
|
- id: 425
|
|
code: resourceMemory
|
|
data_type: integer > 0
|
|
required: true
|
|
default: "1024"
|
|
maxvalue: 8192
|
|
minvalue: 1024
|
|
descr: Квота памяти пода (MBytes)
|
|
sort: 30
|
|
is_modifiable: true
|
|
- id: 426
|
|
code: resourceDisk
|
|
data_type: integer > 0
|
|
required: true
|
|
default: "1"
|
|
maxvalue: 999
|
|
minvalue: 1
|
|
descr: Квота диска (Указывается в GIGAbytes)
|
|
sort: 50
|
|
is_modifiable: true
|
|
- id: 427
|
|
code: resourceInstances
|
|
data_type: integer > 0
|
|
required: true
|
|
default: "1"
|
|
maxvalue: 7
|
|
minvalue: 1
|
|
descr: Количество узлов
|
|
sort: 60
|
|
is_modifiable: true
|
|
- id: 428
|
|
code: needExternalAddressMaster
|
|
data_type: boolean
|
|
required: true
|
|
default: "false"
|
|
value_list:
|
|
- "false"
|
|
- "true"
|
|
descr: Выделяет внешний (белый) IP для доступа к master
|
|
sort: 70
|
|
is_modifiable: true
|
|
- id: 429
|
|
code: ipSpaceNameMaster
|
|
data_type: string
|
|
required: false
|
|
descr: Имя ipSpace для публикации VIP master. Не может быть пустым, если включен needExternalAddressMaster
|
|
sort: 80
|
|
is_modifiable: true
|
|
- id: 430
|
|
code: ext_BACKUP_SCHEDULE
|
|
data_type: string
|
|
required: false
|
|
default: 0 * * * *
|
|
regex: ^(\*|(\d+|\*\/\d+|\d+(,\d+)*))\s\*\s\*\s\*\s\*$
|
|
descr: Не обязательный. Время запуска бекапа
|
|
sort: 90
|
|
is_modifiable: true
|
|
- id: 431
|
|
code: appVersion
|
|
data_type: string
|
|
required: true
|
|
default: 9.4.0
|
|
value_list:
|
|
- 8.4.0
|
|
- 9.4.0
|
|
descr: Версия MySQL
|
|
sort: 100
|
|
- id: 432
|
|
code: autoScale
|
|
data_type: boolean
|
|
required: true
|
|
default: "false"
|
|
value_list:
|
|
- "false"
|
|
- "true"
|
|
descr: Включает автоскейлинг PV. При включении параметра необходимо настроить autoScalePercentage и autoScaleTechWindow. Алерт при срабатывании вызывает modify у текущей услуги
|
|
sort: 310
|
|
is_modifiable: true
|
|
- id: 433
|
|
code: autoScalePercentage
|
|
data_type: integer > 0
|
|
required: false
|
|
default: "10"
|
|
value_list:
|
|
- "10"
|
|
- "15"
|
|
- "20"
|
|
descr: Требует включения autoScale. Позволяет указать в процентах расширение от текущего макс объема
|
|
sort: 320
|
|
is_modifiable: true
|
|
- id: 434
|
|
code: autoScaleTechWindow
|
|
data_type: integer >= 0
|
|
required: false
|
|
default: "0"
|
|
value_list:
|
|
- "0"
|
|
- "5"
|
|
- "12"
|
|
- "23"
|
|
descr: Требует включения autoScale. Окно обновления (пока не реализовано). Указывается час в виде Integer (0 / 5 / 12 / 23)
|
|
sort: 330
|
|
is_modifiable: true
|
|
- id: 435
|
|
code: autoScaleQuotaGb
|
|
data_type: integer > 0
|
|
required: false
|
|
default: "1"
|
|
descr: Квота для autoScale
|
|
sort: 340
|
|
is_modifiable: true
|
|
- id: 459
|
|
code: s3Uid
|
|
data_type: uuid
|
|
required: true
|
|
ref_svc_id: 12
|
|
descr: Экземпляр (учетная запись) S3 для резервного копирования. Резервное копирование обязательно
|
|
sort: 20
|
|
- name: create_database
|
|
id: 242
|
|
kind: subresource
|
|
action: create
|
|
subresource: database
|
|
params:
|
|
- id: 734
|
|
code: databaseName
|
|
data_type: string
|
|
required: true
|
|
regex: ^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
|
|
descr: 'Пример: `db01`'
|
|
- name: create_user
|
|
id: 243
|
|
kind: subresource
|
|
action: create
|
|
subresource: user
|
|
params:
|
|
- id: 735
|
|
code: username
|
|
data_type: string
|
|
required: true
|
|
regex: ^(?![0-9_])[a-zA-Z_][a-zA-Z0-9_]{0,62}$
|
|
maxlength: 62
|
|
minlength: 2
|
|
descr: 'Пример: `myusername`'
|
|
sort: 10
|
|
- id: 736
|
|
code: password
|
|
data_type: string
|
|
required: true
|
|
maxlength: 62
|
|
minlength: 10
|
|
descr: Секрет будет записан в хранилище секретов и не будет отображаться публично
|
|
sort: 20
|
|
is_sensitive: true
|
|
- id: 737
|
|
code: databaseName
|
|
data_type: array-map-fixed
|
|
required: true
|
|
descr: Необходимо указать массив существующих баз
|
|
man: Если базы не существует - при выполнении операции вернётся ошибка
|
|
sort: 30
|
|
- id: 738
|
|
code: accessHosts
|
|
data_type: string
|
|
required: true
|
|
descr: 'Пример: `%`'
|
|
sort: 40
|
|
- name: delete
|
|
id: 139
|
|
kind: instance
|
|
action: delete
|
|
params:
|
|
- id: 456
|
|
code: deleteS3Bucket
|
|
data_type: boolean
|
|
required: true
|
|
default: "true"
|
|
value_list:
|
|
- "false"
|
|
- "true"
|
|
descr: Также удалить технический S3 Bucket с бэкапами?
|
|
sort: 10
|
|
- name: delete_database
|
|
id: 248
|
|
kind: subresource
|
|
action: delete
|
|
subresource: database
|
|
params:
|
|
- id: 745
|
|
code: databaseName
|
|
data_type: string
|
|
required: true
|
|
descr: ВСЕ ДАННЫЕ ВНУТРИ БД БУДУТ УДАЛЕНЫ
|
|
- name: delete_user
|
|
id: 247
|
|
kind: subresource
|
|
action: delete
|
|
subresource: user
|
|
params:
|
|
- id: 744
|
|
code: username
|
|
data_type: string
|
|
required: true
|
|
descr: Имя пользователя, созданное через операцию `create_user`
|
|
- name: modify
|
|
id: 142
|
|
kind: instance
|
|
action: modify
|
|
params:
|
|
- id: 436
|
|
code: resourceCPU
|
|
data_type: integer > 0
|
|
required: false
|
|
- id: 437
|
|
code: resourceMemory
|
|
data_type: integer > 0
|
|
required: false
|
|
- id: 438
|
|
code: resourceInstances
|
|
data_type: integer > 0
|
|
required: false
|
|
- id: 439
|
|
code: resourceDisk
|
|
data_type: integer > 0
|
|
required: false
|
|
- id: 440
|
|
code: needExternalAddressMaster
|
|
data_type: boolean
|
|
required: false
|
|
value_list:
|
|
- "false"
|
|
- "true"
|
|
- id: 441
|
|
code: ipSpaceNameMaster
|
|
required: false
|
|
- id: 442
|
|
code: ext_BACKUP_SCHEDULE
|
|
data_type: string
|
|
required: false
|
|
- id: 443
|
|
code: autoScale
|
|
data_type: boolean
|
|
required: false
|
|
value_list:
|
|
- "false"
|
|
- "true"
|
|
- id: 444
|
|
code: autoScalePercentage
|
|
data_type: integer > 0
|
|
required: false
|
|
- id: 445
|
|
code: autoScaleTechWindow
|
|
data_type: integer >= 0
|
|
required: false
|
|
- id: 446
|
|
code: autoScaleQuotaGb
|
|
data_type: integer > 0
|
|
required: false
|
|
- name: resume
|
|
id: 141
|
|
kind: instance
|
|
action: resume
|
|
params: []
|
|
- name: suspend
|
|
id: 140
|
|
kind: instance
|
|
action: suspend
|
|
params: []
|