Commit Graph
100 Commits
Author SHA1 Message Date
“Naeel” 6660008af1 fix: ResolveS3UidInAllMapFixed exported + called in RequiredParamsMismatch 2026-07-19 13:36:40 +04:00
“Naeel” 4d14568852 fix: non-constant format string in fmt.Errorf 2026-07-19 13:11:46 +04:00
“Naeel” 38d278427e fix: move s3Uid resolve before early return when no refSvcId 2026-07-19 13:04:31 +04:00
“Naeel” dd61b1b08d fix: s3Uid resolve by JSON key pattern (no DataDescriptor dependency) 2026-07-19 11:37:52 +04:00
“Naeel” 65b78f2a78 fix: resolve s3Uid name→UUID for uuid sub-params inside map-fixed 2026-07-19 10:45:22 +04:00
“Naeel” 0a027c2ebf fix: map-fixed fallback builds JSON from DataDescriptor sub-param defaults 2026-07-19 09:34:26 +04:00
“Naeel” 35792091bd fix: nested attrs with default → Optional (no Computed), prevents unknown values 2026-07-18 23:12:51 +04:00
“Naeel” b6f5b481af bump versions: dev 3.1.3, test 5.1.5, prod 2.1.2 2026-07-18 23:01:14 +04:00
“Naeel” 92cb40e476 fix: nil-guard for nested map-fixed params in generated code 2026-07-18 22:51:43 +04:00
“Naeel” 7edea3f472 bump versions: dev 3.1.2, test 5.1.4, prod 2.1.1 2026-07-18 22:39:47 +04:00
“Naeel” 6f0e2a9b81 fix: resource-generator Merge — union SubParams вместо first-seen-wins 2026-07-18 22:36:39 +04:00
“Naeel” cfb546651b fix: zero-value fallback — integer→0, boolean→false; modify uses WithDefaults 2026-07-18 22:28:02 +04:00
“Naeel” 97bd580626 fix: 03_build script — VERSION from profile.env no longer overwritten, regex fixed 2026-07-18 16:02:43 +04:00
“Naeel” 84a3513f02 fix: terra.k8c.ru → registry.kube5s.ru everywhere 2026-07-18 15:48:22 +04:00
“Naeel” 8e2c3845f1 chore: правило — нестандартные команды только по приказу 2026-07-18 15:38:38 +04:00
“Naeel” 6beac52e92 test: push check 2026-07-18 07:25:29 +04:00
“Naeel” 073c37b549 fix: common services_list.txt via symlinks, rename DEV bucket to unique name 2026-07-18 06:55:28 +04:00
“Naeel” e822009cfb feat: DEV provider 3.1.1 with mtls support, regenerated resources 2026-07-17 13:43:22 +04:00
“Naeel” 205fd02c39 feat: DEV_STAND postgres config (no mtls) 2026-07-17 12:43:00 +04:00
“Naeel” dc9134e515 feat: parameterize provider address and source for multi-stand (DEV/TEST/PROD) support 2026-07-17 11:59:56 +04:00
“Naeel” d602212236 design: add Nubes logo and favicon from design system 2026-07-17 10:39:08 +04:00
“Naeel” cf8cccc199 docs: add getting-started guide with terraform init/plan/apply/destroy workflow 2026-07-17 10:35:37 +04:00
“Naeel” 5dbb2acda4 fix: example blocks — jsonencode for json types, TODO instead of hardcoded values, add resource_name 2026-07-17 10:18:24 +04:00
“Naeel” 82f639dc31 fix: add markdown=1 to man-content div for proper MkDocs rendering 2026-07-17 10:02:02 +04:00
“Naeel” 80aa0dc814 fix: remove binary from repo, add docs-generator/bin/ to gitignore 2026-07-17 09:55:45 +04:00
“Naeel” 58675ccff2 1 2026-07-17 09:51:57 +04:00
“Naeel” 6d69ae2c7c docs: chat resume for new session 2026-07-17 09:27:40 +04:00
“Naeel” f9ae51d854 docs: complete prompt for DeepSeek Flash with file paths 2026-07-17 09:24:02 +04:00
“Naeel” 50dfa3c31d docs: DeepSeek Flash prompt for doc readability improvement 2026-07-17 09:19:39 +04:00
“Naeel” b7a0a4bfe5 docs: LLM documentation architecture — truth sources, pipeline, CSS design, LLM prompt rules 2026-07-17 08:19:37 +04:00
“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