Files
tf_provider/TOOLS
“Naeel” dd56bcda83 refactor: restructure project — separate tools, config, generated, provider
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.
2026-07-06 09:06:09 +04:00
..

TOOLS — Генераторы Terraform-провайдера Nubes

Каждый инструмент — независимый Go-модуль.

yaml-generator

API Nubes → resources_yaml/*.yaml

cd yaml-generator && go build -o ../bin/yaml-generator .
./bin/yaml-generator

Структура: main.go + internal/{client,config,normalize,spec,types}.

resource-generator

resources_yaml/*.yamlinternal/resources_gen/*.go + registry.go

cd resource-generator && go build -o ../bin/resource-generator .
./bin/resource-generator

Структура: main.go + internal/{helpers,loader,params,templates,types,writers}.

docs-generator

resources_yaml/*.yaml → Markdown-документация в docs/30_registry/resources/

cd docs-generator && go build -o ../bin/docs-generator .

# Документация ресурсов
./bin/docs-generator

# Operations-документация  
./bin/docs-generator --ops

Структура: main.go + internal/{types,writers,ops}.