- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{ }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки
Проблемы в старой команде:
- Неправильное экранирование переменных ROLE_NAME
- Пустые переменные в шаблонах
- Неправильные имена переменных в defaults
- Проблемы с заменой плейсхолдеров
Исправления:
- Правильное экранирование переменных
- Корректные переменные в шаблонах
- Правильные имена переменных
- Рабочая замена плейсхолдеров
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создана папка roles/ с правильной структурой
- Добавлен .gitkeep для сохранения папки в git
- Создан README.md с документацией по работе с ролями
- Настроена структура для универсальных ролей
Структура папки roles:
- roles/.gitkeep - для сохранения папки в git
- roles/README.md - документация по работе с ролями
Документация в README.md:
- Инструкции по созданию ролей
- Структура универсальной роли
- Поддерживаемые ОС (RHEL и Debian семейства)
- Команды управления ролями
- Ссылки на подробную документацию
Преимущества:
- Четкая структура для ролей
- Документация по использованию
- Готовность к созданию ролей
- Сохранение папки в git
- Интеграция с make role командами
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Удалена директория roles/ со всеми ролями
- Упрощен site.yml (убраны ссылки на роли)
- Обновлен Makefile (убраны команды для ролей)
- Удален скрипт auto-add-role.sh
- Обновлен README.md (убрана информация о ролях)
Изменения:
- Удалена роль deploy
- Удалена роль demo
- Удален скрипт auto-add-role.sh
- Упрощен site.yml до базовых задач
- Убраны команды make role из Makefile
- Обновлена документация
Теперь проект использует только playbooks:
- files/playbooks/site.yml - основной playbook
- files/playbooks/chaos.yml - chaos engineering
- files/playbooks/health.yml - health dashboard
Преимущества:
- Упрощенная архитектура
- Меньше сложности
- Прямое использование playbooks
- Легче понимать и поддерживать
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создана простая демо роль для тестирования
- Упрощена роль 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
- Создана полноценная роль deploy в roles/deploy/
- Перенесена логика развертывания из site.yml в роль
- Обновлен site.yml для использования роли deploy
- Добавлена поддержка условного развертывания по группам
Структура роли deploy:
- tasks/main.yml - основные задачи
- tasks/etcd.yml - развертывание ETCD
- tasks/patroni.yml - развертывание Patroni
- tasks/haproxy.yml - развертывание HAProxy
- tasks/apps.yml - развертывание приложений
- tasks/dind-stack.yml - развертывание DinD стека
- templates/haproxy.cfg.j2 - конфигурация HAProxy
- templates/docker-compose.yml.j2 - конфигурация DinD стека
- handlers/main.yml - обработчики сервисов
- defaults/main.yml - переменные по умолчанию
- vars/main.yml - переменные роли
- meta/main.yml - метаданные роли
- README.md - документация роли
Обновления в site.yml:
- Упрощен до базовой установки common tools
- Добавлена роль deploy с условным развертыванием
- Поддержка развертывания по группам (etcd, patroni, haproxy, apps)
Новые команды:
- make role info NAME=deploy - информация о роли
- make role deploy - развертывание ролей с inventory
Преимущества:
- Модульная архитектура с разделением ответственности
- Условное развертывание по группам хостов
- Переиспользуемые компоненты (ETCD, Patroni, HAProxy)
- Шаблоны для конфигурации сервисов
- Обработчики для перезапуска сервисов
- Подробная документация роли
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создан новый README.md с полной документацией проекта
- Перемещены все MD файлы в папку /docs
- Создана структура документации:
- docs/universal-lab.md - руководство по лаборатории
- docs/presets.md - описание всех 21 пресета
- docs/roles.md - структура и создание Ansible ролей
- docs/examples.md - практические примеры использования
- docs/troubleshooting.md - решение проблем
- docs/api.md - справочник по API
Основные возможности документации:
- Полное описание всех возможностей лаборатории
- 21 готовый пресет для различных сценариев
- Подробные инструкции по использованию
- Примеры создания собственных пресетов
- Руководство по созданию Ansible ролей
- Troubleshooting для решения проблем
- API Reference для всех команд и параметров
Структура проекта:
- README.md - основная документация с ссылками
- docs/ - централизованное хранение документации
- molecule/presets/ - 21 готовый пресет
- files/ - файлы для ролей и playbooks
- scripts/ - скрипты для управления лабораторией
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создана структура molecule/universal/ с поддержкой DinD и DOoD
- Добавлена поддержка Kind кластеров для Kubernetes тестирования
- Интегрированы Helm charts (nginx, prometheus-stack)
- Добавлена поддержка Istio service mesh с Kiali
- Создан Makefile с lab-целями для управления лабораторией
- Добавлена поддержка Prometheus + Grafana с автопровижинингом
- Создан README с подробной документацией
Автор: Сергей Антропов
Сайт: https://devops.org.ru