feat: Упрощена система ролей и добавлена автоматизация

- Создана простая демо роль для тестирования
- Упрощена роль deploy (убраны сложные компоненты)
- Добавлен скрипт auto-add-role.sh для автоматического добавления ролей
- Обновлен Makefile для автоматического добавления новых ролей

Изменения в роли deploy:
- Убраны сложные компоненты (ETCD, Patroni, HAProxy)
- Добавлена демо роль для тестирования
- Упрощены переменные и задачи

Новая демо роль:
- roles/demo/ - простая роль для тестирования
- Устанавливает базовые инструменты (htop, tree, git)
- Создает демо файлы с информацией о хосте
- Легко удаляется без поломки системы

Автоматизация:
- scripts/auto-add-role.sh - автоматическое добавление ролей
- Обновление deploy/tasks/main.yml
- Обновление deploy/defaults/main.yml
- Обновление site.yml
- Автоматическое выполнение при make role create

Преимущества:
- Простота тестирования с демо ролью
- Автоматическое добавление новых ролей
- Универсальность системы
- Легкое удаление без поломки
- Модульная архитектура

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 14:25:27 +03:00
parent 51c76fb859
commit e6287769d6
10 changed files with 209 additions and 30 deletions

59
roles/demo/README.md Normal file
View File

@@ -0,0 +1,59 @@
# Демо роль
Простая демо роль для тестирования возможностей лаборатории.
## Описание
Роль `demo` предназначена для демонстрации и тестирования возможностей универсальной лаборатории. Она устанавливает базовые инструменты и создает демо файлы.
## Переменные
| Переменная | По умолчанию | Описание |
|------------|--------------|----------|
| `demo_enabled` | `true` | Включить демо роль |
| `demo_packages` | `['htop', 'tree', 'git']` | Список пакетов для установки |
| `demo_directory` | `/opt/demo` | Директория для демо файлов |
| `demo_file` | `info.txt` | Имя демо файла |
## Использование
### Базовое использование
```yaml
- hosts: all
roles:
- role: demo
```
### С настройками
```yaml
- hosts: all
roles:
- role: demo
vars:
demo_packages:
- htop
- tree
- git
- vim
demo_directory: /opt/my-demo
```
## Что делает роль
1. Устанавливает демо пакеты (htop, tree, git)
2. Создает демо директорию `/opt/demo`
3. Создает демо файл с информацией о хосте
4. Выводит информацию о развертывании
## Требования
- Ansible >= 2.9
- Python >= 3.6
- Доступ к репозиториям пакетов
## Автор
Сергей Антропов
Сайт: https://devops.org.ru