Инфраструктура как код: вся конфигурация серверов в Git — воспроизводимо, проверяемо, автоматизировано.
«Если изменение не прошло через Git и Ansible — его не существует. IaC-подход превращает ручные операции в аудируемый процесс.»
Infrastructure as Code (IaC) — это подход, при котором конфигурация серверов, сетевых устройств и сервисов описывается в виде кода и хранится в системе контроля версий. Ansible — инструмент автоматизации без агентов: он подключается к серверам по SSH и применяет описанное состояние через идемпотентные playbook-файлы. Git хранит историю всех изменений, кто и когда применил конфигурацию, с возможностью откатиться к любой предыдущей версии.
В стеке IgNix Ansible+Git охватывает весь lifecycle инфраструктуры: provisioning серверов, установку и настройку ПО (Nginx, PostgreSQL, Zabbix, Wazuh и т.д.), управление пользователями и SSH-ключами, конфигурацию межсетевых экранов PF. Каждое изменение проходит через Pull Request с code review — даже на production-серверы. Это не просто автоматизация, это governance и compliance из коробки.
Ansible работает без дополнительных серверов и агентов: достаточно Python на управляемом хосте и SSH-доступа. Роли (roles) и коллекции (collections) позволяют переиспользовать логику между проектами. Интеграция с CI/CD (Gitea, GitLab, GitHub Actions) запускает применение конфигурации автоматически при merge в main-ветку. Версионирование в Git обеспечивает полный аудит изменений инфраструктуры, что критично для соответствия требованиям 152-ФЗ и ISO 27001.
Килл-фичи:
Agentless (без агентов) — Ansible подключается по SSH, не требует установки агентов на управляемые хосты
Идемпотентность — повторное применение playbook не ломает систему: задаётся желаемое состояние, а не последовательность команд
Git как единственный источник истины — вся конфигурация в репозитории, полный аудит изменений, кто и когда
Roles + Collections — библиотека готовых ролей для FreeBSD, Nginx, PostgreSQL, Zabbix, Wazuh из Ansible Galaxy
CI/CD-интеграция — автоматическое применение при merge, проверка синтаксиса (ansible-lint) в pipeline
Vault (шифрование секретов) — пароли и ключи хранятся в Git в зашифрованном виде, безопасно и версионируемо
Аудит и compliance — каждое изменение привязано к коммиту и автору, соответствие 152-ФЗ, ГОСТ, ISO 27001
Что заменяет: Puppet, Chef, SaltStack, ручная настройка серверов, скрипты bash без версионирования
Версия: Ansible Core 2.18.x / Git 2.49.x
Роль в стеке: Слой 1 — Платформа / Автоматизация и управление конфигурацией