From 02114bf1955e71ae893ad7830ccc28da0bd9a2db Mon Sep 17 00:00:00 2001 From: Repinoid Date: Fri, 2 Oct 2026 08:34:18 +0300 Subject: [PATCH] =?UTF-8?q?docs(history):=20=D1=80=D0=B5=D0=B2=D0=B8=D0=B7?= =?UTF-8?q?=D0=B8=D1=8F=20README=20=C2=AB=D0=B3=D0=BB=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D0=BC=D0=B8=20=D1=8E=D0=B7=D0=B5=D1=80=D0=B0=C2=BB=20+=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=BB=D0=B8=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D1=8B=20+?= =?UTF-8?q?=20=D1=81=D0=B2=D0=BE=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B0=20-=20=D0=B2=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D1=83=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=BA=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=20272d405=20(=D0=BA=D0=BB=D0=BE=D0=BD=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5,=20=D1=88=D0=B0=D0=B3=204?= =?UTF-8?q?=20=D1=81=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0=D0=BC=D0=B8,?= =?UTF-8?q?=20=20=20=D0=B4=D0=B8=D0=B0=D0=B3=D0=BD=D0=BE=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0,=20=D1=81=D1=83=D1=84=D1=84=D0=B8=D0=BA=D1=81=20no?= =?UTF-8?q?dejsk8s);=20-=20=D0=B2=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=20=D1=80=D1=83=D1=87=D0=BD=D1=83=D1=8E=20?= =?UTF-8?q?=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D1=8E:?= =?UTF-8?q?=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=D0=B0=D0=BB=D0=B8=D0=B2=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=8C=20=D0=B4=D0=B2=D0=B0=D0=B6=D0=B4=D1=8B,=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BE?= =?UTF-8?q?=D0=BA=20=20=20=D0=BD=D0=B0=20=D0=B6=D0=B8=D0=B2=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86=D0=B5=20167269=20?= =?UTF-8?q?=D0=B1=D0=B0=D0=B9=D1=82,=20cmp=20=D1=81=20=D0=BB=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D1=81=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=BE=D0=B9=20=D1=81=D0=BE=D0=B2=D0=BF=D0=B0=D0=BB;=20-?= =?UTF-8?q?=20=D0=B2=20=C2=AB=D0=9C=D0=BE=D0=B8=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B8=C2=BB:=20=D1=81=D0=BA=D0=BB=D0=B5=D0=B9=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B4=D0=B2=D1=83=D1=85=20=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B=20=C2=AB?= =?UTF-8?q?=D0=A4=D0=B0=D0=B9=D0=BB=D1=8B=C2=BB=20=D0=B8=D0=B7-=D0=B7?= =?UTF-8?q?=D0=B0=20=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D1=8B=20=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B8=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B5?= =?UTF-8?q?=20=20=20=D1=81=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D0=BE=D0=BC=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20(=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=B0=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=BE=20=D0=B8?= =?UTF-8?q?=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?);=20=D0=BE=D1=82=D1=81=D1=83=D1=82=D1=81=D1=82=D0=B2=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=20README=20=D0=B2=D1=85=D0=BE=D0=B4=D0=B0=20=20?= =?UTF-8?q?=20(=D0=BA=D0=BB=D0=BE=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5)=20=D0=B8=20=D0=B2=D1=8B=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=20(=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9).=20=D0=9F?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B5=D0=BD=D0=BE:=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=20=D1=87=D0=B5=D1=82=D1=8B=D1=80=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=BD=D0=B0=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B5,=20=D1=81=D1=82=D1=80=D1=83=D0=BA?= =?UTF-8?q?=D1=82=D1=83=D1=80=D0=B0=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20?= =?UTF-8?q?=D1=86=D0=B5=D0=BB=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...10-02_crud_docs_page_and_manual_pages_pipeline.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/HISTORY/50_docs/2026-10-02_crud_docs_page_and_manual_pages_pipeline.md b/HISTORY/50_docs/2026-10-02_crud_docs_page_and_manual_pages_pipeline.md index b52d1b1..d12e099 100644 --- a/HISTORY/50_docs/2026-10-02_crud_docs_page_and_manual_pages_pipeline.md +++ b/HISTORY/50_docs/2026-10-02_crud_docs_page_and_manual_pages_pipeline.md @@ -22,6 +22,7 @@ | `5674b86`, `b8f5238` | Добавлен раздел «Справка: выходные параметры `pg/`»: состав шести выходов, вид JSON (`{sensitive, type, value}` — поэтому в `apps/locals.tf` берётся `.value`), таблица «выход → переменная окружения» для Flask / Node.js / Lucee. Сначала раздел вставлен в шаг 2, затем по команде владельца перенесён в конец файла (в шаге 2 он мешал последовательности трёх шагов) | | `7b63f12` | По замечанию владельца «я не вижу описания какие параметры юзер должен СВОИ задавать… и что имя домена должно быть УНИКАЛЬНО? и имя инстанса в пределах стенда?» добавлен раздел «Что пользователь задаёт сам»: обязательные значения (`api_token`, `realm`, `s3_name`), имена с правилами уникальности (кластер и приложения — в пределах стенда, юзер/база — в пределах кластера, домены — в облаке) с объяснением через `adopt_existing_on_create` (`provider/internal/resources_core/crud.go:171`, `provider/internal/core/refsvc_find.go:47`), и список того, что можно не задавать. Из шагов 1 и 3 убраны дублирующие таблицы | | `39849bf` | Тот же раздел продублирован на странице сайта: README стенда и `docs/curated/crud/three_apps.md` обязаны описывать одно и то же. Плюс выровнены отступы в общем блоке `cp terraform.tfvars.example` | +| `272d405` | Ревизия README «глазами юзера» по требованию владельца («где про клонирование??»). Добавлено: раздел «Где взять манифесты» (клонирование `terraform/tf_provider`, `cd TEST_STAND/CRUD`, `terraform version`, откуда берётся провайдер — `nubes-test/nubes` 3.0.0), шаг 4 «Проверить» с реальными адресами (`lucee-crud.luceek8s.dev.nubes.ru`, `flask-crud.pythonk8s.dev.nubes.ru`, `nodejs-crud.nodejsk8s.dev.nubes.ru` — взято из `apps/terraform.tfstate`), раздел «Если `apply` упал», в «Файлы» — `terraform.tfvars.example`. Заглушка `<суффикс>` заменена на фактический суффикс `nodejsk8s`; раздел «Запуск» стал «четыре шага». То же продублировано на странице сайта | Все факты сверены чтением файлов: `pg/outputs.tf`, `pg/main.tf`, `pg/postgres.tf`, `pg/postgres_user_db.tf`, `apps/locals.tf`, `apps/lucee.tf`, `apps/flask.tf`, `apps/nodejs.tf`. @@ -109,7 +110,6 @@ > эта ручная заливка — временная, для демонстрации коллегам». Сделано **минимально** — одна страница, без полной пересборки сайта: - 1. Сборка test-стенда без публикации: `S3CFG_REGISTRY=/nonexistent-s3cfg-disable-publish ./TOOLS/scripts/04_build_and_publish_docs.sh --profile TOOLS/config/test`. Сборка проходит (mkdocs 1.6.1 системный, 9 с), затем скрипт сам падает на @@ -127,6 +127,9 @@ — HTTP 200, 163 789 байт, `cmp` с локальной сборкой — **совпадает байт в байт**; на странице `version` = 3.0.0, вхождений `5.0.5` — ноль. +💡 Страница перезаливалась дважды: сразу после первой публикации и повторно после правок +README (коммит `272d405`) — на живой странице 167 269 байт, `cmp` с локальной сборкой совпал. + ⚠️ Ограничение: остальные страницы стенда не тронуты, их меню старое — **ссылки на новую страницу в меню нет**, она доступна только по прямому адресу. Чтобы она появилась в разделе «Проверенные примеры» в меню, нужна полная пересборка и публикация стенда — это @@ -148,6 +151,13 @@ Владелец поправил: в `*_domain` задаётся **имя**, а не домен — полный домен строит платформа (`flask-crud` → `flask-crud.pythonk8s.dev.nubes.ru`), и вот эти полные имена уникальны. Исправлено в README стенда и на странице сайта. +- При правке таблицы «Файлы» сам сломал формат: заменил строку вместе с переводом строки, + из-за чего строки `pg/main.tf` и `pg/postgres.tf` склеились в одну (`… базы || … кластер`). + Обнаружено сразу при проверке той же правки, восстановлено. Вывод: перед заменой строк + таблицы проверять результат целиком, а не только «замена применилась». +- В README изначально не было **входа в пример** (как получить файлы — клонирование) и + **выхода** (куда зайти после `apply`). Владелец: «где про клонирование???». Ошибка того же + рода, что ниже: документировал устройство, а не путь пользователя от нуля до результата. - Дважды пропустил главное для читателя-новичка: **какие параметры он задаёт своими значениями** и **что имена/домены обязаны быть уникальными**. Пришлось напоминать владельцу. Причина одна: писал про технику (`apply`, выходы, `creds.json`), а не про то, что нужно человеку в начале.