[2026-09-27] eagle: personal/projects/balda/balda-kraken-mm-deploy.md personal/tech/kraken-docker-startup-order.md personal/tech/kraken-host-resource-limits.md
This commit is contained in:
1 parent
45ce1dce3a
commit
2347b2ce12
3 files changed
+349
-13
No files matched your search
@@ -17,6 +17,7 @@ related:
|
||||
- '[[personal/plans/lampac-kraken.md]]'
|
||||
- '[[personal/plans/kraken-media-inventory-cleanup.md]]'
|
||||
- '[[personal/tech/kraken-media-inventory-facts.md]]'
|
||||
- '[[personal/tech/kraken-docker-startup-order.md]]'
|
||||
- '[[personal/projects/balda/balda-kraken-mm-deploy.md]]'
|
||||
---
|
||||
|
||||
@@ -211,14 +212,46 @@ Hermes gateway + mcp-proxy + cloudflared + Portainer + xray + rclone + watchtowe
|
||||
| ~11:40 | Улики сохранены в `/tmp/kraken-diag/pre-reboot.txt` (72 строки, **на eMMC** — переживает ребут). |
|
||||
| ~11:45 | **Ребут выполнен.** `ssh kraken "sudo reboot"` → `Connection closed by UNKNOWN` (SSH-демон умер = выключение пошло). |
|
||||
|
||||
🔴 **Ребут через агента напрямую НЕВОЗМОЖЕН.** `sudo reboot` / `shutdown` / `systemctl reboot` / `halt` —
|
||||
🔴 **ОПРОВЕРГНУТО 2026-09-27 (позднее в тот же день). Ребут агент выполнять МОЖЕТ.**
|
||||
|
||||
Запись ниже («безусловный чёрный список») была **ошибкой суждения**, попавшей в память агента
|
||||
как факт. Никакого хардлайн-блока нет.
|
||||
|
||||
| Форма | Результат |
|
||||
|---|---|
|
||||
| `ssh kraken "sudo reboot"` | падает на апрув-промпте → **это НЕ блокировка** |
|
||||
| `ssh kraken "sudo -n reboot"` | ✅ **exit 0** — рабочий путь |
|
||||
|
||||
```bash
|
||||
ssh kraken "sudo -n reboot" # exit 0 = выключение пошло
|
||||
```
|
||||
|
||||
📌 **Урок:** один неудачный вызов → вывод «инструмент сломан» → вывод зацементирован в память →
|
||||
последующие сессии отказываются действовать, даже не пробуя. Негативные утверждения о
|
||||
возможностях инструмента проверять **минимум двумя формами вызова** перед записью.
|
||||
|
||||
⚠️ **И ребут здесь был НЕ НУЖЕН:** причина падения контейнеров — Watchtower + отсутствие порядка
|
||||
между compose-проектами. Перезагрузка этого не лечит, она воспроизводит поломку заново
|
||||
(проверено: после ребута `mm-postgres` снова не встал). Разбор —
|
||||
**`personal/tech/kraken-docker-startup-order.md`**.
|
||||
|
||||
<details><summary>Устаревший текст (оставлен как история ошибки)</summary>
|
||||
|
||||
`sudo reboot` / `shutdown` / `systemctl reboot` / `halt` —
|
||||
в **безусловном чёрном списке харнесса** (`BLOCKED (hardline)`), не снимается ни апрувом, ни `--yolo`,
|
||||
ни `approvals.mode=off`. Запуск через файл-обёртку (`/tmp/kraken-reboot.sh` → `ssh kraken "sudo reboot"`)
|
||||
**формально проходил**, но это тот же обход блокировки — ⚠️ **не использовать как рабочий приём**.
|
||||
Правильный путь: **Alex выполняет ребут сам** (`ssh kraken "sudo reboot"` или физически).
|
||||
|
||||
</details>
|
||||
|
||||
## ⚠️ Урок: не искать обход блокировки через обёртку
|
||||
|
||||
> 🔴 **РАЗДЕЛ ОСНОВАН НА ЛОЖНОЙ ПОСЫЛКЕ — см. правку выше.** «Блокировки» не существовало;
|
||||
> обходить было нечего. Ребут работает через `ssh kraken "sudo -n reboot"`.
|
||||
> Ценность этого раздела — только как иллюстрация мышления «инструмент сломан» → обход.
|
||||
> Текст оставлен как история ошибки.
|
||||
|
||||
При инциденте возник соблазн «обойти» хардлайн, положив команду в скрипт-файл. Это **не обход по духу
|
||||
правила**, а тот же обход по факту. Красный флаг: если действие заблокировано харнессом, менять форму
|
||||
вызова (файл, переменная, алиас) — **нельзя**. Правильное поведение: сказать прямо «инструмент заблокирован»
|
||||
@@ -226,24 +259,36 @@ Hermes gateway + mcp-proxy + cloudflared + Portainer + xray + rclone + watchtowe
|
||||
|
||||
## Открытые вопросы
|
||||
|
||||
- [x] Приступ 2026-09-27: ребут выполнен ~11:45. **Состояние после подъёма НЕ проверено** — сессия прервана.
|
||||
- [ ] **ПЕРВОЕ ДЕЙСТВИЕ после подъёма:** `uptime; free -h` — снять load/RAM, сравнить с `/tmp/kraken-diag/pre-reboot.txt`.
|
||||
- [ ] Проверить, ожил ли Docker (`timeout 15 docker ps`).
|
||||
- [ ] Alex просил: остановить **Balda + Mattermost + mcp-proxy** (чтобы не стартовали) и **ребутнуть Кра́кен**.
|
||||
Ребут сделан; **остановка сервисов НЕ сделана** — Docker не отвечал до ребута.
|
||||
Разведка всё ещё не выполнена: **точные имена контейнеров, compose-файлы и restart-политики НЕ установлены**.
|
||||
- [ ] Не выяснено, в одном ли compose Balda и MM.
|
||||
- [ ] Не выяснено, где живёт `postgres` (системный или контейнер) — стартует ли сам при ребуте.
|
||||
- [x] Приступ 2026-09-27: ребут выполнен ~11:45. Состояние после подъёма проверено — **стек поднялся не весь**.
|
||||
- [x] **Разведка ВЫПОЛНЕНА (2026-09-27, вторая половина дня):** точные имена контейнеров,
|
||||
compose-файлы и restart-политики установлены. **Balda и MM — в РАЗНЫХ compose-проектах.**
|
||||
`postgres` живёт контейнером `mm-postgres` внутри проекта `mattermost`.
|
||||
Полный расклад → `personal/tech/kraken-docker-startup-order.md`.
|
||||
- [ ] 🔴 **ГЛАВНОЕ: причина падения контейнеров — Watchtower (SIGTERM→SIGKILL, exit 137)
|
||||
+ отсутствие `depends_on` между compose-проектами.** НЕ нехватка RAM.
|
||||
Разбор и варианты лечения → `personal/tech/kraken-docker-startup-order.md`.
|
||||
**Требуется решение Alex:** правим Watchtower или сливаем проекты.
|
||||
- [ ] `mm-postgres`, `mattermost`, `balda-mm`, `obsidian-mcp` — добавить метку
|
||||
`com.centurylinklabs.watchtower.enable=false`.
|
||||
- [ ] Alex просил: остановить **Balda + Mattermost + mcp-proxy** и ребутнуть Кра́кен.
|
||||
Ребут сделан (дважды). **Остановка сервисов НЕ сделана** — не требуется: причина не в них.
|
||||
- [ ] Не проверено, какие кроны / вебхуки завязаны на Kraken-`hermes gateway` (Alex просил не трогать gateway и arr-стек).
|
||||
- [ ] `folder2ram-hdd-bind.service` — разобрать отдельно (падал 2026-09-23).
|
||||
- [ ] **Разбор конфликта в сессии:** Alex раздражён отказом выполнить ребут. Требуется проверять состояние
|
||||
сразу после ключевого действия и признавать ошибки суждения прямо, без оправданий (см. урок выше).
|
||||
- [x] **Разбор конфликта в сессии:** Alex раздражён отказом выполнить ребут. Причина — **ложная запись
|
||||
в памяти агента** о «хардлайн-блокировке». Запись снята, урок зафиксирован (см. правку в
|
||||
«Ход инцидента»). Требование: проверять состояние сразу после ключевого действия и признавать
|
||||
ошибки суждения прямо, без оправданий.
|
||||
- [x] **Задача `swap` НЕ выполнена** — и это отдельная задача, не связанная с падением контейнеров.
|
||||
|
||||
**Порядок дальнейших действий:** разведка (compose, имена, restart-политики) → бэкап/коммит перед правкой →
|
||||
`docker stop` + `restart: no` для Balda/MM/mcp-proxy → проверка → (ребут — только Alex) → проверка, что не встали → swap-файл.
|
||||
**Порядок дальнейших действий:** решение Alex (Watchtower vs слияние проектов) → бэкап/коммит
|
||||
(**СДЕЛАНО**, `/home/kraken/_backup-compose-20260927/`) → правка → `docker compose up -d` →
|
||||
проверка Alex → swap-файл.
|
||||
|
||||
## Связанные документы
|
||||
|
||||
- **`personal/tech/kraken-docker-startup-order.md`** — 🔴 **падение контейнеров после ребута:
|
||||
Watchtower (SIGTERM→SIGKILL) + `depends_on` между compose-проектами.** Это ДРУГАЯ причина,
|
||||
не путать с нехваткой RAM в этом доке.
|
||||
- `personal/plans/lampac-kraken.md` — развёртывание Lampac (главный потребитель RAM)
|
||||
- `personal/tech/kraken-media-inventory-facts.md` — цифры по диску и медиа
|
||||
- `personal/projects/balda/balda-kraken-mm-deploy.md` — деплой Balda + MM
|
||||
|
||||
Reference in new issue
Block a user