Straps: универсальная библиотека Bash-утилит для автоматизации
Straps — это мощный набор из более чем 80 специализированных Bash-утилит, разработанных для упрощения написания тестов и валидации сценариев в DevOps, облачной инфраструктуре, Docker, Kubernetes и системном администрировании. Ключевое преимущество проекта заключается в строгой модульности: все функции логически сгруппированы, что позволяет быстро находить необходимые инструменты для решения конкретных задач.
Основные возможности
- Базовые проверки: валидация типов данных (целые числа, числа с плавающей запятой, строки), манипуляции со строками (префиксы, суффиксы, поиск подстрок), а также проверка существования файлов, директорий и их прав доступа.
- Работа с сетью: тестирование сетевой связности по протоколам TCP и UDP (требуется
nc). - Облачная инфраструктура и контейнеризация: инструменты для работы с Docker (статус контейнеров, образы, порты, тома, сети) и Kubernetes (проверка ресурсов, меток, аннотаций и пространств имен).
- Безопасность: валидация SSL/TLS-сертификатов, проверка SSH-ключей, контроль контекстов SELinux и анализ сетевых параметров (IPv6, CIDR, MAC-адреса, определение типов IP-адресов).
- Мониторинг ресурсов: отслеживание загрузки CPU, использования RAM, свободного места на дисках и системных лимитов.
- API и веб-сервисы: валидация URL-адресов, проверка HTTP-статусов и тестирование вебхуков.
- Управление системой: мониторинг процессов, работа с пользователями/группами и взаимодействие с
systemd.
Примеры использования функций
Набор включает интуитивно понятные команды, такие как:
is_numeric
string_starts_with
can_connect_to
is_docker_running
container_is_running
Если вы ищете дополнительные инструменты для автоматизации, рекомендуем ознакомиться с bash_help для расширения вашего арсенала сценариев.