Files
tf_provider/TOOLS/README.md
T

61 lines
2.1 KiB
Markdown

# TOOLS — Генераторы Terraform-провайдера Nubes
Каждый инструмент — независимый Go-модуль.
## yaml-generator
API Nubes → `resources_yaml/*.yaml`
```bash
cd yaml-generator && go build -o ../bin/yaml-generator .
./bin/yaml-generator
```
Структура: `main.go` + `internal/{client,config,normalize,spec,types}`.
## resource-generator
`resources_yaml/*.yaml``internal/resources_gen/*.go` + `registry.go`
```bash
cd resource-generator && go build -o ../bin/resource-generator .
./bin/resource-generator
```
Структура: `main.go` + `internal/{helpers,loader,params,templates,types,writers}`.
### Как запускать правильно
Не запускайте `TOOLS/resource-generator/bin/resource-generator` вручную и не полагайтесь на старый бинарник из `TOOLS/resource-generator/bin/`.
Используйте канонический скрипт из корня репозитория, он **всегда** пересобирает генераторы из текущих исходников перед запуском:
```bash
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/dev
```
Для других стендов подставляйте нужный профиль:
```bash
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/test
./TOOLS/scripts/02_generate_resources_and_docs_v2.sh --profile TOOLS/config/prod
```
Это устраняет случайный запуск устаревшего бинаря и гарантирует, что новые `kind` из YAML, включая `modifier`, будут обработаны текущим кодом генератора.
## docs-generator
`resources_yaml/*.yaml` → Markdown-документация в `docs/30_registry/resources/`
```bash
cd docs-generator && go build -o ../bin/docs-generator .
# Документация ресурсов
./bin/docs-generator
# Operations-документация
./bin/docs-generator --ops
```
Структура: `main.go` + `internal/{types,writers,ops}`.