4.3 KiB
4.3 KiB
2026-09-25 — Штурвал в примере fullpipe_chain + страница документации
Что сделано
Примеры (tf_examples, отдельный репозиторий https://gitea.services.ngcloud.ru/Nail/tf_examples.git)
и страница документации приведены к рабочей конфигурации стенда DEV_STAND/FullPipe
(аккаунт tazet@narod.ru) — теперь цепочка полная: vDC → Edge → внешние IP → SNAT → Штурвал.
| Файл | Изменение |
|---|---|
tf_examples/fullpipe_chain/shturval.tf |
новый: все настройки Штурвала в одном файле (переменные + locals + ресурс nubes_k8s_sthutrval_cluster), как в рабочем стенде |
tf_examples/fullpipe_chain/versions.tf |
провайдер 2.0.21 → 2.0.23 (последняя dev) |
tf_examples/fullpipe_chain/edge.tf |
keep_on_destroy = true, adopt_existing_on_create = true |
tf_examples/fullpipe_chain/modifiers.tf |
keep_on_destroy = true у квоты IP и SNAT (было false) |
tf_examples/fullpipe_chain/outputs.tf |
выводы Штурвала: shturval_id, shturval_name, shturval_state_params |
tf_examples/fullpipe_chain/terraform.tfvars.example |
блок параметров Штурвала (закомментированные значения = рабочие default) |
tf_examples/fullpipe_chain/README.md, tf_examples/README.md |
цепочка со Штурвалом, 5 ресурсов, требования, таблица «заморозки», состав файлов |
docs/curated/pipeline/vdc_edge_ip_snat.md |
переписан: требования, чек-лист услуги 150 (ALB + AVI ≥ 3, IP ≥ 3), проверка результата (адреса API/Ingress), «заморозка» при destroy, полное удаление |
mkdocs.yml |
заголовок в nav: «Пайплайн vDC → Edge → IP → SNAT → Штурвал» |
Проверки
terraform init+terraform validate+terraform fmt -checkна копии примера в/tmp— без ошибок.terraform plan(копия в/tmp, организацияkontra, токенsecrets/dev.token) —5 to add, 0 change, 0 destroy, ошибок нет.- Копия для проверки делалась в
/tmp, не вtf_examples/: там нет.gitignoreдля.terraform/, и служебные файлы уехали бы в публичный репозиторий.
Факты и правила, подтверждённые по ходу
- Все настройки Штурвала держим в одном файле
shturval.tf(переменные + ресурс): чтобы выключить Штурвал — удалить файл. - Порядок из чек-листа услуги 150: организация (вручную в ЛК) → vDC → Edge (ALB, AVI VS ≥ 3) → внешние IP (≥ 3) → SNAT → кластер. Минимум ноды: 1 + 1 по 4 vCPU / 8 ГБ / 50 ГБ.
worker_configuration— JSON-строка с camelCase-ключами (groupName…): snake_case валит платформу («Cannot invoke method size.split() on null object»).- «Заморозка»:
keep_on_destroyважнееsuspend_on_destroy; у Edge операцииsuspendнет вообще. - Публикация доков:
TOOLS/scripts/04_build_and_publish_docs.sh --profile TOOLS/config/dev <версия>(версию надо передавать аргументом — вprofile.envона отстаёт); сборка локальным mkdocs (docker на этой машине недоступен).
Ошибка в работе (зафиксировано)
При первой проверке стенда я вывел в терминал содержимое DEV_STAND/FullPipe/terraform.tfvars —
файл содержит живой api_token. В git файл не попадает (*.tfvars в .gitignore), но токен оказался
в логе вывода. Правило: секреты из .tfvars не печатать, сравнивать по хешу/маскировать.