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.
4.3 KiB
4.3 KiB
Resource nubes_nodejs
Service ID: 95
Service Name: NodeJS
Manual | Create params | Modify params | Output params | Operations | Example
Create params
Обязательные параметры (вводимые пользователем)
| ID | Code | Type | Description | Constraints |
|---|---|---|---|---|
| 151 | health_path | string | Путь до healtcheck для запуска пода в Kubernetes, который отдаст 200 код. Если оставить пустым, healtcheck'а не будет | |
| 152 | json_env | json | Массив переменных, будут переданы в env приложения | |
| 156 | resource_realm | string | Платформа для развертывания | func=getAvailableResourceRealms |
Параметры, имеющие значение по умолчанию, если не меняете - эти параметры не обязательно прописывать в манифесте
| ID | Code | Type | Default | Description | Constraints |
|---|---|---|---|---|---|
| 149 | domain | string | web01 | Наименование поддомена, будет добавлено в nodejs.dev.nubes.ru | regex=^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$ |
| 150 | git_path | string | https://github.com/xahys/testnode.git | Путь до Git, который будет webroot для сайта | |
| 153 | resource_cpu | integer | 500 | Квота ядра пода (milicores). 1000Mili = 1 Ядро | minvalue=100; maxvalue=4000 |
| 154 | resource_memory | integer | 1024 | Квота памяти пода (MBytes) | minvalue=128; maxvalue=8192 |
| 155 | resource_instances | integer | 1 | Количество узлов в сети | minvalue=1; maxvalue=7 |
| 270 | app_version | string | 23 | Версия приложения | regex=^(\d){2}$; value_list=18, 20, 22, 23 |
Параметры поведения (кратко)
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.
По умолчанию: `suspend_on_destroy = True`, `adopt_existing_on_create = False`.
При `terraform destroy` или удалении ресурса из манифеста:
- `suspend_on_destroy=true` — инстанс переводится в `Suspend` (не удаляется).
- `suspend_on_destroy=false` — Terraform удаляет ресурс только из state.
При `apply` флаг `adopt_existing_on_create` работает как авто-`import`:
- `false` — если ресурс уже есть, будет ошибка.
- `true` — Terraform может взять существующий инстанс под управление (`running` → adopt, `suspended` → resume+adopt при совпадении параметров).
Важно: один инстанс должен быть только в одном state. Иначе получите конфликт управления.