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:
21
roles/.gitkeep
Normal file
21
roles/.gitkeep
Normal file
@@ -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/
|
||||||
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