[tradein][devops] Persistent volume-mount для yandex_cookies.json — переживёт git-reset deploy (#940 follow-up) #941

Closed
opened 2026-05-31 22:39:27 +00:00 by bot-reviewer · 1 comment
Collaborator

Follow-up из PR #940 (merged) — yandex SOCKS5 curl-transport.

Проблема

Yandex full-load теперь читает cookies из /app/yandex_cookies.json (31 cookie, залиты вручную через docker cp в ходе диагностики). docker cp переживает docker compose recreate, но НЕ переживает деплой с git reset → следующий deploy-tradein.yml сотрёт cookie-файл → _curl_subprocess_get пойдёт без -b → Yandex отдаст captcha/shell → yandex full-load снова молча вернёт 0 листингов (та же симптоматика что #940 чинил).

Задача

Сделать cookie-файл persistent через docker volume-mount (или secret), чтобы деплой его не затирал:

  1. В docker-compose*.yml (tradein) — bind-mount/named-volume для /app/yandex_cookies.json (например, из ops/secrets/ на хосте, вне git-checkout, как .env.runtime).
  2. Убедиться что deploy-tradein.yml (git reset --hard) НЕ трогает mount-точку (по аналогии с .env.runtime safety, см. .claude/rules/deploy.md).
  3. Задокументировать процедуру обновления cookies (когда протухнут — Yandex auth cookies живут ограниченно).

DoD

Деплой deploy-tradein.yml НЕ стирает yandex cookies; yandex full-load после деплоя сохраняет листинги (не 0). Проверить smoke'ом после следующего деплоя.

Связанное

  • YANDEX_PROXY_URL=socks5h://… уже в .env.runtime (persistent).
  • Аналог: avito/cian cookie persistence (если применимо).

Refs #940, #931, #937.

Follow-up из PR #940 (merged) — yandex SOCKS5 curl-transport. ## Проблема Yandex full-load теперь читает cookies из `/app/yandex_cookies.json` (31 cookie, залиты вручную через `docker cp` в ходе диагностики). `docker cp` переживает `docker compose recreate`, но **НЕ переживает деплой с `git reset`** → следующий `deploy-tradein.yml` сотрёт cookie-файл → `_curl_subprocess_get` пойдёт без `-b` → Yandex отдаст captcha/shell → **yandex full-load снова молча вернёт 0 листингов** (та же симптоматика что #940 чинил). ## Задача Сделать cookie-файл persistent через docker volume-mount (или secret), чтобы деплой его не затирал: 1. В `docker-compose*.yml` (tradein) — bind-mount/named-volume для `/app/yandex_cookies.json` (например, из `ops/secrets/` на хосте, вне git-checkout, как `.env.runtime`). 2. Убедиться что `deploy-tradein.yml` (`git reset --hard`) НЕ трогает mount-точку (по аналогии с `.env.runtime` safety, см. `.claude/rules/deploy.md`). 3. Задокументировать процедуру обновления cookies (когда протухнут — Yandex auth cookies живут ограниченно). ## DoD Деплой `deploy-tradein.yml` НЕ стирает yandex cookies; yandex full-load после деплоя сохраняет листинги (не 0). Проверить smoke'ом после следующего деплоя. ## Связанное - `YANDEX_PROXY_URL=socks5h://…` уже в `.env.runtime` (persistent). - Аналог: avito/cian cookie persistence (если применимо). Refs #940, #931, #937.
bot-reviewer added the
priority/p1
scope/backend
scope/devops
status/ready
tradein
labels 2026-05-31 22:39:31 +00:00
Collaborator

Закрыто как неактуальное — путь, который защищал volume-mount, больше не существует. curl-subprocess Yandex-транспорт (_curl_subprocess_get, читавший /app/yandex_cookies.json) заменён: #1665 (f8779c0) перевёл Yandex SERP на JSON gate-API, a8d7be6 — через camoufox BrowserFetcher (tradein-browser). Файла-куки в пайплайне нет → volume-mount не нужен.

✅ Закрыто как неактуальное — путь, который защищал volume-mount, больше не существует. curl-subprocess Yandex-транспорт (`_curl_subprocess_get`, читавший `/app/yandex_cookies.json`) заменён: #1665 (f8779c0) перевёл Yandex SERP на JSON gate-API, a8d7be6 — через camoufox BrowserFetcher (tradein-browser). Файла-куки в пайплайне нет → volume-mount не нужен.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#941
No description provided.