Commit Graph
100 Commits
Author SHA1 Message Date
Repinoid 3236203366 fix(core): не досылать modify-params без live-значения/дефолта — избежать синтетического 0 (integer > 0) 2026-09-22 19:49:04 +03:00
Repinoid 3a2a93b32e chore(dev): bump версии провайдера 2.0.10 -> 2.0.11 2026-09-22 19:26:17 +03:00
Repinoid 261809ba99 fix(generator): is_modifiable=true → параметр НЕ create-only (канон: меняется в UI → меняется в Terraform) 2026-09-22 19:21:42 +03:00
Repinoid d6520138f6 docs(opus): prompt — спроектировать простую модель изменяемости параметров (CreateOnly vs modifier) 2026-09-22 19:14:59 +03:00
Repinoid 3d0fc2be93 fix(fullpipe): убрать дубликат переменной nsxt_qos_profile 2026-09-22 19:10:36 +03:00
Repinoid 6cd9a3184b fix(fullpipe): убрать костыль — ALB/VS на create (true/3), модификатор только SNAT (ядро 2.0.10 досылает live) 2026-09-22 19:07:28 +03:00
Repinoid 8b0228cfd1 fix(fullpipe): Edge create ALB=false (неизменяемо), ALB/VS включаются только модификатором 2026-09-22 19:05:55 +03:00
Repinoid 307ef13a4e chore(fullpipe): закрепить провайдер nubes-dev 2.0.10 2026-09-22 19:03:02 +03:00
Repinoid 7e2ad415b4 chore(dev): bump версии провайдера 2.0.9 -> 2.0.10 2026-09-22 18:56:45 +03:00
Repinoid 57bf79d85b docs(todo): план разбиения client.go (1678 строк) на модули 2026-09-22 18:56:11 +03:00
Repinoid aca15e8f69 docs(opus): задокументировать разбор бага сброса create-полей modify 2026-09-22 18:55:27 +03:00
Repinoid c420ea0e70 fix(core): дозаполнять ВСЕ незаданные params modify их live-значением (по коду), иначе модификатор сбрасывает create-поля в дефолт 2026-09-22 18:54:51 +03:00
Repinoid 4f7edc1200 docs(opus): prompt по багу — modify-модификатор сбрасывает create-поля в дефолт 2026-09-22 18:51:00 +03:00
Repinoid 815ace7d2c fix(fullpipe): модификатор edge_net шлёт ALB/VS/qos целиком — иначе modify с null сбрасывает needEnableAVI в false 2026-09-22 18:48:46 +03:00
Repinoid 5129d2726d fix(fullpipe): ALB=true и VS=3 при создании Edge, модификатор только SNAT, раскомментировать всё 2026-09-22 18:37:21 +03:00
Repinoid 34c8e72e46 test(fullpipe): закомментировать Edge/edge_net/org_ips — оставить только VDC для destroy-проверки 2026-09-22 18:30:28 +03:00
Repinoid 7a6e3bd1e5 fix(fullpipe): ALB/VS меняются только через модификатор (edge create неизменяем) 2026-09-22 18:23:07 +03:00
Repinoid ca928b1e4b fix(fullpipe): параметры под Штурвал — ALB=true, VS=3, внешних IP=3 2026-09-22 18:20:54 +03:00
Repinoid 779f74b68c fix(fullpipe): org_ip_count default 1 (нужен свободный IP для SNAT) 2026-09-22 18:11:00 +03:00
Repinoid e0604fd9f9 feat(fullpipe): добавить модификатор vc_nsxt network (SNAT с внешним IP из vc_org) 2026-09-22 18:10:12 +03:00
Repinoid 099494eb63 test(fullpipe): org_ip_count default 0 после проверки modify 1→0 2026-09-22 17:46:23 +03:00
Repinoid 5ec3936235 chore(fullpipe): закрепить провайдер nubes-dev 2.0.9 2026-09-22 17:46:23 +03:00
Repinoid 788073f1ea docs(fullpipe): задокументировать проверку модификатора vc_org ip_space (modify 1↔2↔0, идемпотентность) 2026-09-22 17:46:23 +03:00
Repinoid 9107ba00fa chore(dev): bump версии провайдера 2.0.8 -> 2.0.9 2026-09-22 16:49:55 +03:00
Repinoid b1cea8a930 fix(core): fallback на /instanceOperations/default/{opId} при 500 getResourceRealmConfig в modify 2026-09-22 16:49:36 +03:00
Repinoid 947887a6ea docs(opus): задокументировать код-ревью модификаторов 2026-09-22 16:42:58 +03:00
Repinoid 423de314dd docs(opus): prompt код-ревью модификаторов 2026-09-22 16:40:20 +03:00
Repinoid 4bfbce4f44 feat(fullpipe): добавить модификатор vc_org ip_space (выделение внешних IP) 2026-09-22 16:40:20 +03:00
Repinoid eb85a3dc72 docs(har): пометить ошибки сломанного Edge как неподтверждённые наблюдения, не правила 2026-09-22 15:01:23 +03:00
Repinoid bcbc49dc52 docs(har): Insufficient rule blocks = нельзя снять ALB при живых VS (needEnableAVI forward-only) 2026-09-22 14:59:57 +03:00
Repinoid 19ad60b485 docs(har): ошибки операций EDGE — ipSpace '' невалиден, Insufficient rule blocks, delete FORBIDDEN при VS 2026-09-22 14:52:57 +03:00
Repinoid c7c80fd1bd fix(yaml-generator): сортировать subParams по ID — детерминированный порядок вложенных параметров 2026-09-22 14:36:04 +03:00
Repinoid 21b4da12a1 docs(har): имя ipSpace — выбор из списка (динамический); де-аллокация пока заблокирована 2026-09-22 14:27:58 +03:00
Repinoid ca4a246c8c docs(har): org2.har — де-аллокация = меньший count в vIPConfigure; операция pending (блок детей) 2026-09-22 14:04:31 +03:00
Repinoid d218bffad7 docs(har): ограничение де-аллокации IP в vcOrg (нельзя при дочерних инстансах) + порядок destroy 2026-09-22 14:01:00 +03:00
Repinoid 08108ba62b docs(har): no-needed — каноническое значение выключенного SNAT (подтверждено UI) 2026-09-22 14:00:08 +03:00
Repinoid a1b6ac8f23 docs(har): разбор SNAT/ipSpace модификаций — payload-и, no-needed, reverse SNAT 2026-09-22 13:54:00 +03:00
Repinoid 78f9dfbcfb refactor(build): эфемерные generated-копии — dev-materialize по стенду вместо постоянного дубля 2026-09-22 13:48:36 +03:00
Repinoid c14f7de7bc docs: раздел «Реестр исключений» + диалог код-ревью opus/astra 2026-09-22 08:31:22 +03:00
Repinoid dc321b5e3a refactor(generator): реестры исключений (данные) вместо хардкодов svc.ID==N / ServiceID==N 2026-09-22 08:31:22 +03:00
Repinoid 05f56c5e00 fix(build): гейт дрейфа сгенерированного кода + запрет прямой сборки из provider/ 2026-09-22 08:31:22 +03:00
Repinoid 7eab45ed71 docs(opus): промпт на код-ревью roadmap (vcOrg modify IP, vcNsxt SNAT, k8sShturval) 2026-09-22 07:21:16 +03:00
Repinoid a424e4e319 docs: резюме для старта новой сессии (состояние 2.0.8, правила, файлы, открытые вопросы) 2026-09-22 07:09:23 +03:00
Repinoid 13beb9c142 release(dev): 2.0.8 2026-09-21 21:56:42 +03:00
Repinoid 4b34cc7e63 fix(core): гарантия known для read-back полей (unknown -> null), чтобы Computed без Default не ломал apply 2026-09-21 21:48:54 +03:00
Repinoid 3c0157a1af fix(generator): read-back параметры без Default -> Optional+Computed (универсальное правило ShouldBeOptionalComputed) 2026-09-21 21:48:54 +03:00
Repinoid 25080b7379 release(dev): 2.0.7 2026-09-21 21:18:03 +03:00
Repinoid 724f5f7efb fix(generator): убрать create-time проверку существования из ModifyPlan (ломал tainted-replace и terraform destroy) 2026-09-21 20:54:57 +03:00
Repinoid 14ada09335 docs(flash): ТЗ на фикс tainted-replace - убрать create-time проверку из ModifyPlan 2026-09-21 20:52:51 +03:00
Repinoid e8da976a7b docs(instructions): copilot-instructions.md1 -> copilot-instructions.md 2026-09-21 20:41:58 +03:00
Repinoid 67c4d2f190 tool(scripts): validate_docs_examples.sh — terraform validate по примерам из сгенерированных доков 2026-09-21 20:41:13 +03:00
Repinoid 69808bdf09 release(dev): 2.0.6 2026-09-21 20:30:59 +03:00
Repinoid c6715e81be fix(generator): передавать supportsSuspend в diagnostics; не генерировать suspend_on_destroy для сервисов без suspend 2026-09-21 20:26:41 +03:00
Repinoid 8d405ba695 fix(core): подсказки при конфликте имени учитывают отсутствие suspend/resume (no adopt) + supportsSuspend в сигнатурах 2026-09-21 20:26:41 +03:00
Repinoid 3ca0752df8 fix(docs-generator): строковые дефолты в кавычках (default 81.22.46.22 ломал HCL-парсер: Invalid number literal) 2026-09-21 20:26:41 +03:00
Repinoid 7c2cc673cc fix(docs-generator): array-map-fixed = jsonencode([...]) (StringAttribute, не объект); классификация по data_type, а не is_json 2026-09-21 20:22:27 +03:00
Repinoid af2e10b1d5 fix(docs-generator): вложенные map-fixed как аргумент '= {' (а не блок), array-map-fixed через jsonencode 2026-09-21 20:19:42 +03:00
Repinoid 54b0baa718 release(dev): 2.0.5 2026-09-21 20:08:55 +03:00
Repinoid 61c7e207ba docs(HISTORY): сессия 2026-09-21 - фиксы генератора, refSvc, FullPipe (vDC+Edge) 2026-09-21 20:08:40 +03:00
Repinoid bffe3d9950 fix(generator): refSvc-поля без Computed (unset = null, а не unknown) 2026-09-21 20:05:02 +03:00
Repinoid 92e04daea5 docs(TODO): баг docs-generator - вложенный map-fixed как блок вместо = {} 2026-09-21 19:57:48 +03:00
Repinoid d608fba338 stand(FullPipe): vc_nsxt (edge.tf), storage_config fast->SATA, provider 2.0.4 2026-09-21 19:57:48 +03:00
Repinoid 140100378f release(dev): 2.0.4 2026-09-21 19:57:48 +03:00
Repinoid 2286d34499 fix(generator): destroy-guard в ModifyPlan + универсальный refSvc (имя или UUID) 2026-09-21 19:57:48 +03:00
Repinoid 7ecd2aaf44 Fix generator rebuild and release pipeline 2026-09-21 18:08:26 +03:00
Repinoid 1ec6a0fedc Fix VDC flow and FullPipe example 2026-09-21 13:02:25 +03:00
Repinoid 7d446977a5 Fix FullPipe VDC example placeholders 2026-09-21 12:07:06 +03:00
Repinoid 308f92bc37 fix(core): graceful fallback for cfsParams 500 error in createInstanceWithContext
- In provider/internal/core/client.go:
  - If GET /instanceOperations/{opUid}?fields=cfsParams fails with 500 or JSON unmarshal error,
    check whether provided parameters contain unresolved names via hasUnresolvedParams.
  - If all parameters are already resolved (UUIDs/numbers/booleans/JSON), proceed to send
    parameters via POST /instanceOperationCfsParams without hard-failing.
  - If unresolved names remain, fail immediately with original error.
- Bumped DEV provider version to 2.0.2 in TOOLS/config/dev/profile.env, VERSIONS.md, and DEV_STAND/FullPipe/versions.tf.
- Built, signed, and published provider 2.0.2 to DEV registry bucket nubes-terraform-registry.
2026-09-21 09:59:15 +03:00
Repinoid 7ff98f8edc feat(stand): add FullPipe DEV stand for vc_vdc and document 500 error fallback plan
- Added DEV_STAND/FullPipe with modular configuration for vc_vdc resource creation:
  - versions.tf: Terraform >= 1.5.0, provider nubes 2.0.1
  - provider.tf: nubes provider config with DEV gateway endpoint
  - variables.tf: variables for vdc (cpu=8, mem=32, guaranteed=0, fast storage=200GB)
  - vdc.tf: nubes_vc_vdc resource definition supporting org name or UUID
  - outputs.tf: vdc_id, vdc_name, vdc_state_params
  - terraform.tfvars.example: example values without secrets
- Added docs/DEBUG_REPORT_VC_VDC_500.md documenting API 500 issue in Lucee backend:
  - Error: getResourceRealmConfig fails casting Struct to string on GET /instanceOperations/{opUid}?fields=cfsParams
  - Planned changes in provider/internal/core/client.go:
    Implement graceful fallback in createInstanceWithContext to skip hard-failing
    when GET ?fields=cfsParams returns 500, since vc_vdc ref parameters (organization_uid)
    are already resolved to UUID and remaining parameters are literals/numbers.
2026-09-21 09:46:43 +03:00
Repinoid 4b218fbe33 fix: publish providers to registry bucket 2026-09-20 21:42:07 +03:00
Repinoid f32159b3af fix: publish generated providers to working registry 2026-09-20 20:00:34 +03:00
Repinoid a44894d877 1 2026-09-20 18:15:17 +03:00
Repinoid 8f552ecacc fix: harden modifier resource lifecycle
Validate required modifier parameters, refresh modifier state from parent state_params, preserve operation timeout and log level during update, and normalize nested modifier payloads as JSON. Document the modifier contract, vcOrg/vcNsxt usage, and the intentionally unsupported rollback semantics.
2026-09-20 18:11:17 +03:00
Repinoid a48b658d78 feat: add generated parent modify resources
Introduce the modifier YAML kind for delayed parent-level modify operations and generate dedicated Terraform resources with typed parameters. Keep modifier parameters out of the ordinary instance CRUD resource, register modifiers separately, and leave delete as a no-op until an inverse API payload is confirmed. Mark vcOrg and vcNsxt modify operations during YAML generation so the contract survives regeneration.
2026-09-20 18:05:24 +03:00
Repinoid 33672e05bf docs: add modifier resources ideology and architecture specification 2026-09-19 08:32:28 +03:00
Repinoid 0464a30642 docs(strategy): оркестрация взаимозависимых ресурсов и паттерн привязок
- complex_provisioning_workflow.md — цепочка vcOrg -> vcVdc -> vcNsxt -> Штурвал,
  включая modify-шаги и пошаговые модификации
- shturval_dev_provisioning_spec.md — точные параметры и ID операций DEV-стенда
  для цепочки развёртывания k8s_sthutrval_cluster
- terraform_association_pattern_and_pipeline.md — Resource Association Pattern
  (разделение сущности и ресурсов-привязок/модификаций)
2026-09-18 18:44:36 +03:00
Repinoid 106ddbe092 stand: switch every stand to actual provider versions (prod=1.0.0, dev=2.0.0, test=3.0.0)
Легаси-версии (5.0.x/5.1.x/3.1.x/2.1.x) в реестре отсутствуют (404), стенды не могли
пройти terraform init. Приведены к новой схеме нумерации от 2026-09-03.

- DEV  (nubes-dev):  CRUD, POSTGRES, SHTURVAL_MGMT -> 2.0.0
- TEST (nubes-test): CRUD, PG, POSTGRES, MARIA_DB, buck0, kuber, IOT_RMQ_DEMO -> 3.0.0
                     (DEV_STAND/IOT_KAFKA_DEMO тоже nubes-test -> 3.0.0)
- PROD (nubes):      PG1, POSTGRES, RABBIT -> 1.0.0
- README стендов TEST_STAND/buck0, TEST_STAND/PG: версии приведены к 3.0.0
- getting-started: убрана versioned-ссылка на доки (2.1.7) -> актуальный домен без версии
- .gitignore: откатано правило TMP/ (на remote TMP/init-test-*/main.tf трекаются)
2026-09-16 16:34:40 +03:00
Repinoid dbaeea5c89 stand(PGwNewRegistry): pin provider to 3.0.0 (new TEST scheme) 2026-09-16 16:33:27 +03:00
Repinoid 7eb8eb8859 chore(git): ignore TMP/ (local terraform init scratch) 2026-09-16 16:33:27 +03:00
“Naeel” 7a25ad8fc9 docs: show current environment on index 2026-09-03 17:58:13 +03:00
“Naeel” a222a0dace fix(docs): publish cross-stand index links 2026-09-03 17:39:24 +03:00
“Naeel” bba6b47dc2 docs: link documentation environments 2026-09-03 17:26:20 +03:00
“Naeel” ccb458a167 docs: record test and prod publication 2026-09-03 16:56:51 +03:00
“Naeel” aa0f7f6402 fix(docs): remove stand-specific hardcodes 2026-09-03 16:14:28 +03:00
“Naeel” 6bf514e03a docs: describe stand-agnostic docs pipeline 2026-09-03 12:05:21 +03:00
“Naeel” 8d5bbd368d docs: link verified documentation upload guide 2026-09-03 12:03:58 +03:00
“Naeel” 423c74d3f1 docs: record verified documentation upload pipeline 2026-09-03 12:03:12 +03:00
“Naeel” 085a310720 test: add terraform init configs for all stands 2026-09-03 11:52:47 +03:00
“Naeel” b76e0d1086 fix(generator): inherit nested schema across operation params 2026-09-03 10:54:59 +03:00
“Naeel” 9ebe5b19d6 docs: remove S3 credentials from release plans 2026-09-03 10:53:36 +03:00
“Naeel” 62d8d7b45d docs: record universal dev generator fix plan and Sol review prompt 2026-09-03 10:36:45 +03:00
“Naeel” 02b7d7b701 fix(docs): per-stand getting-started injection (source namespace, version, api_endpoint) after copy into docs_dir; placeholders {{NAMESPACE}} 2026-09-03 09:19:56 +03:00
“Naeel” 9090488731 reversion: prod=1.*, dev=2.*, test=3.*; cleanup registry; test 3.0.0 + prod 1.0.0 uploaded (dev skipped: jsonEnv nested bug) 2026-09-03 09:07:05 +03:00
“Naeel” 9e02b696ba fix(docs-pipeline): default DOCS_GEN_DIR -> generated/<stand>/docs; document env setup + S3 via VM 2026-09-03 08:06:59 +03:00
“Naeel” 9fd7334a60 feat(docs): version badge v0.1 in header right corner (manual bump on changes) 2026-09-03 07:32:59 +03:00
“Naeel” 72a8a491c6 docs: актуализация DOCS_PIPELINE/README (без версий, новый хост); старый -> legacy 2026-09-03 07:27:58 +03:00
“Naeel” dc469c6dce feat: publish docs without version (mc mirror overwrite) + site_url per stand 2026-09-02 18:36:55 +03:00
“Naeel” 211143980c fix: restore scripts/publish-docs.sh (docs upload to S3 terraform-registry) 2026-09-02 14:40:53 +03:00
“Naeel” 2414647337 docs: record full docs pipeline analysis 2026-09-02 11:42:37 +03:00
“Naeel” 97fd77c2e9 docs: update provider version to 5.0.5 in getting-started guide 2026-09-02 08:09:29 +03:00