[Начало](/ru/docs)[Установка](/ru/docs/installation)[Архитектура](/ru/docs/architecture)[Подключения](/ru/docs/integrations)[Первое ревью](/ru/docs/review)[Эксплуатация](/ru/docs/operations)[Приемка](/ru/docs/acceptance)

# Плейбуки эксплуатации.

Наблюдайте состояние. Сохраняйте данные. Сверяйте неизвестные исходы.

## После запуска

- Проверьте TLS и readiness каждой роли, соединение с ее PostgreSQL и статус миграций.

- Войдите через реальный SSO, откройте только разрешенный tenant и выполните отрицательный cross-tenant сценарий.

- Проверьте чтение разрешенного MR, модельный вызов и полезный MCP-ответ. HTTP200 сам по себе недостаточен.

- Снимите базовый замер RAM, очереди, задержек и диска. Задайте лимиты модели и алерты до широкого включения.

## Неизвестный исход публикации

Признак: timeout после обращения к GitLab, состояние started/unknown или пропавший ответ. Не нажимайте повторно publish/approve/CI. Сопоставьте сохраненное действие, SHA, discussions/approvals и pipeline в GitLab. Решение о повторе принимается после сверки, с сохранением журнала. Секреты и исходники в общий тикет не копируются.

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

Назначьте владельца резервных копий, RPO/RTO и срок хранения. Делайте согласованный backup отдельных PostgreSQL БД и защищенных конфигураций. Credentials хранятся отдельно с ограниченным доступом. Восстановите копию в изолированной цели и проверьте историю, tenant isolation, миграции и отказ от повторной публикации. Наличие файла backup не является проверенным restore.

## Проверьте публичные сертификаты

Оператор задает точные пути к публичным CA и server certificate. Эти шаблоны читают только сертификаты, не приватный ключ. Срок действия и цепочка не заменяют проверку hostname, назначения сертификата и живого TLS handshake. Не отключайте TLS-проверки при ошибке.

```sh
set -eu
: "${NULL_CA_FILE:?Set the explicit public CA certificate path}"
: "${NULL_SERVER_CERT:?Set the explicit public server certificate path}"
openssl x509 -in "$NULL_CA_FILE" -noout -dates -checkend 86400
openssl x509 -in "$NULL_SERVER_CERT" -noout -dates -checkend 86400
openssl verify -CAfile "$NULL_CA_FILE" "$NULL_SERVER_CERT"
```

## Перезапуск и обновление

Перед перезапуском сохраните состояние очереди и незавершенных действий. После него проверьте целостность истории, права и отсутствие дублей. Текущий create-only bootstrap не выполняет upgrade или rollback. План обновления должен содержать совместимые миграции, backup и проверку отдельной цели. Не применяйте down -v или ручное изменение migration stamp для обхода ошибки.

## Нагрузка и размер машин

Цель первого командного запуска: до100 репозиториев,500MR в день,5 одновременных ревью. Это входные требования, не результат нагрузочного теста. Начальная планировочная гипотеза ниже не является минимумом или гарантией производительности. GitLab, IdP, runner, backup и локальная модель считаются отдельно.

| Роль | CPU / RAM | Диск, гипотеза  |
| --- | --- | --- |

| Application | 4vCPU / 8GiB | 80GiB SSD  |

| Worker + Context | 8vCPU / 16GiB | 100GiB OS + данные по retention  |

| PostgreSQL | 4vCPU / 16GiB | 200GiB SSD  |

Перед решением о размере измерьте пять перекрывающихся реальных ревью, задержку очереди, лимиты провайдера, длительность CI, стоимость и рост данных. Тест с заглушками не заменяет эту волну.
