add: documentation
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# AI-Agent Glossary (Search-Oriented Index)
|
||||
|
||||
Purpose: compact, English, link-rich glossary to help AI agents find facts fast in this repo.
|
||||
|
||||
## Architecture & Flow
|
||||
- **7-step create flow** — canonical instance creation lifecycle.
|
||||
- References: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L3-L36)
|
||||
|
||||
- **Instance operation polling** — completion by `dtFinish`, success by `isSuccessful`.
|
||||
- References: [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L16-L25)
|
||||
|
||||
- **Modify parameter mapping** — create vs modify IDs differ (must map from manifest).
|
||||
- References: [docs/50_history/06_postgres_update_and_immutable_params.md](docs/50_history/06_postgres_update_and_immutable_params.md#L6-L21)
|
||||
|
||||
- **Adopt/Resume behavior** — explicit flags `adopt_existing_on_create` and `suspend_on_destroy` with status-based matrix.
|
||||
- References: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#7-каноничная-lifecycle-логика-для-сервисов-с-suspendresume)
|
||||
|
||||
## API Discovery
|
||||
- **Service parameters fetch** — `services/{svcId}` → `serviceOperation/{id}` → `param-value-list`.
|
||||
- References: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L19-L21)
|
||||
|
||||
- **Proxy endpoint** — `/index.cfm?endpoint=...` used for API access.
|
||||
- References: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L6)
|
||||
|
||||
## Validation & Normalization
|
||||
- **JSON array validation** — `ValidJSONArray` for VM params.
|
||||
- References: [docs/50_history/12_vm_resource_hardening.md](docs/50_history/12_vm_resource_hardening.md#L44-L104)
|
||||
|
||||
- **Empty map/list normalization** — `{}` / `[]` for map/json/list types.
|
||||
- References: [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L31-L34)
|
||||
|
||||
- **Validate-CFS usage** — validate before `run`.
|
||||
- References: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L27)
|
||||
|
||||
## Errors & Incidents
|
||||
- **VM FW failure stage** — `vm.fw_rules` failure in provisioning.
|
||||
- References: [docs/20_discovery/vm_provisioning_failures.md](docs/20_discovery/vm_provisioning_failures.md#L28)
|
||||
|
||||
- **String[] → GUID crash** — backend type mismatch (`checkParam`).
|
||||
- References: [docs/20_discovery/vm_provisioning_failures.md](docs/20_discovery/vm_provisioning_failures.md#L8-L16)
|
||||
|
||||
- **ImportState for Postgres** — dedicated import implementation.
|
||||
- References: [docs/50_history/11_postgres_import_implementation.md](docs/50_history/11_postgres_import_implementation.md#L17-L38)
|
||||
|
||||
## Registry & Docs
|
||||
- **GPG unknown issuer** — signature key mismatch.
|
||||
- References: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L7-L14)
|
||||
|
||||
- **openpgp invalid data** — ASCII armor vs binary `.sig`.
|
||||
- References: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L16-L23)
|
||||
|
||||
- **Proxy download mode** — registry server proxies downloads.
|
||||
- References: [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L41-L42)
|
||||
|
||||
- **Docs build & publish** — MkDocs + Docker + publish script.
|
||||
- References: [docs/20_discovery/documentation_build_and_deploy.md](docs/20_discovery/documentation_build_and_deploy.md#L9-L39)
|
||||
|
||||
- **S3 docs pathing** — `docs/{ns}/{name}/{version}/`.
|
||||
- References: [docs/20_discovery/s3-storage-and-docs-architecture.md](docs/20_discovery/s3-storage-and-docs-architecture.md#L15)
|
||||
|
||||
## Strategy
|
||||
- **Early Termination** — fail plan early on logical conflicts.
|
||||
- References: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L16)
|
||||
|
||||
- **Confidence Scores** — mark certainty levels in docs/analysis.
|
||||
- References: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L30)
|
||||
@@ -0,0 +1,56 @@
|
||||
# Архитектура и методы (CRUD)
|
||||
|
||||
## 1. Актуальная архитектура (универсальный rebuild)
|
||||
- Ядро: universal_rebuild/internal/core (универсальный клиент API, общий flow операций).
|
||||
- Провайдер: universal_rebuild/internal/provider (schema, конфигурация, подключение ресурсов).
|
||||
- YAML-спеки сервисов: universal_rebuild/resources_yaml (источник истины).
|
||||
- Генератор Go-ресурсов: universal_rebuild/tools/gen (читает YAML, генерирует ресурсы и реестр).
|
||||
|
||||
Ключевое правило: новая логика — только новые функции/файлы. Существующий Go-код не менять без согласования.
|
||||
|
||||
## 2. Источник параметров (discovery)
|
||||
Параметры сервиса извлекаются через proxy endpoint API:
|
||||
- /index.cfm?endpoint=/services/{svcId}
|
||||
- /index.cfm?endpoint=/serviceOperation/{svcOperationId}
|
||||
- (опц.) /index.cfm?endpoint=/param-value-list/{svcOperationCfsParamId}
|
||||
|
||||
Схема: сервис → операции → CFS параметры → YAML → генерация Go.
|
||||
|
||||
## 3. Универсальный Create (7 шагов)
|
||||
1) POST /instances → instanceUid
|
||||
2) POST /instanceOperations (create) → instanceOperationUid
|
||||
3) GET /instanceOperations/{uid}?fields=cfsParams
|
||||
4) POST /instanceOperationCfsParams для каждого параметра
|
||||
5) GET /instanceOperations/{uid}/validate-cfs
|
||||
6) POST /instanceOperations/{uid}/run с payload {}
|
||||
7) Polling до завершения операции
|
||||
|
||||
Критично: параметры отправляются все, включая дефолты, иначе бэкенд может упасть на валидации.
|
||||
|
||||
## 4. Read/Adopt
|
||||
- При isDeleted или explainedStatus=deleted — state очищается.
|
||||
- При статусе `running` adopt допускается только при `adopt_existing_on_create=true`.
|
||||
- При статусе `suspend` допускается `resume` только при совпадении основных параметров.
|
||||
- Предупреждения показываются только на create и не мешают managed ресурсам.
|
||||
|
||||
## 5. Update/Modify
|
||||
- IDs параметров на modify отличаются от create.
|
||||
- Нельзя хардкодить ID, нужно получать manifest операции и строить маппинг.
|
||||
- Если modify отсутствует в availableOperations — выдавать ясную ошибку.
|
||||
|
||||
## 6. Polling (железные правила)
|
||||
- Завершение операции определяется только по dtFinish.
|
||||
- После dtFinish результат определяется isSuccessful.
|
||||
- Для VM применяется двойной контроль: статус операции + статус инстанса (ERROR/STOPPED).
|
||||
|
||||
## 7. Нормализация типов
|
||||
- map/json → "{}"
|
||||
- list/array → "[]"
|
||||
- Пустые строки в JSON-параметрах запрещены (валидаторы на plan).
|
||||
|
||||
## 8. Soft Delete и карантин
|
||||
- Для тяжёлых ресурсов delete часто заменён на suspend с периодом удержания.
|
||||
- Для сервисов с `suspend`/`resume` действует флаг `suspend_on_destroy`:
|
||||
- `true` (default) -> выполнять `suspend`;
|
||||
- `false` -> удалять только из Terraform state (без API-вызова).
|
||||
- Повторный apply при `suspend` может выполнять `resume` только при совпадении ключевых параметров.
|
||||
@@ -0,0 +1,49 @@
|
||||
# Билд и публикация
|
||||
|
||||
## 1. Сборка провайдера (universal_rebuild)
|
||||
Общий цикл:
|
||||
1) Генерация YAML параметров для сервиса (service_params_gen).
|
||||
2) Генерация Go-ресурсов (tools/gen).
|
||||
3) Сборка бинарника go build.
|
||||
|
||||
Ключевые каталоги:
|
||||
- universal_rebuild/resources_yaml
|
||||
- universal_rebuild/internal/resources_gen
|
||||
- universal_rebuild/tools/gen
|
||||
|
||||
## 2. Публикация провайдера в Registry
|
||||
- Артефакты: zip, SHA256SUMS, SHA256SUMS.sig
|
||||
- Подпись: для .sig использовать бинарную detached подпись
|
||||
- Хранилище: S3 bucket terraform-registry
|
||||
- Префикс: docs/<namespace>/<name>/<version>/ для документации, отдельный префикс для бинарников по правилам registry-сервера
|
||||
|
||||
### Важное про GPG ключи
|
||||
- Приватный ключ должен быть стабильным между релизами.
|
||||
- Если ключ перевыпущен, обнови публичный ключ в registry server (ASCII Armor в `registry-server-build/main.go` и `operator/cmd/registry/main.go`) и задеплой сервис.
|
||||
- Иначе `terraform init` упадет с `authentication signature from unknown issuer`.
|
||||
|
||||
#### One-time bootstrap
|
||||
1) Сгенерируй и экспортируй ключи в `secrets/`.
|
||||
2) Вставь ASCII Armor публичного ключа в:
|
||||
- `registry-server-build/main.go`
|
||||
- `operator/cmd/registry/main.go`
|
||||
3) Пересобери и задеплой registry server.
|
||||
4) Пересобери и загрузите артефакты провайдера.
|
||||
|
||||
## 3. Документация (MkDocs)
|
||||
### Сборка
|
||||
- Использовать Docker образ squidfunk/mkdocs-material
|
||||
- Результат: директория site/
|
||||
|
||||
### Публикация
|
||||
- Использовать scripts/publish-docs.sh
|
||||
- Путь в S3: docs/<namespace>/<name>/<version>/
|
||||
|
||||
## 4. Важные нюансы
|
||||
- При смене домена обновлять registry и ключи подписи.
|
||||
- Пресайнд URL через Ingress может ломаться — использовать proxy mode.
|
||||
- В документации исключены технические папки, не предназначенные для публикации.
|
||||
|
||||
## 5. Операции (non-CRUD)
|
||||
- Ops YAML (для всех операций): `./devops/01b_generate_ops_yamls.sh`
|
||||
- Документация операций: `./devops/02b_generate_ops_docs.sh`
|
||||
@@ -0,0 +1,69 @@
|
||||
# База знаний ошибок
|
||||
|
||||
Ниже сгруппированы типовые ошибки: симптом → причина → решение.
|
||||
|
||||
## A. Аутентификация и токены
|
||||
**Симптом:** 401 Unauthorized / Authorization header expected
|
||||
**Причина:** токен истёк или не передан в окружение
|
||||
**Решение:** обновить access_token и сохранить в файле HH-MM-SS.token; убедиться, что Terraform читает токен
|
||||
|
||||
## B. Поллинг зависает
|
||||
**Симптом:** apply «висит», операция не завершается
|
||||
**Причина:** ожидание по статусу инстанса или операции, без dtFinish
|
||||
**Решение:** критерий завершения — dtFinish; далее isSuccessful
|
||||
|
||||
## C. Modify: Invalid CFS parameter (400)
|
||||
**Причина:** отправлены create IDs для modify
|
||||
**Решение:** получать manifest операции и динамически маппить IDs
|
||||
|
||||
## D. Modify недоступен
|
||||
**Симптом:** action modify not available
|
||||
**Причина:** modify нет в availableOperations
|
||||
**Решение:** проверять доступные операции и выдавать явную ошибку
|
||||
|
||||
## E. Map/JSON/List: Invalid format
|
||||
**Симптом:** 400 Invalid format map/array/json
|
||||
**Причина:** пустые строки вместо {} или []
|
||||
**Решение:** нормализация по типу, trim, отправка {} или []
|
||||
|
||||
## F. VM: зависание на FW / 500 String[]→GUID
|
||||
**Симптом:** зависание на стадии FW, 500 checkParam
|
||||
**Причина:** пустые или невалидные JSON-массивы, ошибки backend
|
||||
**Решение:** валидация JSON массивов, дефолт ["0.0.0.0/0"], фильтрация пустых значений; при повторении — эскалация на поддержку
|
||||
|
||||
## G. VM modify: checkParam instanceOperationCfsParamUid
|
||||
**Симптом:** 500 Invalid call of function checkParam
|
||||
**Причина:** дублирование параметров при POST/PUT
|
||||
**Решение:** гибридный PUT/POST по наличию instanceOperationCfsParamUid; проверить формат эндпойнта
|
||||
|
||||
## H. Postgres: split() on null
|
||||
**Симптом:** Cannot invoke method split() on null object
|
||||
**Причина:** передан UUID конкретного S3-бакета
|
||||
**Решение:** использовать UUID сервиса S3 (svcId 12), а не бакета
|
||||
|
||||
## I. GPG/Registry
|
||||
**Симптом:** authentication signature from unknown issuer
|
||||
**Причина:** ключ подписи не совпадает с ключом в registry
|
||||
**Решение:** обновить signing_keys на сервере или пересобрать/подменить бинарник
|
||||
|
||||
**Симптом:** openpgp invalid data
|
||||
**Причина:** ASCII-armor для .sig
|
||||
**Решение:** бинарная detached подпись без --armor
|
||||
|
||||
## J. Registry/S3
|
||||
**Симптом:** presigned URL не работает через Ingress
|
||||
**Причина:** Host заголовок ломает подпись
|
||||
**Решение:** proxy-режим download на сервере registry
|
||||
|
||||
## K. Документация: 404
|
||||
**Причина:** неверный S3 ключ (hostname в префиксе)
|
||||
**Решение:** фиксированный префикс docs/<ns>/<name>/<version>/
|
||||
|
||||
## L. Версии Terraform Plugin Framework
|
||||
**Симптом:** ошибки сборки при апгрейде
|
||||
**Причина:** несовместимость framework и plugin-go
|
||||
**Решение:** использовать совместимые версии (исторически v1.4.2 + v0.19.1)
|
||||
|
||||
## M. TLS handshake timeout
|
||||
**Причина:** сетевые условия/VPN
|
||||
**Решение:** повторить apply
|
||||
@@ -0,0 +1,23 @@
|
||||
# Глоссарий
|
||||
|
||||
- instance — экземпляр сервиса в Nubes Cloud.
|
||||
- instanceOperation — асинхронная операция над instance (create/modify/delete/suspend/resume).
|
||||
- cfsParams — список параметров операции, получаемый через manifest операции.
|
||||
- svcOperationCfsParamId — ID параметра операции, различается для create и modify.
|
||||
- dtFinish — единственный надёжный индикатор завершения операции.
|
||||
- isSuccessful — результат операции после dtFinish.
|
||||
- resourceRealm — окружение/realm; иногда обязателен и задаётся пользователем.
|
||||
- display_name — человекочитаемое имя; используется для adopt/resume.
|
||||
- adopt_existing_on_create — явное разрешение на adopt/import при найденном `running` ресурсе (default: false).
|
||||
- suspend_on_destroy — флаг destroy-поведения для сервисов с `suspend`: `true` -> suspend, `false` -> state-only (default: true).
|
||||
- suspend — мягкое удаление (карантин/retention).
|
||||
- validate-cfs — проверка параметров операции до run.
|
||||
- state.out — выходные данные API; при отсутствии задаются null.
|
||||
- computed — вычисляемые поля, должны быть известны после apply.
|
||||
- registry protocol — API Terraform Registry (discovery + versions + download).
|
||||
- signing_keys — публичные GPG ключи, выдаваемые registry.
|
||||
- NLI — Natural Language Infrastructure (AI-парсинг инструкций).
|
||||
- gitea.services.ngcloud.ru — внешний Gitea хост; возможны проблемы доверия TLS/доступа из кластера.
|
||||
- gitea-naeel.giteak8s.services.ngcloud.ru — внутренний Gitea хост; успешные деплои при доступности контента.
|
||||
- git_path mirror — зеркальный репозиторий на собственном Gitea для обхода проблем внешнего хоста.
|
||||
- API meta dump (test) — полная выгрузка параметров API для окружения test, используется для проверки универсального генератора YAML.
|
||||
@@ -0,0 +1,13 @@
|
||||
# Developer Guide (Help)
|
||||
|
||||
Этот раздел — технический мануал для разработки и сопровождения провайдера Nubes. Материалы собраны из актуальных документов и историй изменений.
|
||||
|
||||
## Разделы
|
||||
- Архитектура и методы CRUD: help/architecture-and-methods.md
|
||||
- База знаний ошибок: help/error-knowledge-base.md
|
||||
- Глоссарий терминов: help/glossary.md
|
||||
- Полный дамп параметров API (test): 20_discovery/api_meta_test_dump.md
|
||||
- Билд и публикация (провайдер и документация): help/build-and-publish.md
|
||||
|
||||
## Примечание
|
||||
Документ «How It Was Done» доступен по прямой ссылке и не включён в навигацию.
|
||||
@@ -0,0 +1,183 @@
|
||||
# СУПЕРглоссарий (словарь с ссылками)
|
||||
|
||||
Каждый термин содержит ссылки на места употребления в документации.
|
||||
|
||||
## Русские термины
|
||||
- Семишаговый цикл создания ресурса — базовый жизненный цикл create/run.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L3)
|
||||
|
||||
- Параметры операции (CFS) — список параметров, получаемый из операции.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L18), [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L20)
|
||||
|
||||
- Прокси-эндпойнт /index.cfm?endpoint=... — рекомендуемый доступ к API.
|
||||
- Ссылки: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L6)
|
||||
|
||||
- Валидация параметров (validate-cfs) — проверка параметров перед запуском.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L27), [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L27)
|
||||
|
||||
- Запуск операции (run) — финальный шаг, без него ресурс остаётся not created.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L31)
|
||||
|
||||
- Поллинг операций — ожидание завершения по dtFinish.
|
||||
- Ссылки: [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L16-L25)
|
||||
|
||||
- Ошибка VM на FW-стадии — сбой применения правил firewall.
|
||||
- Ссылки: [docs/20_discovery/vm_provisioning_failures.md](docs/20_discovery/vm_provisioning_failures.md#L28)
|
||||
|
||||
- Валидация JSON-массивов в VM — защита от пустых строк/невалидного JSON.
|
||||
- Ссылки: [docs/50_history/12_vm_resource_hardening.md](docs/50_history/12_vm_resource_hardening.md#L44-L52)
|
||||
|
||||
- Импорт ресурса (terraform import) — поддержка существующих ресурсов.
|
||||
- Ссылки: [docs/50_history/11_postgres_import_implementation.md](docs/50_history/11_postgres_import_implementation.md#L17-L19)
|
||||
|
||||
- Ошибка подписи “unknown issuer” — несовпадение ключей подписи.
|
||||
- Ссылки: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L7)
|
||||
|
||||
- Ошибка подписи “openpgp invalid data” — неверный формат .sig.
|
||||
- Ссылки: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L16)
|
||||
|
||||
- Proxy mode для скачивания артефактов — обход проблем presigned URL.
|
||||
- Ссылки: [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L41)
|
||||
|
||||
- Миграция на S3 — переход переменных окружения.
|
||||
- Ссылки: [docs/50_history/09_s3_migration_and_branded_docs.md](docs/50_history/09_s3_migration_and_branded_docs.md#L13)
|
||||
|
||||
- MkDocs — сборка статической документации.
|
||||
- Ссылки: [docs/20_discovery/documentation_build_and_deploy.md](docs/20_discovery/documentation_build_and_deploy.md#L10-L11)
|
||||
|
||||
- Хранилище документации (terraform-registry) — S3 бакет для docs.
|
||||
- Ссылки: [docs/20_discovery/s3-storage-and-docs-architecture.md](docs/20_discovery/s3-storage-and-docs-architecture.md#L15)
|
||||
|
||||
- Проблема доступа к внешнему Gitea (gitea.services.ngcloud.ru) — деплой падает, в то время как зеркало на собственном Gitea работает.
|
||||
- Ссылки: [docs/20_discovery/session_report_2026-02-13.md](docs/20_discovery/session_report_2026-02-13.md)
|
||||
|
||||
- Полный дамп параметров API (test) — эталонная выгрузка всех операций и параметров для проверки универсального генератора YAML.
|
||||
- Ссылки: [docs/20_discovery/api_meta_test_dump.md](docs/20_discovery/api_meta_test_dump.md)
|
||||
|
||||
## A
|
||||
- `access_ip_list` — параметр VM, список IP в формате JSON-массива.
|
||||
- Ссылки: [docs/50_history/12_vm_resource_hardening.md](docs/50_history/12_vm_resource_hardening.md#L99)
|
||||
|
||||
- `access_port_list` — параметр VM, список портов в формате JSON-массива.
|
||||
- Ссылки: [docs/50_history/12_vm_resource_hardening.md](docs/50_history/12_vm_resource_hardening.md#L92)
|
||||
|
||||
- `authentication signature from unknown issuer` — ошибка подписи провайдера при `terraform init`.
|
||||
- Ссылки: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L7), [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L9)
|
||||
|
||||
## C
|
||||
- `cfsParams` — список параметров операции, получаемый из manifest операции.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L18), [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L20)
|
||||
|
||||
- `checkParam` — функция бэкенда, фигурирует в ошибках VM при типовых несоответствиях.
|
||||
- Ссылки: [docs/20_discovery/vm_provisioning_failures.md](docs/20_discovery/vm_provisioning_failures.md#L16)
|
||||
|
||||
- `Confidence Scores` — требование стратегии: маркировать уверенность в выводах.
|
||||
- Ссылки: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L30)
|
||||
|
||||
## D
|
||||
- `suspend_on_destroy` — флаг destroy-поведения для сервисов с `suspend`: `true` -> suspend, `false` -> удаление только из state.
|
||||
- Ссылки: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L73-L78)
|
||||
|
||||
- `dtFinish` — единственный надёжный индикатор завершения операции.
|
||||
- Ссылки: [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L16-L19)
|
||||
|
||||
## E
|
||||
- `Early Termination` — стратегия раннего остановa плана при логической некорректности.
|
||||
- Ссылки: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L16)
|
||||
|
||||
- `error checking signature: openpgp: invalid data` — ошибка формата подписи.
|
||||
- Ссылки: [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L16)
|
||||
|
||||
- `explainedStatus` — статус инстанса при polling.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L37)
|
||||
|
||||
## G
|
||||
- `GPG` — подпись артефактов провайдера.
|
||||
- Ссылки: [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L13), [docs/20_discovery/troubleshooting_gpg_and_registry.md](docs/20_discovery/troubleshooting_gpg_and_registry.md#L5)
|
||||
|
||||
## I
|
||||
- `ImportState` — реализация `terraform import` для PostgreSQL.
|
||||
- Ссылки: [docs/50_history/11_postgres_import_implementation.md](docs/50_history/11_postgres_import_implementation.md#L17-L19)
|
||||
|
||||
- `instance` — экземпляр сервиса в Nubes.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L8)
|
||||
|
||||
- `instanceOperation` — асинхронная операция над instance (create/modify/delete/suspend/resume).
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L13), [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L14)
|
||||
|
||||
- `instanceOperationCfsParams` — эндпойнт для отправки параметров операции.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L22)
|
||||
|
||||
- `isSuccessful` — признак успеха операции после завершения.
|
||||
- Ссылки: [docs/20_discovery/tubulus_and_polling_logic.md](docs/20_discovery/tubulus_and_polling_logic.md#L22-L25)
|
||||
|
||||
## M
|
||||
- `mkdocs` — инструмент сборки документации.
|
||||
- Ссылки: [docs/20_discovery/documentation_build_and_deploy.md](docs/20_discovery/documentation_build_and_deploy.md#L10)
|
||||
|
||||
- `S3_*` — переменные окружения для хранилища.
|
||||
- Ссылки: [docs/50_history/09_s3_migration_and_branded_docs.md](docs/50_history/09_s3_migration_and_branded_docs.md#L13)
|
||||
|
||||
## P
|
||||
- `param-value-list` — эндпойнт для списков значений параметров.
|
||||
- Ссылки: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L21)
|
||||
|
||||
- `proxy mode` — режим проксирования скачивания артефактов registry.
|
||||
- Ссылки: [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L41)
|
||||
|
||||
- `publish-docs.sh` — скрипт публикации документации.
|
||||
- Ссылки: [docs/20_discovery/documentation_build_and_deploy.md](docs/20_discovery/documentation_build_and_deploy.md#L33-L39)
|
||||
|
||||
## R
|
||||
- `resource_realm` — фиксируемый/скрываемый параметр ресурса в генерации.
|
||||
- Ссылки: [docs/20_discovery/development-journey.md](docs/20_discovery/development-journey.md#L31)
|
||||
|
||||
- `adopt_existing_on_create` — явное разрешение adopt/import при найденном `running` ресурсе.
|
||||
- Ссылки: [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L60-L71)
|
||||
|
||||
- `run` — финальный запуск операции после validate.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L31)
|
||||
|
||||
## S
|
||||
- `serviceOperation` — описание операции сервиса.
|
||||
- Ссылки: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L20)
|
||||
|
||||
- `services/{svcId}` — получение информации о сервисе.
|
||||
- Ссылки: [docs/40_analysis/har/discovery/service_parameters_fetch.md](docs/40_analysis/har/discovery/service_parameters_fetch.md#L19)
|
||||
|
||||
- `signing_keys` — массив GPG ключей в DownloadResponse.
|
||||
- Ссылки: [docs/50_history/02_registry_protocol_fix.md](docs/50_history/02_registry_protocol_fix.md#L42)
|
||||
|
||||
- `Strict Branding` — стандарт оформления документации.
|
||||
- Ссылки: [docs/20_discovery/s3-storage-and-docs-architecture.md](docs/20_discovery/s3-storage-and-docs-architecture.md#L12)
|
||||
|
||||
- `String[] to GUID` — ошибка VM при неверных типах параметров.
|
||||
- Ссылки: [docs/20_discovery/vm_provisioning_failures.md](docs/20_discovery/vm_provisioning_failures.md#L8)
|
||||
|
||||
- `svcOperationCfsParamId` — ID параметра операции (различается для create/modify).
|
||||
- Ссылки: [docs/50_history/06_postgres_update_and_immutable_params.md](docs/50_history/06_postgres_update_and_immutable_params.md#L12)
|
||||
|
||||
## T
|
||||
- `terraform-registry` — S3 bucket для документации.
|
||||
- Ссылки: [docs/20_discovery/s3-storage-and-docs-architecture.md](docs/20_discovery/s3-storage-and-docs-architecture.md#L15)
|
||||
|
||||
- `TLS handshake timeout` — типовой сетевой сбой.
|
||||
- Ссылки: [docs/50_history/06_postgres_update_and_immutable_params.md](docs/50_history/06_postgres_update_and_immutable_params.md#L39)
|
||||
|
||||
## V
|
||||
- `ValidJSONArray` — валидатор JSON‑массивов для VM параметров.
|
||||
- Ссылки: [docs/50_history/12_vm_resource_hardening.md](docs/50_history/12_vm_resource_hardening.md#L44-L52)
|
||||
|
||||
- `validate-cfs` — валидация параметров операции перед run.
|
||||
- Ссылки: [docs/20_discovery/resource-creation-pattern.md](docs/20_discovery/resource-creation-pattern.md#L27), [docs/60_strategy/provider_philosophy.md](docs/60_strategy/provider_philosophy.md#L27)
|
||||
|
||||
## W
|
||||
- `WaitForOperation` — ожидание завершения операции по opUid.
|
||||
- Ссылки: [docs/50_history/07_operation_based_polling_and_negative_testing.md](docs/50_history/07_operation_based_polling_and_negative_testing.md#L12)
|
||||
|
||||
- `waitForVMOperationAndInstanceStatus` — VM‑метод поллинга с проверкой ERROR/STOPPED.
|
||||
- Ссылки: [docs/50_history/04_vm_hang_fix_and_500_error.md](docs/50_history/04_vm_hang_fix_and_500_error.md#L17-L19)
|
||||
|
||||
## Z
|
||||
- `Zero-Logic Pathing` — прямое проксирование запросов документации в S3.
|
||||
- Ссылки: [docs/20_discovery/s3-storage-and-docs-architecture.md](docs/20_discovery/s3-storage-and-docs-architecture.md#L15)
|
||||
Reference in New Issue
Block a user