From 8bdd58e8ca841a11283ba47316c3ea00f5b2f0e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Wed, 29 Jul 2026 08:31:00 +0300 Subject: [PATCH] =?UTF-8?q?docs=20=D0=BF=D0=B8=D0=BB=D0=BE=D1=82:=20=D1=80?= =?UTF-8?q?=D0=B5=D0=BA=D0=BB=D0=B0=D0=BC=D0=B0=20=D0=B7=D0=B0=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=D0=B7=D1=8B=20=D0=B8=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=D0=B7=D0=BE=D0=B2=20=D0=B2=D1=8B=D0=BA?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B0=20=D0=B1=D0=BE?= =?UTF-8?q?=D0=B5=D0=B2=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 24 миграции на живой Managed-кластер, 57 политик сквозного доступа, права проверены живыми запросами. Рубильник Директа выключен явно, канал робота закрыт - проверено живьём, отвечает 401. Записан способ накатки лучше рунбучного: сбросить кэш конфига и дать artisan migrate работать от роли-владельца через env-override. И записана мина, из-за которой нельзя лить SQL из pretend: он схлопывает многострочные куски в одну строку, а комментарий внутри съедает всё до конца строки вместе с выдачей прав. Co-Authored-By: Claude Opus 5 --- ПИЛОТ.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/ПИЛОТ.md b/ПИЛОТ.md index 11c2d103..dbc8d39e 100644 --- a/ПИЛОТ.md +++ b/ПИЛОТ.md @@ -16,6 +16,48 @@ --- +## 🆕 ОБНОВЛЕНИЕ 29.07.2026 — «Реклама за показы» + окно передачи отказов модерации ВЫКАЧЕНЫ + +**Выкачен весь модуль целиком, первый раз.** `main` = `dcf97067` (gitea), выкат по рунбуку +`docs/superpowers/runbooks/2026-06-18-gitea-prod-deploy-pipeline.md`. Простой — только +на время overlay'я; портал и лендинг после подъёма отвечают **200**, журнал чист. + +- **Миграции: 24 штуки**, все `ad_*`, применены на ЖИВОЙ Managed-кластер `c9q2cvtjpq3hgq6l0r96`. + 🔑 **Способ лучше рунбучного:** вместо ручного переливания SQL — `artisan config:clear`, + затем `sudo -u www-data env DB_USERNAME=crm_migrator DB_PASSWORD=… php artisan migrate --force`, + затем `artisan optimize`. Env-override не работал только из-за КЭША конфига; сбросил кэш — + заработал. Laravel сам ведёт таблицу `migrations`, ручные INSERT'ы не нужны. + 🪤🪤 **Почему НЕ через `--pretend` → psql:** pretend схлопывает многострочные `DO $$…$$` + в ОДНУ строку, а внутри них комментарии `--`. В файле такой комментарий съедает всё + до конца строки — вместе с самими GRANT'ами и закрывающим `END $$;`. Половина прав + (в т.ч. **v9.17**) не доехала бы, либо файл упал бы на середине. +- **`db/03_service_bypass_policies.sql` перезапущен** → **57** политик `srv_bypass` + (было 44 на полигоне); `ad_creative_jobs`, `ad_campaign_messages`, `ad_campaign_banners` + покрыты. Проверено запросом, не на веру. +- **Права проверены живыми запросами:** v9.17 (`crm_admin_user` INSERT в `ad_campaign_messages` + + нумератор) — есть; колокольчик `in_app_notifications` — есть; очередь заданий робота + (`crm_app_user` INSERT / `crm_admin_user` UPDATE) — есть; `crm_supplier_worker` INSERT + в ленту — есть. +- **`.env` дополнен** (бэкап `/home/ubuntu/env-backup-20260729-predeploy.bak`): + `YANDEX_DIRECT_ENABLED=false` — теперь ЯВНО, а не по умолчанию; + `MONITORING_ALERT_EMAIL=info@liderra.ru` — решение владельца 29.07 (туда уходит письмо + о приложенном клиентом документе; подставляемый кодом `ops@liderra.ru` мог не существовать, + и письма пропадали бы молча). +- **Что НЕ включено намеренно:** рубильник выключен → три джоба (`SyncCampaignAudienceJob`, + `ChargeCampaignSpendJob`, `SyncCampaignModerationJob`) проверяют его первой строкой и + не делают ничего. `CREATIVE_ROBOT_TOKEN` не задан → канал робота **закрыт**, проверено + живьём: `/api/creative-robot/next` → **401**. +- 🔴 **Разведка на бою НЕ заработает, пока не решён вопрос «где живёт робот»:** ему нужен + браузер с живым входом в кабинет Яндекса, на сервере такого нет. Код и база готовы, + включение — отдельный маленький шаг. +- **Попутно закрыт NO-GO предполёта:** кэш конфига на проде был собран 26.07 14:36 при + `.env` от 27.07 05:01 — почти двое суток портал жил по устаревшим настройкам. Пересобран + `sudo -u www-data` (квирк 107), теперь `www-data:www-data`, 29.07 05:25. +- **Бэкапы до выката:** код `/tmp/app-backup-2026-07-29.tgz`, облачный бэкап кластера + 29.07 00:16 UTC (за 5 ч до выката). Откат — §8 рунбука. +- **Не связано с выкатом:** в `queue:failed` висит одно старое задание `CsvReconcileJob` + от 20.07 — было до нас, не трогали. + ## 🆕 ОБНОВЛЕНИЕ 23.07.2026 — хотфикс значка прогрева в воронке (на боевом) **Выкачен ОДИН backend-файл** `SalesProspectController.php` (коммит `8033debf`, gitea/main).