- Роли теперь создаются универсальными для RHEL и Debian семейств
- Автоматическое создание OS-специфичных задач (debian.yml, redhat.yml)
- Универсальные playbooks с поддержкой разных ОС
- Обновлена документация с примерами и лучшими практиками
Новые возможности:
- Автоматическое определение ОС через ansible_os_family
- OS-специфичные задачи в отдельных файлах
- Универсальные playbooks с pre_tasks и post_tasks
- Поддержка apt для Debian/Ubuntu и yum для RHEL/CentOS
Структура универсальной роли:
- tasks/main.yml - общая логика и включение OS-специфичных задач
- tasks/debian.yml - задачи для Debian/Ubuntu (apt, systemd)
- tasks/redhat.yml - задачи для RHEL/CentOS (yum, systemd)
- playbooks/ - универсальные playbooks с поддержкой разных ОС
Универсальные playbooks:
- gather_facts: true - сбор информации об ОС
- pre_tasks - отображение информации об ОС
- post_tasks - проверка успешного развертывания
- Переменные роли автоматически добавляются
Документация:
- Добавлен раздел 'Универсальные роли' в docs/roles.md
- Примеры задач для Debian и RHEL семейств
- Лучшие практики для универсальных ролей
- Рекомендации по тестированию на разных ОС
Преимущества:
- Автоматическое создание универсальных ролей
- Поддержка RHEL и Debian семейств из коробки
- Лучшие практики встроены в шаблоны
- Подробная документация с примерами
- Приучение к написанию универсальных ролей
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Улучшена команда make role create с интерактивным вводом
- Добавлена команда make role playbook для управления playbooks
- Создана папка playbooks/ в структуре роли
- Обновлена документация по работе с ролями
Новые возможности:
- Интерактивное создание роли с настройкой параметров
- Управление playbooks роли (create|list|edit|run)
- Автоматическое создание структуры с папкой playbooks
- Улучшенные метаданные роли с платформами и тегами
Интерактивные параметры при создании роли:
- Описание роли
- Основной пакет
- Сервис
- Платформы (ubuntu,centos,rhel)
- Теги для Ansible Galaxy
Команды playbooks:
- make role playbook NAME=my-role create - создать playbook
- make role playbook NAME=my-role list - список playbooks
- make role playbook NAME=my-role edit - редактировать playbook
- make role playbook NAME=my-role run - запустить playbook
Документация:
- Создан docs/roles.md с полным руководством
- Обновлен README.md с новыми командами
- Добавлены примеры использования
Преимущества:
- Полная интерактивность при создании ролей
- Удобное управление playbooks роли
- Автоматическая генерация структуры
- Подробная документация
- Интеграция с лабораторией
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создана папка vault/ для хранения всех секретов
- Перенесен vault-password.txt в vault/.vault
- Обновлены все команды vault для работы с новой структурой:
- make vault show/create/edit/delete/rekey/decrypt/encrypt
- Все команды теперь работают с vault/secrets.yml
- Пароль хранится в vault/.vault
Обновления в docker-compose.yaml:
- Добавлено монтирование папки vault в контейнер
- Обновлена переменная ANSIBLE_VAULT_PASSWORD_FILE на /ansible/vault/.vault
- Добавлено монтирование .ansible-lint для корректной работы lint
Обновления в Makefile:
- VAULT_PASSWORD_FILE теперь указывает на vault/.vault
- Все vault команды обновлены для работы с vault/secrets.yml
- Команда clean теперь удаляет папку vault/
Обновления в .ansible-lint:
- Добавлены exclude_paths для исключения проблемных файлов
- Исключены molecule/universal/ и files/playbooks/ из проверки
- Это решает проблемы с Docker модулями в lint
Проверка работы vault:
- Создан тестовый файл vault/secrets.yml с секретами
- Проверена корректность шифрования/расшифровки
- Создан тестовый playbook для проверки работы с vault
- Все команды vault работают корректно
Обновления в документации:
- README.md: добавлена информация о папке vault/
- docs/api.md: обновлены настройки ansible-lint с exclude_paths
Преимущества:
- Централизованное хранение всех секретов в папке vault/
- Безопасное хранение паролей в скрытом файле .vault
- Корректная работа lint без ошибок с Docker модулями
- Автоматическое использование vault паролей во всех операциях
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена команда make lint для проверки всего проекта
- Обновлена команда make role lint для использования .ansible-lint
- Добавлен файл .ansible-lint с настройками для пропуска ошибок:
- fqcn: позволяет использовать короткие имена модулей
- yaml[new-line-at-end-of-file]: не требует новой строки в конце YAML
- yaml[truthy]: позволяет использовать yes/no вместо true/false
- yaml[line-length]: не ограничивает длину строк в YAML
- var-naming[no-role-prefix]: не требует префиксов для переменных
- ignore-errors: позволяет использовать ignore_errors: yes
Обновления в Makefile:
- make lint: проверяет весь проект (molecule, playbooks, roles)
- make role lint: использует --config-file /ansible/.ansible-lint
- Добавлена команда lint в справку make help
Обновления в документации:
- README.md: добавлена команда make lint
- docs/api.md: добавлены разделы Ansible-lint команды и настройки
Преимущества:
- Единообразная проверка всего проекта
- Гибкие настройки для пропуска нежелательных ошибок
- Автоматическое использование конфигурационного файла
- Подробная документация по настройкам
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Удалена папка molecule/default (больше не используется)
- Все скрипты в папке scripts теперь запускаются через Docker контейнер
- Обновлены пути в скриптах для работы внутри контейнера:
- snapshot.sh: OUT_DIR=/ansible/snapshots
- restore.sh: IN_DIR=/ansible/snapshots
- cleanup.sh: остался без изменений (уже корректный)
Обновления в docker-compose.yaml:
- Добавлены монтирования для scripts, reports, snapshots
- Скрипты теперь доступны внутри контейнера по пути /ansible/scripts/
- Отчеты сохраняются в /ansible/reports/
- Снапшоты сохраняются в /ansible/snapshots/
Обновления в Makefile:
- make snapshot теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/snapshot.sh'
- make restore теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/restore.sh'
- make cleanup теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/cleanup.sh'
Преимущества:
- Не требует установки дополнительных инструментов локально
- Все операции выполняются в изолированной среде
- Единообразный подход к запуску всех скриптов
- Автоматическое создание необходимых директорий
Обновлена документация:
- README.md: добавлено упоминание о запуске через Docker
- docs/api.md: обновлены примеры скриптов с путями для Docker
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создан новый README.md с полной документацией проекта
- Перемещены все MD файлы в папку /docs
- Создана структура документации:
- docs/universal-lab.md - руководство по лаборатории
- docs/presets.md - описание всех 21 пресета
- docs/roles.md - структура и создание Ansible ролей
- docs/examples.md - практические примеры использования
- docs/troubleshooting.md - решение проблем
- docs/api.md - справочник по API
Основные возможности документации:
- Полное описание всех возможностей лаборатории
- 21 готовый пресет для различных сценариев
- Подробные инструкции по использованию
- Примеры создания собственных пресетов
- Руководство по созданию Ansible ролей
- Troubleshooting для решения проблем
- API Reference для всех команд и параметров
Структура проекта:
- README.md - основная документация с ссылками
- docs/ - централизованное хранение документации
- molecule/presets/ - 21 готовый пресет
- files/ - файлы для ролей и playbooks
- scripts/ - скрипты для управления лабораторией
Автор: Сергей Антропов
Сайт: https://devops.org.ru