Commit Graph
100 Commits
Author SHA1 Message Date
“Naeel” 12645b0a02 docs: compact layout, blue/green color coding, 1800px max-width; docs-generator SubParams support 2026-07-17 07:35:00 +04:00
“Naeel” d7e61abf2b chore: commit all changes 2026-07-16 18:31:28 +04:00
“Naeel” dca79d3e16 docs: успешный тест nested-провайдера 5.1.2 на TEST-стенде 2026-07-16 18:10:40 +04:00
“Naeel” 6da49113a1 chore: stop tracking generated/ (already in .gitignore) 2026-07-16 18:02:41 +04:00
“Naeel” 29d0de4658 versions: 2.1.0/3.1.0/5.1.0 per stand, main.go ldflags, registry cleaned 2026-07-16 15:55:42 +04:00
“Naeel” ae64ee5931 resource-generator: SubParams nested fix (Соннет) — AlignParamTypes recursive, HasNestedParams/NeedsStrings skip array-map-fixed, bump 5.0.74 2026-07-16 15:43:01 +04:00
“Naeel” e097d0dae9 docs: история — SubParams, размоноличивание, багфиксы lifecycle 2026-07-16 15:09:54 +04:00
“Naeel” 3d22758385 resource-generator: SubParams → nested SingleNestedAttribute/ListNestedAttribute + bump 5.0.73 2026-07-16 15:06:35 +04:00
“Naeel” ef72486bd7 save: unsaved changes (loader.go + types.go) 2026-07-16 14:57:08 +04:00
“Naeel” 6929562fc9 fix: lifecycle bugs A+B (HasError guard, not_created hard error) + bump 5.0.72 2026-07-16 14:51:01 +04:00
“Naeel” f31bedfe05 docs: аудит lifecycle от Соннета — 2 крит. бага (HasError guard, not_created) 2026-07-16 14:48:10 +04:00
“Naeel” d7e75c78b4 bump version 5.0.70 → 5.0.71 2026-07-16 14:39:00 +04:00
“Naeel” bfb427671b refactor: размоноличивание templates.go → instance.go/subresource.go/action.go 2026-07-16 14:38:48 +04:00
“Naeel” c5e2b77ab5 docs: подводные камни от Соннета (Required+Default, json-теги, value_list) 2026-07-16 14:33:53 +04:00
“Naeel” c197fb8b0c docs: план рефакторинга resource-generator (размоноличивание + SubParams) 2026-07-16 14:30:13 +04:00
“Naeel” af65106a05 docs: YAML generation results (dev=50, test=48, prod=46) 2026-07-16 14:18:37 +04:00
“Naeel” a0706c50fe generated YAML: dev=50, test=48, prod=46 (Gateway, Vitaly method) 2026-07-16 14:17:31 +04:00
“Naeel” 3591ea227a progress output: show each operation fetch, bump 5.0.70 2026-07-16 14:07:02 +04:00
“Naeel” ce92ccb7de docs: Gateway API — списки сервисов, DDoS-Guard заголовки, метод Виталия 2026-07-16 13:52:27 +04:00
“Naeel” ec1d933221 bump version 5.0.68 → 5.0.69 2026-07-16 13:49:08 +04:00
“Naeel” f5547c0465 svc-api: переход на Gateway (lk-api-gateway), User-Agent+Referer для DDoS-Guard, метод Виталия /instanceOperations/default/{id} с dataDescriptor, LEGACY-пометки везде 2026-07-16 13:48:34 +04:00
“Naeel” b9130fdd79 docs: what NOT to manage with Terraform (org/vdc/edge/shturval) 2026-07-09 09:46:32 +04:00
“Naeel” b0fb2ab9cf refactor: edge as variable, add edge_uid 2026-07-09 09:32:14 +04:00
“Naeel” 8b1176f8d8 fix: skip empty optional ref-params in resolveRefSvcParamValues, bump 5.0.68 2026-07-09 09:20:26 +04:00
“Naeel” fbf2db55ab add vcNsxt edge resource 2026-07-09 09:15:05 +04:00
“Naeel” 1f36fa72eb refactor: vdc as variable, add vdc_uid 2026-07-09 09:14:10 +04:00
“Naeel” c36212422c add vcVdc resource stub 2026-07-09 08:51:31 +04:00
“Naeel” a883d9ce38 refactor: org as variable, not managed resource 2026-07-09 08:46:03 +04:00
“Naeel” b0f07d4f0f fix: v_i_p_configure match existing org 2026-07-09 08:34:33 +04:00
“Naeel” dd6dc2017b docs: update debug findings 07-09 2026-07-09 00:57:18 +04:00
“Naeel” ee9759cbce debug: bump 5.0.67, log PlanExistingResourceDiagnostics entry 2026-07-09 00:54:07 +04:00
“Naeel” a0474c3949 debug: log PlanExistingResourceDiagnostics entry point 2026-07-09 00:51:26 +04:00
“Naeel” f4be94c5c9 debug: write FIND-DEBUG to /tmp/nubes_find_debug.log instead of stderr 2026-07-09 00:47:41 +04:00
“Naeel” 5b106d7029 debug: stderr logging in FindInstanceByDisplayName, bump 5.0.66 2026-07-09 00:42:14 +04:00
“Naeel” f59b9ca19b fix: req.Close only for non-GET (fixes FindInstanceByDisplayName), bump 5.0.65 2026-07-08 20:11:30 +04:00
“Naeel” 6d3bfe852c fix vcOrg: resource_name = NaeelOrg 2026-07-08 19:53:44 +04:00
“Naeel” c6b490f151 vcOrg: adopt existing WZ03709-iaas 2026-07-08 19:46:40 +04:00
“Naeel” c8bd107f92 fix vcOrg: formatting 2026-07-08 19:12:12 +04:00
“Naeel” 25786cecc6 fix vcOrg: add required v_i_p_configure = [] 2026-07-08 19:10:53 +04:00
“Naeel” fefabd448a add TEST_STAND/kuber — vcOrg only 2026-07-08 19:09:15 +04:00
“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” 8e9691eaba docs: history — DDoS-Guard 403 fix + registry server fix 2026-07-01 17:20:02 +04:00
“Naeel” b32424ac14 bump buck0 provider version to 5.0.75 2026-07-01 16:41:47 +04:00
“Naeel” cdaa78ecee fix: User-Agent on all direct HTTP calls + domain_collision, bump 5.0.75 2026-07-01 16:29:04 +04:00
“Naeel” a8d3be1849 v5.0.74: fix net import 2026-07-01 16:12:23 +04:00
“Naeel” 112d04adf5 v5.0.74: fresh Transport (not cloned DefaultTransport) 2026-07-01 16:11:26 +04:00
“Naeel” 42210c2250 v5.0.73: req.Close=true — force new TCP per request 2026-07-01 16:09:54 +04:00
“Naeel” 11f5464367 v5.0.72: clean build — ?endpoint= + TLSNextProto + rawQuery fix 2026-07-01 16:01:33 +04:00
“Naeel” f2d2b02e45 v5.0.71: rawQuery (no %2F) + Accept: */* (DDoS-Guard POST fix) 2026-07-01 15:52:50 +04:00
“Naeel” 3f9b02c7f7 v5.0.70: all URLs use ?endpoint= (fix query params in path) 2026-07-01 15:43:27 +04:00
“Naeel” 97ea19ed1b v5.0.69: ?endpoint= format like generator (fixes POST 403) 2026-07-01 15:41:38 +04:00
“Naeel” 7862ea7e45 v5.0.68: TLSNextProto fix — disable HTTP/2 ALPN (DDoS-Guard EOF) 2026-07-01 15:40:09 +04:00
“Naeel” e06e8de134 v5.0.67: fix proxy nil crash + net/url import 2026-07-01 14:59:49 +04:00