diff --git a/roles/.gitkeep b/roles/.gitkeep new file mode 100644 index 0000000..323c110 --- /dev/null +++ b/roles/.gitkeep @@ -0,0 +1,21 @@ +# Эта папка содержит Ansible роли +# Автор: Сергей Антропов +# Сайт: https://devops.org.ru +# +# Для создания новой роли используйте: +# make role create NAME=my-role +# +# Структура роли: +# roles/my-role/ +# ├── tasks/ +# │ ├── main.yml +# │ ├── debian.yml +# │ └── redhat.yml +# ├── handlers/main.yml +# ├── templates/ +# ├── files/ +# ├── vars/main.yml +# ├── defaults/main.yml +# ├── meta/main.yml +# ├── tests/ +# └── playbooks/ diff --git a/roles/README.md b/roles/README.md new file mode 100644 index 0000000..4c9921c --- /dev/null +++ b/roles/README.md @@ -0,0 +1,89 @@ +# Ansible Roles + +Эта папка содержит Ansible роли для универсальной лаборатории. + +## Создание новой роли + +```bash +# Интерактивное создание роли +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 + +## Команды управления + +```bash +# Создать роль +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 +``` + +## Документация + +- **[Полное руководство](../docs/roles.md)** - подробная документация по работе с ролями +- **[Примеры использования](../docs/examples.md)** - практические примеры +- **[API Reference](../docs/api.md)** - справочник по API + +## Автор + +Сергей Антропов +Сайт: https://devops.org.ru