Compare commits

..

2 Commits

4 changed files with 69 additions and 4 deletions
+20
View File
@@ -0,0 +1,20 @@
# Infrastructure — инфраструктурный репозиторий
Репозиторий инфраструктуры (git + openspec): инциденты, watchdogs, настройки хостов.
## Документация (читать при старте сессии)
- **STATUS.md** — точка входа: текущее состояние, в работе, открытые вопросы. Читать первым.
- WALKTHROUGH.md — разборы инцидентов (davfs2, herdr и т.п.).
- TODO.md — задачи.
- PRD.md — описание.
## Расположение и доступ
- Проект: /opt/infrastructure (git, openspec-процесс)
- Спеки: openspec apply НЕТ — validate → archive (delta мержится в specs/)
## Правила
- При старте сессии из этой папки сначала прочитай STATUS.md, потом действуй.
- Изменения через openspec: ## ADDED Requirements + ### Requirement: X + #### Scenario → validate → archive.
+8 -2
View File
@@ -1,15 +1,19 @@
# Infrastructure — Статус
Обновлено: 2026-09-12 (сессия: davfs2-hang-fix)
Обновлено: 2026-09-12 (сессия: herdr-sidebar-setup)
## Текущее состояние
- Инфраструктура-репозиторий /opt/infrastructure (git, openspec) — живой.
- Инцидент с зависшим davfs2 (Яндекс.Диск WebDAV) разобран и устранён: точка /mnt/yandex-disk перемонтирована, данные целы, бэкапы снова пишутся.
- herdr: установлен плагин herdr-sidebar (v0.11.0) у пользователя estorozhenko + шрифт JetBrainsMono Nerd Font; опыт зафиксирован в WALKTHROUGH.
- Открыт вопрос: добавить watchdog для авто-перемонтирования зависшего davfs2.
## Сделано
- 2026-09-12: Диагностика и устранение зависшего монтирования /mnt/yandex-disk (davfs2).
- 2026-09-12: Зафиксирован опыт в WALKTHROUGH.md (разбор, команды, выводы).
- 2026-09-10: herdr — установлен плагин herdr-sidebar (VS Code-style сайдбар, файловый эксплорер + git), переустановлен под пользователем estorozhenko (кейс: конфиг herdr привязан к $HOME/.config/herdr).
- 2026-09-10: Установлен JetBrainsMono Nerd Font (96 TTF, ~/.local/share/fonts) — встроенная установка плагина падала из-за отсутствия unzip, поставлен вручную.
- 2026-09-10: Подготовлен текст поста про herdr и плагины (техноблог) — /tmp/herdr-post.md.
## В работе / Следующие шаги
- [ ] Watchdog: детектор «точка /mnt/yandex-disk молчит > N сек» + тихое перемонтирование (cron no_agent).
@@ -17,10 +21,12 @@
## Как запустить / проверить
- Проверить монтирование: `grep yandex /proc/mounts`, `ls /mnt/yandex-disk/`
- Демон: `ps aux | grep mount.davfs`
- herdr: `herdr plugin list` (должен показать herdr-sidebar enabled); шрифт: `fc-list | grep -i "JetBrainsMono Nerd"`
## Ключевые артефакты
- WALKTHROUGH.md — полный разбор инцидента с командами
- WALKTHROUGH.md — разбор инцидента davfs2 + кейс herdr-sidebar (установка, Nerd Font)
- README.md — описание проекта
- /tmp/herdr-post.md — пост про herdr и плагины (техноблог)
## Открытые вопросы
- Нужен ли watchdog (рекомендуется, пользователь ещё не подтвердил).
+1
View File
@@ -4,3 +4,4 @@
|---|---|---|---|
| 2026-09-12 | Инцидент: зависший davfs2 (/mnt/yandex-disk), бэкапы встали | ✅ закрыта | сессия davfs2-hang-fix (2026-09-11/12, CLI) |
| 2026-09-12 | Watchdog: авто-детект зависшего davfs2 + тихое перемонтирование | 🔵 открыта | |
| 2026-09-10 | herdr: установить плагин herdr-sidebar (VS Code-style сайдбар), разобраться с установкой | ✅ закрыта | сессия 2026-09-10 (CLI), WALKTHROUGH §2026-09-10 |
+38
View File
@@ -59,3 +59,41 @@ https://webdav.yandex.ru /mnt/yandex-disk davfs _netdev,auto,rw,uid=1000,file
- Статус: STATUS.md
- Задачи: TODO.md
- Пост для блога: (опыт был подготовлен как техноблог-пост в сессии)
---
## 2026-09-10 — herdr: установка плагина herdr-sidebar
### Задача
Поставить плагин alexarthurs/herdr-sidebar (VS Code-style сайдбар для herdr) и разобраться с особенностями установки.
### Ход работы
1. `herdr plugin install alexarthurs/herdr-sidebar` → ошибка `No such file or directory (os error 2)`.
- Причина: монорепо — плагин в поддиректории. Правильная команда:
```
herdr plugin install alexarthurs/herdr-sidebar/plugins/herdr-sidebar --yes
```
2. Установка прошла, но `herdr plugin list` под пользователем estorozhenko показал «No plugins installed».
- **Причина (важный кейс):** herdr хранит конфиг/плагины в `$HOME/.config/herdr/` — привязка к `$HOME`, а не к бинарю. Я ставил с `HOME=/opt/hermes/.hermes/home` (сессия агента), поэтому плагин ушёл в `/opt/hermes/.hermes/home/.config/herdr/`, а пользователь смотрит в `/home/estorozhenko/.config/herdr/`.
- Лечение: переустановка от имени пользователя:
```
sudo -u estorozhenko -H /home/estorozhenko/.local/bin/herdr plugin install alexarthurs/herdr-sidebar/plugins/herdr-sidebar --yes
```
- Проверка: `sudo -u estorozhenko -H /home/estorozhenko/.local/bin/herdr plugin list` → `herdr-sidebar (enabled)`.
3. Nerd Font: при первом запуске бинарь herdr-sidebar спрашивает про JetBrainsMono Nerd Font. Встроенная установка упала: в системе нет `unzip` (exit 127), а бинарь вызывает его.
- Лечение вручную (python3 вместо unzip):
```
curl -fsSL https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip -o /tmp/jbm.zip
python3 -c "import zipfile; zipfile.ZipFile('/tmp/jbm.zip').extractall('/home/estorozhenko/.local/share/fonts')"
sudo -u estorozhenko -H fc-cache -f /home/estorozhenko/.local/share/fonts
```
- Проверка: `sudo -u estorozhenko -H fc-list | grep -i "JetBrainsMono Nerd"` — найден (96 TTF, Nerd Font + Mono).
### Выводы / правила на будущее
1. Устанавливать herdr-плагины ТОЛЬКО от имени пользователя, который реально пользуется herdr (иначе «No plugins installed» из-за привязки к `$HOME/.config/herdr`).
2. Монорепо-плагины: путь указывается с поддиректорией `owner/repo/subdir`.
3. Встроенный установщик Nerd Font плагина требует `unzip` в системе; при его отсутствии ставить шрифт вручную через python3 zipfile + fc-cache от нужного пользователя.
4. Сам факт установки шрифта НЕ меняет профиль терминала — иконки в TUI появятся, но активный шрифт терминала (где сидит herdr) должен быть Nerd Font, иначе глифы будут квадратиками.
### Артефакты
- Пост для техблога про herdr и плагины подготовлен: /tmp/herdr-post.md