diff --git a/docs/CHAT_RESUME_NEW.md b/docs/CHAT_RESUME_NEW.md index fe9c808..ecd2d7c 100644 --- a/docs/CHAT_RESUME_NEW.md +++ b/docs/CHAT_RESUME_NEW.md @@ -1,115 +1,23 @@ - -# Резюме для нового чата (подробно) +# Резюме — tf_provider документация -## Контекст -- Репозиторий: /home/naeel/terra -- Ветка: reset-universal-rebuild (создана и запушена) -- Цель: полный перезапуск генерации универсального провайдера. Сгенерировать YAML и Go-ресурсы заново, начиная с dummy. +## Сайты +- 5.1.2 (рабочий): https://registry.kube5s.ru/docs/nubes-test/nubes/5.1.2/ +- 5.2.0 (мусор): удалить -## Ключевые правила/инструкции -- Не менять существующий Go-код без разрешения (получали разрешения явно). -- Новая логика — только новые функции/файлы (если не дано разрешение на правки). -- Перед изменениями читать REPO_CONTENTS.md (сделано). -- Токены: при получении нового access_token сохранить в /home/naeel/terra/HH-MM-SS.token. -- Команды к API только read-only. +## Генератор +TOOLS/bin/docs-generator -resources generated/test/resources_yaml -docs generated/test/docs -services TOOLS/config/test/services_list.txt -version "5.1.2" -api-endpoint "https://lk-api-gateway-test.ngcloud.ru/api/v1/svc" -## Что сделано до «reset» -1) **Исправления логики adopt/Read** -- В internal/core/client.go добавлено поле `IsDeleted` в `InstanceStateResponse` и функция `isInstanceDeleted` (ignore deleted). При поиске по display_name удалённые инстансы пропускаются. -- В генераторе Read добавлено удаление state при `isDeleted`/`explainedStatus=deleted`. +## CSS +generated/test/docs/assets/extra.css — 1800px, синий/зелёный, без переносов -2) **Поведение при дубликатах display_name** -- В CreateResource (resources_gen/crud.go): если ресурс с именем найден и `resume_if_exists=false` — ошибка без попытки create. -- В ModifyPlan: предупреждение о дубликате для `resume_if_exists=true`. Ошибка при `resume_if_exists=false`. +## Промпт +docs/prompt_deepseek_flash.txt — для DeepSeek Flash: MAN HTML→MD, русские заголовки, убрать br. НИЧЕГО не удалять. -3) **Сброс warning для уже managed ресурсов** -- В ModifyPlan добавлена проверка state.ID: если ресурс уже в state — warning не показывать. +## Сборка +python3 -m mkdocs build --config-file /tmp/mkdocs_clean.yml -4) **Было выявлено** -- Проблема с `resourceRealm`: ранее подставлялся автоматически `serviceName`, что ломало Postgres (нужен доступный realm). +## S3 +mc cp --recursive generated/test/site/ "reg/terraform-registry/docs/nubes-test/nubes/5.1.2/" -5) **Ветка и коммит** -- Создана ветка: `reset-universal-rebuild`. -- Коммит: “reset generated resources”. -- Запушено в origin. - -## Большой reset (начать заново) -### Удаление и пересоздание папок -- По запросу пользователя удалены: - - /home/naeel/terra/universal_rebuild/resources_yaml - - /home/naeel/terra/universal_rebuild/internal/resources_gen -- Затем каталоги **созданы заново** (пустые): - - /home/naeel/terra/universal_rebuild/resources_yaml - - /home/naeel/terra/universal_rebuild/internal/resources_gen - -## Новый генератор YAML (без instanceUid) -### Причина -- Из документации `/docs/40_analysis/har/discovery/service_parameters_fetch.md` выяснилось, что параметры можно получать **без instanceUid**: - - GET `/api/v1/index.cfm?endpoint=/services/{svcId}` → список операций - - GET `/api/v1/index.cfm?endpoint=/serviceOperation/{svcOperationId}` → cfsParams - - опционально `/param-value-list/{svcOperationCfsParamId}` - -### Реализация -- Создан новый генератор: - - Файл: /home/naeel/terra/universal_rebuild/tools/service_params_gen/main.go - - Он: - - Берёт токен из `NUBES_API_TOKEN` или из `test_universal/terraform.tfvars`. - - Вызывает `/index.cfm?endpoint=/services/{svcId}` и `/serviceOperation/{id}`. - - Строит YAML (create/modify params) и сохраняет в `universal_rebuild/resources_yaml/{name}.yaml`. - - Типы приводятся: bool → bool, int* → int64, остальное → string. - -## Токен -- Получен новый JSON с access_token. -- Сохранён файл: `/home/naeel/terra/20-19-21.token`. -- Обновлён `/home/naeel/terra/universal_rebuild/test_universal/terraform.tfvars` на новый token. - -## Старт заново: dummy (service_id=1) -1) YAML: - - Сгенерирован через новый генератор: - - Команда: `NUBES_SERVICE_ID=1 NUBES_SERVICE_NAME=dummy go run ./tools/service_params_gen/main.go` - - Файл: /home/naeel/terra/universal_rebuild/resources_yaml/dummy.yaml -2) Go-ресурсы: - - Сгенерированы стандартным генератором: - - `go run ./tools/gen/main.go` - - Вновь добавлен `internal/resources_gen/crud.go` (Create/Update/Delete helpers), т.к. он был удалён при reset. -3) Build: - - `go build -o terraform-provider-nubes` — успешно. - -## Текущее состояние файлов (после reset) -- **Сгенерировано:** - - /home/naeel/terra/universal_rebuild/resources_yaml/dummy.yaml - - /home/naeel/terra/universal_rebuild/internal/resources_gen/* (dummy + базовые registry/helpers от генератора) - - /home/naeel/terra/universal_rebuild/internal/resources_gen/crud.go (вручную восстановлен) -- **Новый инструмент:** - - /home/naeel/terra/universal_rebuild/tools/service_params_gen/main.go - -## Что предстоит (следующие шаги) -1) **Сгенерировать YAML для других сервисов** тем же новым генератором: - - Пример: - - `NUBES_SERVICE_ID=13 NUBES_SERVICE_NAME=bucket go run ./tools/service_params_gen/main.go` - - `NUBES_SERVICE_ID=90 NUBES_SERVICE_NAME=postgres go run ./tools/service_params_gen/main.go` - - Проверить, что в YAML есть `resourceRealm` (как параметр, без автоподстановки). -2) **Запустить `tools/gen/main.go`** после каждого набора YAML. -3) **Проверить схему параметров** (если имена типа `resource_c_p_u`/`allow_no_s_s_l` получаются странными — это ожидаемое поведение текущего генератора по CamelCase; при необходимости фиксить генератор). -4) **Тесты**: - - Create/modify/suspend/delete по выбранным сервисам (как ранее делали для dummy/bucket/postgres). -5) **resourceRealm**: - - Сейчас параметр должен задаваться пользователем в `.tf`. - - Ранее была автоподстановка `serviceName`, её отключили (см. правки tools/gen/main.go), но после reset может потребоваться проверить текущее поведение генератора. - -## Важные файлы/ссылки -- Док: /home/naeel/terra/docs/40_analysis/har/discovery/service_parameters_fetch.md -- Новый генератор YAML: /home/naeel/terra/universal_rebuild/tools/service_params_gen/main.go -- Генератор Go ресурсов: /home/naeel/terra/universal_rebuild/tools/gen/main.go -- Каталоги для генерации: - - /home/naeel/terra/universal_rebuild/resources_yaml - - /home/naeel/terra/universal_rebuild/internal/resources_gen - -## Комментарии по ошибкам, которые были ранее -- 401 Unauthorized: токен истёк → обновили. -- 500 Resource realm not available: нужен `resourceRealm` доступный контракту (задавать в `.tf`). -- Warnings `RESOURCE WITH SAME NAME EXISTS`: теперь показываются только для ресурсов без state ID (на create), чтобы не мешать managed ресурсам. - ---- - -Если нужно, можно продолжить с генерации `bucket` и `postgres` через новый `service_params_gen`, затем перегенерировать Go ресурсы и собрать провайдер. \ No newline at end of file +## ЗАДАЧА +На 5.1.2: MAN HTML→Markdown + русские заголовки + убрать br. Параметры из API не трогать.