- Создана папка roles/ с правильной структурой - Добавлен .gitkeep для сохранения папки в git - Создан README.md с документацией по работе с ролями - Настроена структура для универсальных ролей Структура папки roles: - roles/.gitkeep - для сохранения папки в git - roles/README.md - документация по работе с ролями Документация в README.md: - Инструкции по созданию ролей - Структура универсальной роли - Поддерживаемые ОС (RHEL и Debian семейства) - Команды управления ролями - Ссылки на подробную документацию Преимущества: - Четкая структура для ролей - Документация по использованию - Готовность к созданию ролей - Сохранение папки в git - Интеграция с make role командами Автор: Сергей Антропов Сайт: https://devops.org.ru
Ansible Roles
Эта папка содержит Ansible роли для универсальной лаборатории.
Создание новой роли
# Интерактивное создание роли
make role create NAME=my-role
# Список ролей
make role list
# Управление playbooks роли
make role playbook NAME=my-role
Структура роли
roles/my-role/
├── tasks/
│   ├── main.yml          # Основные задачи (универсальные)
│   ├── debian.yml        # Задачи для Debian/Ubuntu
│   └── redhat.yml        # Задачи для RHEL/CentOS
├── handlers/
│   └── main.yml          # Обработчики
├── templates/             # Шаблоны Jinja2
├── files/                 # Статические файлы
├── vars/
│   └── main.yml          # Переменные роли
├── defaults/
│   └── main.yml          # Переменные по умолчанию
├── meta/
│   └── main.yml          # Метаданные роли
├── tests/                 # Тесты роли
└── playbooks/            # Playbooks роли
    └── deploy.yml
    └── install.yml
Универсальные роли
Все роли создаются универсальными для RHEL и Debian семейств:
- tasks/main.yml- содержит общую логику и включает OS-специфичные задачи
- tasks/debian.yml- задачи для Debian/Ubuntu (apt, systemd)
- tasks/redhat.yml- задачи для RHEL/CentOS (yum, systemd)
Поддерживаемые ОС
- Debian семейство: Ubuntu, Debian, Linux Mint
- RHEL семейство: CentOS, RHEL, Rocky Linux, AlmaLinux
Команды управления
# Создать роль
make role create NAME=nginx
# Редактировать роль
make role edit NAME=nginx
# Тестировать роль
make role test NAME=nginx
# Проверить синтаксис
make role lint
# Развернуть роли
make role deploy
# Информация о роли
make role info NAME=nginx
# Управление playbooks
make role playbook NAME=nginx
Документация
- Полное руководство - подробная документация по работе с ролями
- Примеры использования - практические примеры
- API Reference - справочник по API
Автор
Сергей Антропов
Сайт: https://devops.org.ru