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.
216 lines
7.5 KiB
YAML
216 lines
7.5 KiB
YAML
name: nodejs
|
||
service_id: 95
|
||
service_display_name: NodeJS
|
||
service_short_name: nodejs
|
||
service_man: Развертывает контейнер в k8s кластере с node, который можно использовать для запуска своих приложений.<br/>Приложение должно быть доступно по ссылки в git репозитории, которая является входным параметром.
|
||
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: 58
|
||
kind: instance
|
||
action: create
|
||
params:
|
||
- id: 149
|
||
code: domain
|
||
data_type: string
|
||
required: true
|
||
default: web01
|
||
regex: ^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$
|
||
descr: Если будет указан FQDN, то происходят проверки DNS на валидность А-записи, или будет добавлено в зону resourceRealm
|
||
man: Наименование поддомена, будет добавлено в nodejs.dev.nubes.ru
|
||
sort: 10
|
||
- id: 150
|
||
code: gitPath
|
||
data_type: string
|
||
required: true
|
||
default: https://github.com/xahys/testnode.git
|
||
descr: Путь до Git, который будет webroot для сайта
|
||
man: Путь до Git, который будет webroot для сайта
|
||
sort: 60
|
||
is_modifiable: true
|
||
- id: 151
|
||
code: healthPath
|
||
data_type: string
|
||
required: false
|
||
descr: Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код. Если оставить пустым, healtcheck'а не будет
|
||
man: Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код. Если оставить пустым, healtcheck'а не будет
|
||
sort: 80
|
||
is_modifiable: true
|
||
- id: 152
|
||
code: jsonEnv
|
||
data_type: json
|
||
required: false
|
||
descr: Массив переменных, будут переданы в env приложения
|
||
man: Массив переменных, будут переданы в env приложения
|
||
sort: 70
|
||
is_modifiable: true
|
||
- id: 153
|
||
code: resourceCPU
|
||
data_type: integer > 0
|
||
required: true
|
||
default: "500"
|
||
maxvalue: 4000
|
||
minvalue: 100
|
||
descr: Квота ядра пода (milicores). 1000Mili = 1 Ядро
|
||
man: Квота ядра пода (milicores). 1000Mili = 1 Ядро
|
||
sort: 30
|
||
is_modifiable: true
|
||
- id: 154
|
||
code: resourceMemory
|
||
data_type: integer > 0
|
||
required: true
|
||
default: "1024"
|
||
maxvalue: 8192
|
||
minvalue: 128
|
||
descr: Квота памяти пода (MBytes)
|
||
man: Квота памяти пода (MBytes)
|
||
sort: 40
|
||
is_modifiable: true
|
||
- id: 155
|
||
code: resourceInstances
|
||
data_type: integer > 0
|
||
required: true
|
||
default: "1"
|
||
maxvalue: 7
|
||
minvalue: 1
|
||
descr: Количество узлов
|
||
man: Количество узлов в сети
|
||
sort: 50
|
||
is_modifiable: true
|
||
- id: 156
|
||
code: resourceRealm
|
||
data_type: string
|
||
required: true
|
||
func: getAvailableResourceRealms
|
||
descr: Платформа для развертывания
|
||
sort: 20
|
||
- id: 270
|
||
code: appVersion
|
||
data_type: string
|
||
required: true
|
||
default: "23"
|
||
value_list:
|
||
- "18"
|
||
- "20"
|
||
- "22"
|
||
- "23"
|
||
regex: ^(\d){2}$
|
||
descr: Версия приложения
|
||
sort: 90
|
||
is_modifiable: true
|
||
- name: delete
|
||
id: 61
|
||
kind: instance
|
||
action: delete
|
||
params: []
|
||
- name: modify
|
||
id: 59
|
||
kind: instance
|
||
action: modify
|
||
params:
|
||
- id: 157
|
||
code: gitPath
|
||
data_type: string
|
||
required: false
|
||
descr: Путь до Git, который будет webroot для сайта
|
||
man: Путь до Git, который будет webroot для сайта
|
||
sort: 50
|
||
- id: 158
|
||
code: healthPath
|
||
data_type: string
|
||
required: false
|
||
descr: Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код.
|
||
man: Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код.
|
||
sort: 60
|
||
- id: 159
|
||
code: jsonEnv
|
||
data_type: json
|
||
required: false
|
||
maxlength: 2048
|
||
descr: Массив переменных, будут переданы в env приложения
|
||
man: Массив переменных, будут переданы в env приложения
|
||
sort: 40
|
||
- id: 160
|
||
code: resourceCPU
|
||
data_type: integer > 0
|
||
required: false
|
||
maxvalue: 4000
|
||
minvalue: 100
|
||
descr: Квота ядра пода (Указывается в mili) 1000Mili = 1 ядро
|
||
man: Квота ядра пода (Указывается в mili) 1000Mili = 1 ядро
|
||
sort: 10
|
||
- id: 161
|
||
code: resourceMemory
|
||
data_type: integer > 0
|
||
required: false
|
||
maxvalue: 8192
|
||
minvalue: 128
|
||
descr: Квота памяти пода (Указывается в Megabytes)
|
||
man: Квота памяти пода (Указывается в Megabytes)
|
||
sort: 20
|
||
- id: 162
|
||
code: resourceInstances
|
||
data_type: integer > 0
|
||
required: false
|
||
maxvalue: 7
|
||
minvalue: 1
|
||
descr: Количество узлов
|
||
man: Количество узлов в сети
|
||
sort: 30
|
||
- id: 271
|
||
code: appVersion
|
||
data_type: string
|
||
required: true
|
||
default: "23"
|
||
value_list:
|
||
- "18"
|
||
- "20"
|
||
- "22"
|
||
- "23"
|
||
regex: ^(\d){2}$
|
||
descr: Версия приложения
|
||
man: Версия приложения
|
||
sort: 70
|
||
- name: redeploy
|
||
id: 60
|
||
kind: action
|
||
action: redeploy
|
||
params:
|
||
- id: 258
|
||
code: resourceRealm
|
||
data_type: string
|
||
required: true
|
||
func: getAvailableResourceRealms
|
||
descr: Платформа для развертывания
|
||
- name: resume
|
||
id: 121
|
||
kind: instance
|
||
action: resume
|
||
params: []
|
||
- name: suspend
|
||
id: 120
|
||
kind: instance
|
||
action: suspend
|
||
params: []
|