HomeLab остаётся площадкой для экспериментов, но обслуживается как небольшая production-система. Свобода пробовать новое не означает свободу ломать работающий контур.

Безопасный цикл изменения

Source of truth

Перед изменением нужно определить, какой файл или сервис действительно управляет результатом. Исправление сгенерированного HTML бессмысленно, если следующая публикация снова соберёт его из Markdown.

Диагностика до изменения

Минимальный снимок состояния:

  • Git HEAD и git status;
  • состояние нужного systemd-сервиса;
  • проверка конфигурации nginx;
  • текущая доступность зависимостей;
  • резервная копия затрагиваемых файлов.

Маленькие изменения

Один коммит должен отвечать на один понятный вопрос. Чем меньше поверхность изменения, тем проще проверка и откат.

Секреты не являются документацией

В публичные материалы не попадают IP-адреса внутренней сети, VMID, токены, пароли, приватные endpoints и точные правила доступа. Для объяснения архитектуры достаточно ролей и направления потоков.

Автоматизация обязана быть наблюдаемой

У cron-задачи должны быть:

  • отдельный журнал;
  • файловая блокировка от параллельного запуска;
  • защита от дублей;
  • атомарная запись результата;
  • понятный код завершения;
  • правило ротации логов.

AI предлагает, инженер отвечает

Ответ агента не является разрешением на команду. Сбор фактов, планирование и изменение разделены. Для диагностики используются ограниченные read-only интерфейсы, а рискованные действия проходят отдельную проверку.

Проверка после изменения

Изменение закончено только после проверки результата с точки зрения пользователя: страница открывается, сервис отвечает, индексы обновлены, а в журнале нет новой ошибки.

Главное правило

Не «если работает — не трогай», а если меняешь — понимай источник, риск, проверку и откат.