Автоматизация инфраструктуры
Пакетное выполнение SSH, матрицы пинга, проверки здоровья ваших серверов. Для инфраструктурных операций на нескольких серверах.
Обзор
Infrastructure Automation предоставляет переиспользуемые паттерны для SSH-операций на вашем серверном парке. Включает инвентарь серверов с публичными и Tailscale IP, шаблоны пакетного выполнения, тесты связности Tailscale-меша и скрипты проверки HTTP-здоровья сервисов PROD.
Инвентарь серверов
Шаблонная таблица ролей серверов (например, web, prod, db) с публичными IP, Tailscale IP и строками SSH-подключения. Заполняется из вашего приватного инвентаря и проверяется перед использованием; реальные адреса в поставляемый skill не записываются.
Пакетное выполнение SSH
Запуск команды на всех (или выбранных) серверах с нужными флагами: -o BatchMode=yes предотвращает зависание на интерактивных запросах, -o ConnectTimeout=5 предотвращает зависание на недоступных хостах. Ключи хостов добавляются в ~/.ssh/known_hosts один раз, отдельным шагом bootstrap, до любой пакетной автоматизации; доступность по mesh проверяется для каждого узла заранее, а недоступные узлы переходят на публичный IP или откладываются с записью в лог.
Матрица пинга (Tailscale)
Тест связности N-к-N между всеми устройствами Tailscale-меша. Каждый сервер пингует Tailscale IP остальных, формируя матрицу латентностей. Полезно при диагностике и проверке новых узлов.
Проверки здоровья
Проверка всех PROD-сервисов по портам: curl к эндпоинту /health каждого сервиса, отчёт HTTP-статуса или UNREACHABLE. Также шаблоны для статуса Docker-контейнеров, Tailscale-статуса, использования диска и валидации конфигов nginx.
Правила безопасности
- Никогда не запускайте деструктивные команды пакетно — по одному серверу с явным подтверждением
- Всегда используйте
BatchMode=yes - Сначала проверьте команду на одном сервере
- SSH-сессии должны быть короткими — запустить и выйти
- Логируйте все операции для аудита
- Метки сервисов (launchd/systemd) для runbook берите из живой проверки, а не по памяти или из заглушек