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

36
roles/demo/tasks/main.yml Normal file
View File

@@ -0,0 +1,36 @@
---
# Демо роль для тестирования возможностей лаборатории
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
- name: Demo role placeholder
debug:
msg: "Демо роль готова для тестирования"
- name: Install demo package
package:
name:
- htop
- tree
- git
state: present
- name: Create demo directory
file:
path: /opt/demo
state: directory
mode: '0755'
- name: Create demo file
copy:
content: |
# Демо файл
Создан: {{ ansible_date_time.iso8601 }}
Хост: {{ inventory_hostname }}
Группы: {{ group_names | join(', ') }}
dest: /opt/demo/info.txt
mode: '0644'
- name: Display demo info
debug:
msg: "Демо роль успешно развернута на {{ inventory_hostname }}"