Repinoid
3d722fb7ee
refactor(core): разбить client.go (1678 строк) на 15 мелких модулей по зонам ответственности
2026-09-22 20:06:49 +03:00
Repinoid
c2deff1a58
chore(dev): bump провайдера 2.0.11 -> 2.0.12; закрепить 2.0.11 в FullPipe
2026-09-22 19:49:41 +03:00
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