feat: Создана папка roles/ для Ansible ролей

- Создана папка roles/ с правильной структурой
- Добавлен .gitkeep для сохранения папки в git
- Создан README.md с документацией по работе с ролями
- Настроена структура для универсальных ролей

Структура папки roles:
- roles/.gitkeep - для сохранения папки в git
- roles/README.md - документация по работе с ролями

Документация в README.md:
- Инструкции по созданию ролей
- Структура универсальной роли
- Поддерживаемые ОС (RHEL и Debian семейства)
- Команды управления ролями
- Ссылки на подробную документацию

Преимущества:
- Четкая структура для ролей
- Документация по использованию
- Готовность к созданию ролей
- Сохранение папки в git
- Интеграция с make role командами

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 15:03:04 +03:00
parent 2ee52d22ef
commit a88c85d164
2 changed files with 110 additions and 0 deletions

89
roles/README.md Normal file
View File

@@ -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