Files
tf_provider/HISTORY/2026-09-25_fullpipe_example_shturval_and_docs.md
T

4.3 KiB
Raw Blame History

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 не печатать, сравнивать по хешу/маскировать.