# 05 — Эксплуатация и безопасность

Раздел базы знаний ITG

# 04 — Регламенты и инструкции

# Регламенты и инструкции ITG

## Изменения сервисов
1. Зафиксировать текущее состояние и цель изменения.
2. Сделать резервную копию затрагиваемых файлов и данных.
3. Применить минимальное изменение.
4. Проверить логи, HTTP-ответы и ключевые операции.
5. Зафиксировать результат и процедуру отката.

## Инциденты
- Определить затронутый сервис и симптомы.
- Проверить статус контейнера, логи, DNS, прокси и сетевую доступность.
- Восстановить работоспособность, затем документировать первопричину.

## Безопасность
- Не вставлять секреты в команды, которые попадают в историю оболочки или скриншоты.
- Использовать минимально необходимые права доступа.
- Не открывать внутренние API в интернет без проверки авторизации.

## Шаблон инструкции
**Цель:**

**Предусловия:**

**Команды:**

**Проверка результата:**

**Откат:**

**Дата последней проверки:**

# 14 — Резервное копирование и восстановление

# Резервное копирование ITG

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

## Что сохранять
- Compose-файлы и версионированные конфигурации без секретов в публичных репозиториях.
- Файлы переменных окружения — только в защищённой резервной копии.
- PostgreSQL и MariaDB — согласованные дампы или штатные средства резервирования.
- Постоянные Docker volumes с файлами приложения.
- Настройки прокси, DNS и перечень доменов.

## Регламент (предложение)
1. Инвентаризировать все постоянные данные.
2. Настроить ежедневные резервные копии БД и регулярные копии файлов.
3. Хранить отдельную копию вне основного сервера.
4. Проверять завершение заданий и размер архивов.
5. Ежемесячно выполнять тест восстановления в изолированной среде.
6. Фиксировать RPO/RTO каждого сервиса.

## Чек-лист восстановления
- Определить дату и причину инцидента.
- Выбрать проверенный архив.
- Развернуть совместимую версию приложения.
- Восстановить базу и файлы.
- Проверить вход, чтение и создание тестовых данных.
- Проверить интеграции и очистить тестовые записи.

**Статус:** регламент подготовлен; автоматическое резервное копирование и тест восстановления не подтверждены.

# 15 — Диагностика и инциденты

# Диагностика сервисов ITG

## Типовые симптомы
- **502/504:** проверить приложение, upstream и настройки прокси.
- **401/403:** проверить авторизацию и права; не отключать защиту для устранения ошибки.
- **404:** проверить маршрут и контекст приложения.
- **500:** проверить логи и доступность зависимостей.
- **Нет данных в мониторинге:** проверить источник данных, запрос и временной диапазон, прежде чем объявлять сервис недоступным.

## Последовательность
1. Зафиксировать URL, время и текст ошибки.
2. Проверить доступность сервиса из внутренней сети.
3. Проверить статус контейнеров и последние ошибки.
4. Проверить БД и очереди.
5. Проверить Nginx Proxy Manager и TLS.
6. Проверить Cloudflare и DNS.
7. После исправления проверить бизнес-операцию, а не только HTTP-код.

## Карточка инцидента
- Дата/время
- Сервис
- Симптом
- Масштаб влияния
- Первопричина
- Временное решение
- Постоянное исправление
- Проверка результата
- Действия для предотвращения повтора

Не записывать секреты, cookie и приватные данные в инцидентные отчёты.

# 20 — Контроль качества и актуализация

# Контроль качества и актуализация базы знаний ITG

## Назначение
Проверка доступности BookStack, структуры книги ITG и актуальности эксплуатационных инструкций. **Книга HomeLab (ID 2) исключена из любых операций записи.**

## Подтверждённая структура на 11.10.2026
- Книга ITG: ID 4; глав: 5; страниц: 21.
- Главы: 25 (4 страницы), 26 (4), 27 (3), 28 (5), 29 (4).
- Навигация ID 5 находится в корне.
- MCP: 9 инструментов, включая создание главы и перенос страницы.

## Автоматизированный контроль: фактическое состояние
Workflow n8n `ITG — BookStack health and quality gate` (ID `puOTAOvlbzAiH0ze`) активен, проверяет публичную страницу книги и навигацию, сохраняет результаты и отпечаток содержимого. Ожидаемая структура в коде: 21 страница и 5 глав. Последний автоматический запуск 11.10.2026, execution 136, завершился ошибкой на `Get ITG wiki`: `getaddrinfo EAI_AGAIN wiki.karpiev.ru`. До устранения DNS-сбоя ежедневная проверка не считается работающей. Ручные успешные запуски до него не заменяют подтверждение запуска по расписанию. Время триггера настроено на 09:00 в часовом поясе workflow; в данных запуска указан America/New_York, фактическое соответствие требуемому часовому поясу нужно проверить.

## Регламент проверок
1. **Ежедневно:** HTTP-проверка доступности страницы книги и ожидаемого содержимого.
2. **Еженедельно:** сверка списка страниц и глав с BookStack API, поиск пропавших и перемещённых страниц.
3. **После изменений:** проверка ссылок, соответствия инструкций текущим конфигурациям, наличия владельца и даты проверки.
4. **При расхождениях:** журнал инцидента и уведомление; изменения документации только после подтверждения фактов.
5. **Ежемесячно:** ревизия резервного копирования, восстановления и прав доступа.

## Критерии качества
- Не менее 21 страницы, 5 глав, страница ID 5 в корне (пока структура не изменена намеренно).
- Все страницы находятся в книге ID 4.
- Отсутствуют секреты в тексте страниц.
- Есть источник фактов, дата проверки и процедура отката для критичных сервисов.
- Не публиковать автоматически непроверенные данные из внешних источников.

## Защита от ложных обновлений
- Данные из MCP и API считать снимком на момент проверки.
- Если API недоступен, не заменять страницы пустыми данными.
- Изменения проводить по принципу diff → проверка → запись → повторное чтение.
- Для массовой записи требуется журнал и резервная копия.

## Статус
Документ регламента создан. Фактическая готовность автоматизации определяется отдельно по выполнению и тестам workflow n8n.

## Источники и ограничения аудита 11.10.2026
- Состав книги, тексты и привязка страниц: чтение BookStack MCP, книга ID 4. Проверены 21 страница и 5 глав; пустых страниц в этом составе нет.
- Доступные чаты проекта и смежные чаты сверялись по доступной истории Codex; полный архив проекта через этот интерфейс не гарантирован.
- GitHub: найден приватный репозиторий [mars485/itgroup-modx-mcp](https://github.com/mars485/itgroup-modx-mcp). Текущая версия и развёртывание требуют отдельной сверки с рабочей системой.
- Google Drive: поиск возвращает в том числе журналы и резервные копии. Их содержимое и вложения BookStack не аудировались; считать их подтверждённой документацией нельзя.
- Изображений, вставленных через Markdown в 21 проверенной странице, нет. Отдельные файлы BookStack MCP не перечисляет, поэтому отсутствие вложений не подтверждено.
- Из текста страниц не выявлены очевидные токены или приватные ключи. Проверка прав доступа и OAuth allowlist по конфигурации сервера остаётся открытой.