Files
DevOpsLab/roles
Sergey Antropoff 2d8d770b3f fix: Исправлена команда создания роли
- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{  }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки

Проблемы в старой команде:
- Неправильное экранирование переменных ROLE_NAME
- Пустые переменные в шаблонах
- Неправильные имена переменных в defaults
- Проблемы с заменой плейсхолдеров

Исправления:
- Правильное экранирование переменных
- Корректные переменные в шаблонах
- Правильные имена переменных
- Рабочая замена плейсхолдеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 16:35:42 +03:00
..

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

Документация

Автор

Сергей Антропов
Сайт: https://devops.org.ru