Commit Graph
270 Commits
Author SHA1 Message Date
“Naeel” 5322df7c51 v5.0.64: update test stand configs 2026-07-07 10:26:21 +04:00
“Naeel” d70bf5d171 v5.0.64: delete idempotency, duplicate adopt, defer unlock, exist marker 2026-07-07 10:08:50 +04:00
“Naeel” 4ac21d9367 v5.0.63: instance-level mutex to prevent parallel operations on same resource 2026-07-07 08:27:42 +04:00
“Naeel” d9f2c60e90 v5.0.62: fix modify 500 (remove WithDefaults GET ?fields=cfsParams) + tests 2026-07-06 22:43:19 +04:00
“Naeel” 5696be934c feat: TEST_STAND sync script + MariaDB/Lucee updated to v5.0.61 nubes-test 2026-07-06 10:36:52 +04:00
“Naeel” ac5c039f37 feat: add TEST_STAND/sync.sh — rsync to VM excluding state/.terraform 2026-07-06 10:09:17 +04:00
“Naeel” f70fe8e706 chore: remove generated/ from tracking — belongs in .gitignore 2026-07-06 09:51:08 +04:00
“Naeel” 26947e7832 docs: update HISTORY + rebuild binaries 2026-07-06 09:41:53 +04:00
“Naeel” b56e634796 refactor: shared YAML types via tf-tools/lib (yaml-generator + resource-generator)
TOOLS/lib/types.go — canonical ServiceSpec, ParamSpec, OperationSpec, OutputParam.
Both generators use type aliases, one source of truth for YAML contract.
docs-generator stays as-is (will be replaced by LLM-based generator).
2026-07-06 09:40:59 +04:00
“Naeel” 53d03004de fix: architectural improvements per Opus analysis
1. Version sync: provider/main.go = profile.env = 5.0.60
2. docs-generator: removed detectVersion() — no more dependency on provider/
3. docs-generator: removed detectRoot(), pickPath() — all paths via flags/env
4. docs-generator: require --version, --resources, --docs flags
5. Auto-rebuild: yaml-generator rebuilds if sources newer than binary
6. Three version vars → one VERSION in profile.env
7. Created TOOLS/lib/ — shared YAML contract types (not yet integrated)
2026-07-06 09:25:21 +04:00
“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
“Naeel” c34db5e5e3 docs: LLM-based documentation generation approach (gpt-oss-120b)
- Universal prompt template for any service
- Postgres test results: 9/10, zero invented params
- Requires Jenkins endpoint for map-fixed sub_fields
2026-07-05 17:27:12 +04:00
“Naeel” 0a0c9656fd chore: remove cloud-dashboard/ (unrelated FastAPI app) 2026-07-05 10:43:45 +04:00
“Naeel” 59d927e980 chore: remove stale root tools/ (superseded by TOOLS/ and devops/)
Deleted: debug_req.go, docs_publish/, upload_provider_s3.py, har/, mariadb_check_container/
2026-07-05 10:37:26 +04:00
“Naeel” d49f19460d docs: rewrite devops/README.md + add TOOLS/README.md
- Updated all paths from universal_rebuild to provider and TOOLS/
- Added pipeline diagram and script reference table
- Added TOOLS/README.md with build instructions for each generator
2026-07-05 10:35:45 +04:00
“Naeel” f1a9b9b23c chore: remove 2 legacy devops scripts (superseded by _v2 versions)
- 02_generate_resources_and_docs.sh → no profile support
- 02_generate_resources_and_docs_template.sh → old ClickHouse template
2026-07-05 10:34:05 +04:00
“Naeel” c2438f50a6 chore: remove 3 stale scripts/ (superseded by devops/)
- deploy-dev.sh → references deleted k8s/ dir
- package_release.sh → replaced by devops/03_build_and_upload_provider.sh
- publish-docs.sh → replaced by devops/04_build_and_publish_docs.sh
2026-07-05 10:30:57 +04:00
“Naeel” 6a1b243366 refactor: merge ops-generator into docs-generator as --ops mode
Single binary, single go.mod — no divergence risk.
Run: docs-generator --ops (or regular docs-generator for resource docs)
2026-07-05 10:28:59 +04:00
“Naeel” 46e847a3c1 docs: add detailed package-level comments to all TOOLS/ and provider/
TOOLS:
- yaml-generator: types (API↔YAML), client (proxy/REST + retry)
- resource-generator: types (3 resource kinds), loader (pipeline),
  writers (generated files), params (merge/CreateOnly/ForceNew)
- docs-generator, ops-generator — already documented

provider:
- main.go: entrypoint + build instructions
- core: API client (GetInstance, RunOperation, GetInstanceState)
- provider: provider registration (New, Resources, Schema)
- resources_core: shared CRUD, state refresh, params, validation
2026-07-05 10:24:43 +04:00
“Naeel” 5da22335ae refactor: rename universal_rebuild/ → provider/
- Rename directory
- Update all 9 devops scripts
- Update 4 generator source files
- Rebuild all binaries
2026-07-05 10:20:04 +04:00
“Naeel” a9491e13ea refactor: extract all generators into independent TOOLS/ modules
Each generator is now a standalone Go module with its own go.mod:

TOOLS/
├── yaml-generator/       ← service_spec_gen (API → YAML)
├── resource-generator/   ← gen_v2 (YAML → Go resources)
├── docs-generator/       ← docs_template_gen_v2 (YAML → Markdown)
├── ops-generator/        ← ops_docs_gen (ops documentation)
└── bin/                  ← pre-built binaries

All scripts updated to use TOOLS/bin/* binaries.
Removed old universal_rebuild/tools/ and universal_rebuild/bin/.
2026-07-05 09:57:13 +04:00
“Naeel” 4e668cda9f chore: remove nested universal_rebuild/universal_rebuild/ (332 duplicate doc files, wrong path) 2026-07-05 09:43:56 +04:00
“Naeel” d9673f7b17 chore: remove 18 junk files + stale root internal/ (old provider code)
Deleted: check_ops.py, s.sh, instance_fca3f912.json, name_check.txt,
prompt_for_ds_pro.md, prompt_for_opus48.md, state_keys_*.json,
state_keys_progress.txt, state_vault_*.json, svcs.json, services.*,
REPO_CONTENTS.md, REPO_INVENTORY.md, 01_generate_yamls.sh (duplicate),
internal/ (old provider, migrated to universal_rebuild/)
2026-07-05 09:37:40 +04:00
“Naeel” 3a003b28b3 chore: remove stale root go.mod/go.sum/main.go from old provider (terraform-provider-mycloud)
These files are leftovers from before the universal_rebuild migration.
The real provider lives at universal_rebuild/ with module terraform-provider-nubes.
2026-07-05 09:36:04 +04:00
“Naeel” 87666f5c4b refactor(service_spec_gen): split into 6 packages (types, client, config, normalize, spec, main) + .gitignore
- Split 741-line monolith into 6 independent packages
- All functions exported, no circular deps
- Build: go build -o bin/service_spec_gen ./tools/service_spec_gen/
- Script 01_generate_yamls.sh: go run → ./bin/service_spec_gen
- Add bin/ to .gitignore
2026-07-05 09:27:25 +04:00
“Naeel” 20bb7bc0e9 chore: go mod tidy — remove 4 unused indirect deps (brotli, klauspost, utls, crypto) 2026-07-05 09:14:08 +04:00
“Naeel” f3616d0fe1 refactor(gen_v2): split into 7 Go packages (types, templates, helpers, params, loader, writers, main) 2026-07-05 09:13:07 +04:00
“Naeel” e8935f1ebf refactor(gen_v2): split into 7 files by concern (types, loader, params, writers, helpers, templates, main) 2026-07-05 09:03:16 +04:00
“Naeel” 703bac4bc4 refactor(gen_v2): split template constants into templates.go 2026-07-05 08:57:47 +04:00
“Naeel” e65bc45f5a v5.0.59: redeploy as git_revision, no separate action resources, gen_v2 follows ARCHITECTURE.md 2026-07-05 08:51:45 +04:00
“Naeel” a5df6dca62 ARCHITECTURE: PRIMARY source of truth — action rules (redeploy inline, others excluded), 401 retry, API endpoint auto-detect 2026-07-05 08:17:56 +04:00
“Naeel” e9901c6309 v5.0.58: retry on 401 from Gateway, bump test profile version 2026-07-05 07:51:23 +04:00
“Naeel” 595c9250a1 docs: full postgres documentation rewrite — sub-field tables, working HCL examples for create/modify/user/database 2026-07-03 17:02:08 +04:00
“Naeel” 1e3038af63 TEST_STAND/PG: add comments to resources.tf explaining each parameter 2026-07-03 10:51:13 +04:00
“Naeel” c34c852096 TEST_STAND/PG: clean structure with README, variables.tf, .gitignore, terraform.tfvars.example 2026-07-03 10:49:28 +04:00
“Naeel” 9081309e13 history: document deck-api 403 workaround, map-fixed sub-fields, devops discussion, CMDB bug 2026-07-02 18:35:36 +04:00
“Naeel” d9feab666a docs: YAML analysis of 43 services from new API Gateway 2026-07-02 17:41:01 +04:00
“Naeel” 0c8223dd11 docs: HOWTO for cloud devops + update TEST_STAND manifests for new API Gateway
- HOWTO_IMPLEMENT_NEW_CLOUD_SERVICE.md: rules for implementing new managed services
  (naming, params, map-fixed blocks, operations, subresources, validation, checklist)
- HOWTO_ADD_NEW_SERVICE.md: how to add service to terraform provider pipeline
- TEST_STAND/*/main.tf: version 5.0.57, api_endpoint -> lk-api-gateway-test
- TEST_STAND/POSTGRES/resources.tf: rewritten for new map-fixed param structure
2026-07-02 17:38:42 +04:00
“Naeel” 612aa53caf api-gateway: migrate YAML gen + provider core from deck-api (?endpoint=) to lk-api-gateway (REST paths)
- service_spec_gen: callAPI() auto-detects proxy vs REST mode by index.cfm presence
- core/client.go: buildURL() replaces all 4 ?endpoint= harcoded sites
- build-provider.sh: -ldflags -X main.version=${VERSION} for correct binary version
- 01_generate_yamls.sh (devops + root): Python auto-detect proxy vs REST
- 02_generate_resources_and_docs_v2.sh: pass -api-endpoint to doc generators
- 04_build_and_publish_docs.sh: normalize_api_endpoint without forced /index.cfm
- docs_template_gen + v2: -api-endpoint flag, hardcoded deck-api replaced
- provider.go (both): TODO(api-gateway) comments
- profiles/test/profile.env: NUBES_API_ENDPOINT -> lk-api-gateway-test
- HISTORY: 2026-07-02_api_gateway_migration.md
2026-07-02 12:40:47 +04:00
“Naeel” 54647b2fbf chore: промежуточные изменения в TEST_STAND, docs, s.sh 2026-07-02 11:31:38 +04:00
“Naeel” 76f0b82c96 docs: API reference — old deck-api + new lk-api-gateway 2026-07-01 20:21:32 +04:00
“Naeel” f094b45d33 docs: mention replace buck0 in README 2026-07-01 18:08:27 +04:00
“Naeel” 39b4fbe0ce docs: add comments to replace buck0 with own name 2026-07-01 18:07:52 +04:00
“Naeel” 3d8c958422 docs: remove notes from README 2026-07-01 18:06:09 +04:00
“Naeel” 93152eb075 docs: fix README note about network 2026-07-01 18:05:53 +04:00
“Naeel” 50d28665d2 docs: README for buck0 2026-07-01 18:04:23 +04:00
“Naeel” a3df2d8389 docs: format buck0 terraform.tfvars.example 2026-07-01 18:01:45 +04:00
“Naeel” 8c43b2fda8 Merge branch 'master' of https://gitea.services.ngcloud.ru/Nail/tf_provider 2026-07-01 17:45:45 +04:00
Naeel cbd9b1263c chore: update .gitignore 2026-07-01 16:45:11 +03:00
“Naeel” 8e9691eaba docs: history — DDoS-Guard 403 fix + registry server fix 2026-07-01 17:20:02 +04:00