- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{ }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки
Проблемы в старой команде:
- Неправильное экранирование переменных ROLE_NAME
- Пустые переменные в шаблонах
- Неправильные имена переменных в defaults
- Проблемы с заменой плейсхолдеров
Исправления:
- Правильное экранирование переменных
- Корректные переменные в шаблонах
- Правильные имена переменных
- Рабочая замена плейсхолдеров
Автор: Сергей Антропов
Сайт: 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