Об этом проекте
Onigirazu — это инструмент управления конфигурацией и автоматизации инфраструктуры, написанный на Go и вдохновлённый Ansible. Он работает с хостами по SSH без установки агентов и описывает желаемое состояние в YAML-плейбуках.
Основные возможности, описанные в README:
- YAML-плейбуки с plays, задачами, обработчиками, иерархическими переменными, условными конструкциями (when, until, changed_when, failed_when), циклами и шаблонизацией в стиле Jinja2 с фильтрами и управлением пробелами.
- Выполнение по SSH без агентов с проверкой ключей хостов, параллельным выполнением задач с настраиваемой конкурентностью, идемпотентными операциями и логикой повторных попыток с задержкой.
- Инвентарь в нескольких форматах (YAML, TOML, JSON, INI, текст), а также встроенное указание хостов через -i и многоуровневые переменные group_vars/host_vars, аналогично Ansible.
- Управление состоянием со снимками и откатом, обнаружение дрейфа и автоматическое исправление, аудит и аналитика истории выполнения, а также система кэширования для фактов, шаблонов и пакетов.
- Выполнение ad-hoc команд без плейбуков с поддержкой пяти форматов ввода, включая форму на естественном языке, с выводом в виде текста, JSON, YAML и таблиц.
- CLI с командами, такими как apply, run, plan, validate, lint, fmt, graph, audit, diff, drift, healthcheck, inventory, state, rollback и completion.
- Интерактивный режим терминального интерфейса (--interactive) с потоковой передачей журналов в реальном времени, переключением отображения NORMAL/VERBOSE/DEBUG, статистикой, управлением с клавиатуры и корректным завершением.
- Система модулей с 44 встроенными модулями, охватывающими файлы, пакеты, службы, пользователей и группы, команды, шаблоны, git, systemd, cron, межсетевой экран, контейнеры (Docker, Compose, Podman) и базы данных (MySQL, PostgreSQL, MongoDB), а также архитектура плагинов и инструмент создания шаблонов для генерации новых модулей с тестами и бенчмарками.
- Управление секретами через интеграцию с Bitwarden и необязательная политика безопасности в формате JSON для модулей, хостов, путей и команд.
Варианты установки включают готовые бинарные файлы для Linux, macOS, Windows и вариантов BSD, образы Docker, пакеты дистрибутивов (.deb, .rpm, .apk, Arch), сборку из исходного кода с помощью make и go install. В README также упоминается обширная документация по конфигурации, безопасности, тестированию, формату плейбуков, ad-hoc использованию и интерактивному режиму.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.