[2026-09-29] eagle: снос Balda-стека на Kraken + правило не писать на SD

- Balda-стек на Kraken снесён: balda-mm + balda-executor-mcp + obsidian-mcp + все образы balda-mm:* (23 тега, ~2.55 ГБ)
- Mattermost server + mm-postgres НЕ тронуты (Up, healthy)
- Часть B PR #8 проверена: 3 блокера уже исправлены в upstream/main
- kraken-host-resource-limits: новый раздел — на SD не писать; /home/kraken на SD, Docker Root Dir на HDD
- актуализированы: callee-prism-plan (отмена «оставить запасной»), phase4-agents, kraken-deploy, delegation-plan
This commit is contained in:
Alexey Martemyanov committed 2026-09-29 14:35:02 +06:00
1 parent 8f4bb3f3ae
commit 5907221b3e
6 files changed
+120 -19

No files matched your search

+36 -14
View File
@@ -156,28 +156,50 @@ mmcblk0 14.6G 0 disk # SD/eMMC
- Монтирование: `rw,relatime,quota,usrquota,grpquota`.
- Занято 1.1 ТБ, свободно **689 ГБ (61%)**.
### 🔴 На SD (`mmcblk0p2` = `/`, `/home/kraken`) НИЧЕГО не писать
### 🔴 На SD (`mmcblk0p2`) НЕ ПИСАТЬ — но Docker уже на HDD
**Правило Alex (2026-09-29, дословно): «не трогай блядь sd карту».**
SD/eMMC — расходник с ограниченным ресурсом перезаписи, и это корневая ФС: износ = смерть хоста.
Записи на `/` запрещены. Запрет распространяется на **всё, что создаёт агент**:
| ❌ НЕ сюда | ✅ Сюда |
#### Что ГДЕ (проверено `df` / `findmnt` / `docker info`, 2026-09-29)
| Путь | ФС | Диск |
|---|---|---|
| `/` | `/dev/mmcblk0p2` | 🔴 **SD** (14 ГБ, 4.6 занято, 8.6 свободно) |
| `/home` · `/home/kraken` | `/dev/mmcblk0p2` | 🔴 **SD** — **не отдельный mount!** |
| `/tmp` · `/var/log` · `/var/cache/apt` · `/var/spool` | `/dev/mmcblk0p2` | 🔴 SD (folder2ram-обёртки) |
| `/boot/firmware` | `/dev/mmcblk0p1` | 🔴 SD (vfat) |
| `/srv/dev-disk-by-uuid-6194539b-…/` | `/dev/sda1` | ✅ **HDD** (1.8 ТБ) |
| **Docker Root Dir** | `/srv/…/docker-data` | ✅ **HDD — уже переехал** |
| `/srv/dev-disk-by-uuid-49e8f586-…/` | `/dev/sda1` | ✅ **HDD** (медиа-раздел) |
📌 **Ловушка:** `/home/kraken` **выглядит как домашний каталог**, но он **на SD** — `findmnt /home/kraken`
возвращает пусто (не отдельный mount), `df -h /home/kraken` показывает `/dev/mmcblk0p2`.
Docker-данные при этом **уже на HDD** (`data-root` = `/srv/…/docker-data`) — образы, слои, тома
на диск не давят. **Путаница «докер на диске» ≠ «/home на диске».**
#### Запрет
| ❌ НЕ писать | ✅ Писать |
|---|---|
| `/home/kraken/_backup-*` | `/srv/dev-disk-by-uuid-49e8f586-…/` (HDD) или Mac |
| `/tmp/*` под большие артефакты, образы, дампы | HDD или Mac |
| build-кэш Docker | **собирать образы только на Mac** (кэш buildkit льётся на SD, 10× медленнее) |
| дампы БД, логи, архивы | HDD |
| `/home/kraken/_backup-*` | `/srv/…` (HDD) или **на Mac** |
| `/tmp/*` под образы, дампы, архивы, `.tar` | HDD или Mac |
| build-кэш Docker (**собирать только на Mac**) | — |
| дампы БД, логи, архивы | HDD или Mac |
⚠️ **Согласованный питфолл:** compose-файлы проектов **уже** лежат в `/home/kraken/*`
(так исторически развёрнуты проекты) — с этим ничего не поделать, они мелкие и не перезаписываются.
**Но новые крупные записи туда не кладутся.** Прежняя практика бэкапов
`/home/kraken/_backup-compose-20260927/` — **устаревшая, не повторять**: она была
выбрана без учёта запрета.
🔴 **Перед любой записью на Kraken** — проверить целевой путь:
```bash
ssh kraken 'df -h <path>' # ожидаем /srv/... , НЕ /
ssh kraken 'findmnt <path>' # пусто = не отдельный mount = на корне (SD)
```
При сомнении — не писать, спросить.
🔴 **Требование к агенту:** перед любой записью на Kraken проверить целевой путь по `df -h <path>`
и убедиться, что это `/srv/...` (HDD), а не `/`. При сомнении — не писать, спросить.
⚠️ **Compose-файлы проектов исторически лежат в `/home/kraken/*`** (мелкие, не перезаписываются) —
это факт, с ним не боремся. Но **новые крупные записи** туда не кладутся.
Прежняя практика `/home/kraken/_backup-compose-20260927/` — **устаревшая, не повторять**.
📌 **Бэкапы с Kraken — тянуть на Mac** (`ssh kraken 'cat …' > /local/path` или `rsync`), не хранить на хосте.
## План: swap-файл на HDD