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:
89
roles/README.md
Normal file
89
roles/README.md
Normal 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
|
||||
Reference in New Issue
Block a user