52 Commits

Author SHA1 Message Date
f12bbc626d feat: Добавлены функции удаления для роли, плейбука и пресета
- Добавлена команда 'make role delete NAME=role-name'
- Добавлена команда 'make preset delete NAME=preset-name'
- Добавлена команда 'role playbook delete' для удаления playbook
- Обновлены описания команд в help

Новые функции:
- role delete: удаление роли с проверкой существования
- preset delete: удаление пресета с проверкой существования
- playbook delete: удаление playbook из роли

Обновленные списки команд:
- role: list|create|edit|test|lint|deploy|delete|info|playbook
- preset: list|create|edit|test|copy|delete
- playbook: create|list|edit|run|delete

Протестировано:
- Удаление роли - работает корректно
- Удаление пресета - работает корректно
- Все команды проверены и обновлены

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 17:14:34 +03:00
2d8d770b3f fix: Исправлена команда создания роли
- Создан исправленный скрипт create_role_fixed.sh
- Исправлены проблемы с переменными в шаблонах ролей
- Убраны пустые переменные типа {{  }}
- Исправлены имена переменных с правильным экранированием
- Создана тестовая роль test-role для проверки

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

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

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 16:35:42 +03:00
4f9b3029cc fix: Исправлены команды и убраны цветовые коды из ошибок
- Добавлена команда kubeconfig в описание команды kube
- Убраны цветовые коды из всех сообщений об ошибках
- Исправлены списки доступных команд

Изменения:
- kube: добавлен kubeconfig в описание и список команд
- lab: убраны цветовые коды из ошибок
- kube: убраны цветовые коды из ошибок
- preset: убраны цветовые коды из ошибок
- role: убраны цветовые коды из ошибок
- vault: убраны цветовые коды из ошибок
- git: убраны цветовые коды из ошибок
- docker: убраны цветовые коды из ошибок

Проблема:
В whiptail диалогах отображались ANSI escape-коды
из сообщений об ошибках команд.

Решение:
Убраны все цветовые коды из сообщений об ошибках
для чистого отображения в whiptail диалогах.

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 16:12:56 +03:00
8dd066f752 fix: Убраны ANSI escape-коды из команд списков
- Убраны цветовые коды из команды 'preset list'
- Убраны цветовые коды из команды 'role list'
- Убраны цветовые коды из команды 'vault show'
- Убраны цветовые коды из команды 'lint'
- Исправлено регулярное выражение в 'role list'

Изменения:
- preset list: убраны $(CYAN), $(GREEN), $(RESET), emoji
- role list: убраны $(CYAN), $(YELLOW), $(RESET), emoji
- vault show: убраны $(BLUE), $(RESET), emoji
- lint: убраны $(YELLOW), $(GREEN), $(RESET), emoji
- Исправлен grep pattern в role list

Проблема:
При выводе списков через whiptail появлялись ANSI escape-коды
типа ^[[0;36m, которые некорректно отображались в диалогах.

Решение:
Убраны все цветовые коды из команд, которые используются
в whiptail диалогах для чистого отображения текста.

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:53:47 +03:00
102003bb32 feat: Убраны emoji из whiptail диалогов и обновлена документация
- Убраны все emoji из whiptail диалогов для лучшей совместимости
- Обновлен README.md с новыми возможностями
- Добавлен раздел с интерактивным интерфейсом
- Добавлен раздел с автоматической инициализацией
- Добавлен раздел с CI/CD командами
- Добавлен раздел с управлением ролями

Изменения в whiptail:
- Убраны emoji из заголовков диалогов
- Убраны emoji из опций меню
- Сохранена функциональность всех диалогов
- Улучшена совместимость с разными терминалами

Обновления документации:
- Добавлен раздел 'Новые возможности'
- Описание интерактивного интерфейса
- Описание автоматической инициализации
- Описание CI/CD команд
- Описание управления ролями
- Обновлен быстрый старт

Преимущества:
- Лучшая совместимость с терминалами
- Чистый интерфейс whiptail
- Обновленная документация
- Сохранены цвета в консольном выводе

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:47:11 +03:00
c59edae00d feat: Добавлены CI/CD команды для автоматизированного тестирования
- Добавлены неинтерактивные CI/CD команды для автоматизации
- Команды для тестирования, линтинга, развертывания и очистки
- Команды для проверки безопасности и валидации проекта
- Команды для генерации отчетов

CI/CD команды:
- ci-test: Запуск всех тестов (лаборатория + роли)
- ci-lint: Проверка синтаксиса (YAML + Ansible)
- ci-deploy: Развертывание в лаборатории
- ci-cleanup: Очистка после тестов
- ci-full: Полный цикл (lint + test + deploy)
- ci-security: Проверка безопасности (vault + секреты)
- ci-validate: Валидация проекта (структура + зависимости)
- ci-report: Генерация отчета
- ci-all: Все проверки

Особенности:
- Неинтерактивные команды для CI/CD пайплайнов
- Цветной вывод для лучшей читаемости
- Обработка ошибок с exit codes
- Проверка зависимостей и структуры проекта
- Устойчивость к ошибкам ansible-lint
- Автоматическая очистка после тестов

Использование в CI/CD:
- make ci-validate - проверка готовности проекта
- make ci-lint - проверка синтаксиса
- make ci-test - запуск тестов
- make ci-deploy - развертывание
- make ci-security - проверка безопасности
- make ci-report - генерация отчета
- make ci-cleanup - очистка после тестов

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:42:08 +03:00
a9fcee13ef feat: Убраны emoji из whiptail и добавлена проверка инициализации в команду по умолчанию
- Убраны все emoji из whiptail диалогов для лучшей совместимости
- Добавлена команда check-init-and-menu как команда по умолчанию
- Автоматическая проверка инициализации при запуске make
- Сохранены цвета в консольном выводе для лучшей читаемости

Изменения в whiptail:
- Убраны emoji из заголовков диалогов
- Убраны emoji из сообщений
- Сохранена функциональность всех диалогов
- Улучшена совместимость с разными терминалами

Команда по умолчанию:
- make без параметров теперь проверяет инициализацию
- Автоматический запуск инициализации при первом запуске
- Переход к главному меню после инициализации
- Нет повторной инициализации после настройки

Преимущества:
- Лучшая совместимость с терминалами
- Автоматическая инициализация при первом запуске
- Сохранены цвета в консольном выводе
- Упрощенный интерфейс whiptail

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:40:02 +03:00
1909746098 feat: Добавлена автоматическая инициализация проекта при первом запуске
- Добавлена проверка инициализации проекта (check-init)
- Автоматический запуск инициализации при первом запуске
- Интерактивная настройка всех параметров проекта
- Создание файлов .env, vault/.vault, molecule/presets/minimal.yml
- Проверка наличия необходимых файлов и папок

Проверка инициализации:
- Проверка наличия .env файла
- Проверка наличия vault/.vault файла
- Проверка наличия папки molecule/presets
- Автоматический запуск инициализации при отсутствии файлов

Интерактивная инициализация:
- Настройка основных параметров проекта (название, версия, автор, сайт)
- Настройка Docker (образ, сеть)
- Настройка лаборатории (сценарий, пресет)
- Настройка Kubernetes (контекст, версии Istio/Kind)
- Настройка путей (папка ролей, файл vault)
- Создание файла .env с всеми настройками
- Создание vault файлов
- Создание минимального пресета лаборатории
- Создание необходимых папок

Преимущества:
- Автоматическая инициализация при первом запуске
- Интерактивная настройка всех параметров
- Значения по умолчанию для быстрой настройки
- Создание всех необходимых файлов и папок
- Проверка инициализации при каждом запуске
- Нет повторной инициализации после настройки

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:36:48 +03:00
f45ae8b64e feat: Убраны отдельные пункты 'interactive' и все операции сделаны через whiptail диалоги
- Убран пункт 'interactive' из главного меню
- Убран пункт 'interactive' из меню пресетов
- Убран пункт 'interactive' из меню ролей
- Создание пресетов теперь полностью интерактивное через whiptail
- Создание ролей теперь полностью интерактивное через whiptail

Создание пресетов через whiptail:
- Интерактивный ввод имени пресета
- Интерактивный ввод описания
- Выбор количества хостов
- Выбор семейства ОС (debian/redhat/mixed)
- Выбор функций (docker, dind, k8s, istio, monitoring, chaos)
- Автоматическая генерация YAML файла пресета
- Информативное сообщение об успехе

Создание ролей через whiptail:
- Интерактивный ввод имени роли
- Интерактивный ввод описания
- Выбор пакета для установки
- Выбор сервиса для управления
- Выбор поддерживаемых платформ (debian/redhat)
- Ввод тегов роли
- Автоматическая генерация полной структуры роли
- Создание универсальных задач для Debian и RHEL
- Создание handlers, defaults, meta файлов
- Информативное сообщение об успехе

Преимущества:
- Все операции через единый интерфейс whiptail
- Нет дублирования функциональности
- Интерактивный ввод всех параметров
- Автоматическая генерация файлов
- Универсальные роли для разных ОС
- Информативные сообщения об успехе

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:33:53 +03:00
3fe419f38e feat: Добавлена обработка ошибок для всех интерактивных меню
- Добавлена обработка ошибок для меню лаборатории
- Добавлена обработка ошибок для меню Kubernetes
- Добавлена обработка ошибок для меню пресетов
- Добавлена обработка ошибок для меню ролей
- Добавлены интерактивные диалоги для ввода параметров
- Добавлены подтверждения для опасных операций
- Добавлены информативные сообщения об успехе/ошибке

Обработка ошибок включает:
- Проверка наличия данных (логи, статус, списки)
- Интерактивный ввод параметров через whiptail
- Подтверждение опасных операций (destroy)
- Информативные сообщения об успехе/ошибке
- Прокручиваемые окна для длинных выводов
- Предупреждения при отсутствии данных

Меню лаборатории:
-  Успех/ Ошибка для всех операций
- ⚠️ Подтверждение для destroy
- 📊 Статус с проверкой наличия данных
- 📝 Логи с прокруткой

Меню Kubernetes:
- Интерактивный ввод команд и параметров
- Проверка доступности кластера
- Информативные сообщения с URL

Меню пресетов/ролей:
- Интерактивный ввод имен
- Проверка существования файлов
- Отображение ошибок синтаксиса
- Подтверждение операций

Преимущества:
- Пользователь всегда знает результат операции
- Нет пустых экранов при отсутствии данных
- Интерактивный ввод параметров
- Безопасность через подтверждения
- Удобство использования

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:27:33 +03:00
c8dbc5356f feat: Полноценный интерактивный интерфейс с whiptail
- Создано главное интерактивное меню с 13 разделами
- Добавлено интерактивное меню помощи с 6 подразделами
- Команда по умолчанию (make) теперь запускает главное меню
- Создано интерактивное создание playbooks
- Исправлены ошибки с return/exit в меню

Интерактивные меню:
- 🧪 Управление лабораторией (8 команд)
- ☸️  Управление Kubernetes (7 команд)
- 📋 Управление пресетами (6 команд)
- 🎭 Управление ролями (8 команд)
- 🔐 Управление vault (5 команд)
- 📊 Генерация отчетов (4 команды)
- 🔍 Проверка синтаксиса (5 команд)
- 📸 Снимки лаборатории (3 команды)
- 🧹 Очистка данных (5 команд)
- 🎯 Интерактивные команды (3 команды)
- 📚 Документация (6 разделов)
-  Помощь и справка (6 разделов)

Меню помощи включает:
- 📋 Обзор проекта
- 🚀 Быстрый старт
- ⌨️  Список команд
- 💡 Примеры использования
- 🔧 Решение проблем
- ℹ️  О проекте

Преимущества:
- Полноценный TUI интерфейс
- Навигация через меню
- Красивые диалоги с эмодзи
- Подробная справка
- Минимум ручного труда
- Удобство использования

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:22:51 +03:00
82c532fcf1 feat: Интерактивные команды с whiptail для максимального user-friendliness
- Добавлена автоматическая проверка и установка whiptail для разных ОС
- Создана интерактивная команда preset-create-interactive с whiptail диалогами
- Создана интерактивная команда role-create-interactive с whiptail диалогами
- Обновлена help команда с новыми интерактивными командами

Интерактивные возможности:
- Диалоговые окна для ввода параметров
- Выбор из списков (чекбоксы, меню)
- Автоматическая установка whiptail для macOS, Ubuntu, CentOS, RHEL, Arch, SUSE
- Красивые диалоги с цветовой подсветкой
- Возможность отмены на любом этапе

Команды:
- make preset-create-interactive - интерактивное создание пресета
- make role-create-interactive - интерактивное создание роли
- make check-whiptail - проверка и установка whiptail

Преимущества:
- Максимально user-friendly интерфейс
- Минимум ручного труда
- Красивые диалоги
- Автоматическая установка зависимостей
- Поддержка всех основных ОС

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:16:02 +03:00
eb61afb35a feat: Интерактивная инициализация проекта через make init
- Добавлена интерактивная команда setup-env-interactive
- make init теперь запрашивает настройки проекта в диалоговом режиме
- Обновлена документация в README.md
- Убрано упоминание о создании vault-password.txt вручную

Интерактивная настройка включает:
- Основные настройки: название, версия, автор, сайт
- Настройки Docker: образ, сеть
- Настройки лаборатории: сценарий, пресет
- Настройки Kubernetes: контекст, версии Istio/Kind
- Пути к папкам и файлам

Преимущества:
- Удобная настройка проекта при первом запуске
- Все необходимые файлы создаются автоматически
- Пользователь может настроить проект под свои нужды
- Сохранение настроек в .env файле

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 15:07:13 +03:00
b1f681fb30 feat: Добавлена поддержка универсальных ролей для RHEL и Debian
- Роли теперь создаются универсальными для RHEL и Debian семейств
- Автоматическое создание OS-специфичных задач (debian.yml, redhat.yml)
- Универсальные playbooks с поддержкой разных ОС
- Обновлена документация с примерами и лучшими практиками

Новые возможности:
- Автоматическое определение ОС через ansible_os_family
- OS-специфичные задачи в отдельных файлах
- Универсальные playbooks с pre_tasks и post_tasks
- Поддержка apt для Debian/Ubuntu и yum для RHEL/CentOS

Структура универсальной роли:
- tasks/main.yml - общая логика и включение OS-специфичных задач
- tasks/debian.yml - задачи для Debian/Ubuntu (apt, systemd)
- tasks/redhat.yml - задачи для RHEL/CentOS (yum, systemd)
- playbooks/ - универсальные playbooks с поддержкой разных ОС

Универсальные playbooks:
- gather_facts: true - сбор информации об ОС
- pre_tasks - отображение информации об ОС
- post_tasks - проверка успешного развертывания
- Переменные роли автоматически добавляются

Документация:
- Добавлен раздел 'Универсальные роли' в docs/roles.md
- Примеры задач для Debian и RHEL семейств
- Лучшие практики для универсальных ролей
- Рекомендации по тестированию на разных ОС

Преимущества:
- Автоматическое создание универсальных ролей
- Поддержка RHEL и Debian семейств из коробки
- Лучшие практики встроены в шаблоны
- Подробная документация с примерами
- Приучение к написанию универсальных ролей

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:57:11 +03:00
0eb717ad82 feat: Добавлена интерактивность и поддержка playbooks для ролей
- Улучшена команда make role create с интерактивным вводом
- Добавлена команда make role playbook для управления playbooks
- Создана папка playbooks/ в структуре роли
- Обновлена документация по работе с ролями

Новые возможности:
- Интерактивное создание роли с настройкой параметров
- Управление playbooks роли (create|list|edit|run)
- Автоматическое создание структуры с папкой playbooks
- Улучшенные метаданные роли с платформами и тегами

Интерактивные параметры при создании роли:
- Описание роли
- Основной пакет
- Сервис
- Платформы (ubuntu,centos,rhel)
- Теги для Ansible Galaxy

Команды playbooks:
- make role playbook NAME=my-role create - создать playbook
- make role playbook NAME=my-role list - список playbooks
- make role playbook NAME=my-role edit - редактировать playbook
- make role playbook NAME=my-role run - запустить playbook

Документация:
- Создан docs/roles.md с полным руководством
- Обновлен README.md с новыми командами
- Добавлены примеры использования

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

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:53:35 +03:00
111efd7d92 fix: Упрощена команда help в Makefile
- Убрана сложная логика фильтрации с awk
- Добавлен упрощенный список команд
- Исправлена ошибка с grep -E

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:49:33 +03:00
d6bc3f1f31 feat: Реорганизация проекта и восстановление ролей
- Восстановлены команды make role в Makefile
- Создана папка ci-cd/ для CI/CD конфигурации
- Перенесены GitLab файлы в ci-cd/
- Перенесены Dockerfile'ы в ci-cd/dockerfiles/
- Удален корневой requirements.yml
- Удалена пустая папка vars/
- Создана документация ci-cd/README.md
- Обновлен README.md с информацией о CI/CD

Изменения:
- Восстановлены команды: make role list|create|edit|test|lint|deploy|info
- Создана структура ci-cd/ с GitLab CI/CD
- Перенесены Dockerfile'ы для разных ОС
- Добавлена документация по CI/CD
- Обновлена структура проекта в README.md

Новая структура:
- ci-cd/ - CI/CD конфигурация
- ci-cd/gitlab/ - GitLab Runner
- ci-cd/dockerfiles/ - Dockerfile'ы
- ci-cd/.gitlab-ci.yml - GitLab CI/CD
- ci-cd/README.md - документация CI/CD

Преимущества:
- Организованная структура проекта
- Восстановлена функциональность ролей
- Готовые примеры CI/CD
- Документация по настройке
- Разделение ответственности

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:46:44 +03:00
a875a874e9 feat: Удалены все роли Ansible из проекта
- Удалена директория 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
2025-10-22 14:30:57 +03:00
e6287769d6 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
2025-10-22 14:25:27 +03:00
51c76fb859 feat: Создана роль deploy для управления инфраструктурой
- Создана полноценная роль 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
2025-10-22 14:18:49 +03:00
dc255d006a feat: Добавлены продвинутые фичи из dialog.txt
- YAML inventory с мультигруппами в create.yml
- Vault preflight проверки в converge.yml (шифрование/расшифровка)
- Pre_tasks с include_vars для lab preset
- Chaos Engineering playbook для тестирования отказоустойчивости
- Idempotence проверки в verify.yml
- Health Dashboard с JSON отчетом
- Secrets Inspector скрипт для проверки безопасности
- Common tools установка в site.yml

Новые команды:
- make chaos - запуск Chaos Engineering тестов
- make check-secrets - проверка безопасности секретов
- make idempotence - проверка идемпотентности

Обновления в файлах:
- molecule/universal/create.yml: добавлена генерация YAML inventory
- molecule/universal/molecule.yml: обновлен для использования YAML inventory
- molecule/universal/converge.yml: добавлены vault preflight проверки
- molecule/universal/verify.yml: добавлены idempotence и health dashboard
- files/playbooks/chaos.yml: новый Chaos Engineering playbook
- files/playbooks/site.yml: добавлены common tools
- scripts/secret_scan.sh: новый Secrets Inspector
- Makefile: добавлены новые команды
- README.md: обновлена документация

Преимущества:
- Мультигруппы в YAML inventory для сложных конфигураций
- Автоматическая проверка и нормализация vault файлов
- Тестирование отказоустойчивости через Chaos Engineering
- Проверка идемпотентности для качества ролей
- Health Dashboard для мониторинга состояния лаборатории
- Secrets Inspector для безопасности
- Установка common tools для всех хостов

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:10:01 +03:00
26a09cd637 feat: Создана папка vault для хранения секретов и улучшена работа с Ansible Vault
- Создана папка vault/ для хранения всех секретов
- Перенесен vault-password.txt в vault/.vault
- Обновлены все команды vault для работы с новой структурой:
  - make vault show/create/edit/delete/rekey/decrypt/encrypt
  - Все команды теперь работают с vault/secrets.yml
  - Пароль хранится в vault/.vault

Обновления в docker-compose.yaml:
- Добавлено монтирование папки vault в контейнер
- Обновлена переменная ANSIBLE_VAULT_PASSWORD_FILE на /ansible/vault/.vault
- Добавлено монтирование .ansible-lint для корректной работы lint

Обновления в Makefile:
- VAULT_PASSWORD_FILE теперь указывает на vault/.vault
- Все vault команды обновлены для работы с vault/secrets.yml
- Команда clean теперь удаляет папку vault/

Обновления в .ansible-lint:
- Добавлены exclude_paths для исключения проблемных файлов
- Исключены molecule/universal/ и files/playbooks/ из проверки
- Это решает проблемы с Docker модулями в lint

Проверка работы vault:
- Создан тестовый файл vault/secrets.yml с секретами
- Проверена корректность шифрования/расшифровки
- Создан тестовый playbook для проверки работы с vault
- Все команды vault работают корректно

Обновления в документации:
- README.md: добавлена информация о папке vault/
- docs/api.md: обновлены настройки ansible-lint с exclude_paths

Преимущества:
- Централизованное хранение всех секретов в папке vault/
- Безопасное хранение паролей в скрытом файле .vault
- Корректная работа lint без ошибок с Docker модулями
- Автоматическое использование vault паролей во всех операциях

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 14:02:21 +03:00
df97e9d3d4 feat: Добавлена поддержка ansible-lint с настройками для пропуска ошибок
- Добавлена команда make lint для проверки всего проекта
- Обновлена команда make role lint для использования .ansible-lint
- Добавлен файл .ansible-lint с настройками для пропуска ошибок:
  - fqcn: позволяет использовать короткие имена модулей
  - yaml[new-line-at-end-of-file]: не требует новой строки в конце YAML
  - yaml[truthy]: позволяет использовать yes/no вместо true/false
  - yaml[line-length]: не ограничивает длину строк в YAML
  - var-naming[no-role-prefix]: не требует префиксов для переменных
  - ignore-errors: позволяет использовать ignore_errors: yes

Обновления в Makefile:
- make lint: проверяет весь проект (molecule, playbooks, roles)
- make role lint: использует --config-file /ansible/.ansible-lint
- Добавлена команда lint в справку make help

Обновления в документации:
- README.md: добавлена команда make lint
- docs/api.md: добавлены разделы Ansible-lint команды и настройки

Преимущества:
- Единообразная проверка всего проекта
- Гибкие настройки для пропуска нежелательных ошибок
- Автоматическое использование конфигурационного файла
- Подробная документация по настройкам

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:52:44 +03:00
09ca55539f feat: Удален molecule/default и все скрипты теперь запускаются через Docker
- Удалена папка molecule/default (больше не используется)
- Все скрипты в папке scripts теперь запускаются через Docker контейнер
- Обновлены пути в скриптах для работы внутри контейнера:
  - snapshot.sh: OUT_DIR=/ansible/snapshots
  - restore.sh: IN_DIR=/ansible/snapshots
  - cleanup.sh: остался без изменений (уже корректный)

Обновления в docker-compose.yaml:
- Добавлены монтирования для scripts, reports, snapshots
- Скрипты теперь доступны внутри контейнера по пути /ansible/scripts/
- Отчеты сохраняются в /ansible/reports/
- Снапшоты сохраняются в /ansible/snapshots/

Обновления в Makefile:
- make snapshot теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/snapshot.sh'
- make restore теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/restore.sh'
- make cleanup теперь запускает: docker exec ansible-controller bash -lc 'bash /ansible/scripts/cleanup.sh'

Преимущества:
- Не требует установки дополнительных инструментов локально
- Все операции выполняются в изолированной среде
- Единообразный подход к запуску всех скриптов
- Автоматическое создание необходимых директорий

Обновлена документация:
- README.md: добавлено упоминание о запуске через Docker
- docs/api.md: обновлены примеры скриптов с путями для Docker

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:48:38 +03:00
9c55c8f615 feat: Добавлены команды для работы с kubeconfig и улучшена генерация отчетов
- Добавлена команда make kube kubeconfig CLUSTER=lab для получения kubeconfig файла
- Добавлена команда make kubeconfigs для получения всех kubeconfig файлов
- Улучшена команда make report для запуска через контейнер
- Добавлена команда make open-report для открытия отчета в браузере
- Добавлена команда make full-test для полного цикла с отчетом и kubeconfig
- Обновлена справка make help с новыми командами
- Обновлен README.md с новыми командами

Новые команды:
- make kube kubeconfig CLUSTER=lab - получить kubeconfig для конкретного кластера
- make kubeconfigs - получить все kubeconfig файлы из всех кластеров
- make open-report - открыть HTML отчет в браузере
- make full-test - полный цикл тестирования с генерацией отчетов и kubeconfig

Улучшения:
- Генерация отчетов теперь работает через контейнер (не требует Python локально)
- Автоматическое создание директорий reports/ и reports/kubeconfigs/
- Цветной вывод с информативными сообщениями
- Кроссплатформенное открытие отчетов (macOS, Linux, Windows)
- Валидация существования файлов перед открытием

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:43:08 +03:00
f2a0f46813 feat: Полностью переписан Makefile с максимальной автоматизацией
- Создан новый Makefile с унифицированными командами
- Команды теперь работают как: make lab up, make kube sh, make preset list
- Добавлена поддержка .env файла для конфигурации
- Созданы команды для автоматизации всех аспектов работы:

Основные команды:
- make help - справка по всем командам
- make init - полная инициализация проекта
- make setup-env - создание .env файла
- make setup-vault - создание vault-password.txt
- make setup-roles - создание директории ролей
- make setup-precommit - установка pre-commit хуков

Лаборатория (make lab):
- make lab up/down/sh/test/create/converge/verify/destroy/reset
- Полная автоматизация работы с лабораторией
- Цветной вывод и информативные сообщения

Kubernetes (make kube):
- make kube sh/cmd/enter/kiali/istio/grafana/prom/pf-stop
- Управление Kubernetes кластерами
- Port-forward для всех сервисов мониторинга

Пресеты (make preset):
- make preset list/create/edit/test/copy
- Автоматическое создание новых пресетов
- Копирование существующих пресетов
- Тестирование пресетов

Роли (make role):
- make role list/create/edit/test/lint/deploy
- Автоматическое создание структуры ролей
- Тестирование и линтинг ролей

Vault (make vault):
- make vault show/create/edit/delete/rekey/decrypt/encrypt
- Полное управление Ansible Vault

Git (make git):
- make git status/add/commit/push/pull/branch/merge
- Автоматизация работы с Git

Docker (make docker):
- make docker build/rebuild/prune/shell/logs/stop/start
- Управление Docker контейнерами

Утилиты:
- make report - генерация HTML отчетов
- make snapshot/restore - управление снапшотами
- make cleanup - очистка лаборатории
- make env - показ переменных окружения
- make clean - полная очистка проекта

Особенности:
- Цветной вывод для лучшего UX
- Информативные сообщения о выполняемых действиях
- Автоматическая загрузка переменных из .env файла
- Валидация параметров команд
- Подробная справка по всем командам
- Единообразный интерфейс для всех операций

Создан env.example с примером конфигурации
Обновлен README.md с новыми командами
Добавлена поддержка всех 21 пресета
Интеграция с существующей документацией

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:37:48 +03:00
33ada54c12 feat: Завершена реализация универсальной лаборатории
- Добавлена полная поддержка Istio service mesh с Kiali
- Интегрированы Helm charts (nginx, prometheus-stack)
- Созданы Grafana дашборды для Istio мониторинга
- Добавлен HTML генератор отчетов с красивым дизайном
- Созданы скрипты для снапшотов и восстановления
- Добавлена поддержка Istio Bookinfo demo
- Обновлена документация с полным описанием возможностей

Компоненты:
- Istio с Telemetry и Traffic Policy
- Prometheus + Grafana с автопровижинингом дашбордов
- HTML отчеты с анализом статусов
- Снапшоты и восстановление состояния
- Полная интеграция с Kubernetes

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:08:55 +03:00
b4881da7c5 feat: Добавлена универсальная лаборатория для тестирования Ansible ролей
- Создана структура molecule/universal/ с поддержкой DinD и DOoD
- Добавлена поддержка Kind кластеров для Kubernetes тестирования
- Интегрированы Helm charts (nginx, prometheus-stack)
- Добавлена поддержка Istio service mesh с Kiali
- Создан Makefile с lab-целями для управления лабораторией
- Добавлена поддержка Prometheus + Grafana с автопровижинингом
- Создан README с подробной документацией

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-10-22 13:01:53 +03:00
4e2e218aae Исправление ошибки ansible-vault и обновление тегов образов
- Исправлена ошибка ansible-vault в Dockerfile-Ubuntu (установка версии <4.0.0)
- Убраны -latest из тегов ubuntu и centos в Makefile
- Обновлены теги в molecule.yml: inecs/ansible:centos и inecs/ansible:ubuntu
- Пересобраны все образы с новыми тегами и исправленными зависимостями
- Все образы успешно опубликованы в Docker Hub с поддержкой amd64 и arm64
2025-10-21 00:47:00 +03:00
b3356e820d Обновить команду images и переменные для Docker Hub
- Переименована команда images-dockerhub в images
- Изменен REGISTRY с hub.cism-ms.ru/ansible на inecs/ansible
- Добавлена сборка основного Ansible образа в команду images
- Исправлен Dockerfile для решения проблем с GPG подписями
- Обновлена документация в README.md

Теперь команда make images собирает и публикует:
- inecs/ansible:latest (основной Ansible образ)
- inecs/ansible:centos-latest (для тестирования на CentOS)
- inecs/ansible:ubuntu-latest (для тестирования на Ubuntu)

Автор: Сергей Антропов
2025-10-20 23:54:51 +03:00
cb0a4d95fd Настроить сборку и публикацию образов в Docker Hub
- Добавлена новая команда make images-dockerhub для сборки образов в Docker Hub
- Образы публикуются под именем inecs/ansible:centos-latest и inecs/ansible:ubuntu-latest
- Обновлен Dockerfile-Ubuntu для использования готового образа с Ansible
- Добавлена поддержка multi-arch сборки (AMD64/ARM64)
- Обновлена документация в README.md

Автор: Сергей Антропов
2025-10-20 23:53:19 +03:00
1c3e6949e1 fix 2025-03-20 11:16:54 +03:00
40de677483 new branch fix 2025-03-18 11:43:18 +03:00
3485de46fb Добавил смену пароля ansible-vault 2025-03-18 11:07:42 +03:00
c17b14f313 fix 2025-03-17 22:33:37 +03:00
0f88163d16 fix converage 2025-03-17 22:25:46 +03:00
4060499ec7 fix2 2025-03-17 21:47:27 +03:00
c3ca8dc074 фикс пуÑотносительных путей 2025-03-17 21:24:13 +03:00
8505d56603 Вернул dockerfile и пофиксил makefile от ошибок 2025-03-17 16:30:03 +03:00
f055589782 Пофиксил init и ошибку в makefile 2025-03-17 15:29:17 +03:00
382681820e Изменил обÑдокерфайл. Теперь вместо 1000 мб всего 262 мьÑбÑ. И добавил сборку для разных платформ. ARM64 и AMD64. 2025-03-17 14:58:29 +03:00
a4e685a16f Почистил файлы инвентори и сÐдобавил иниÑÑсоздание нового бренча при инициализации. А так же убрал в gitlab-ci ветку ьÑmaster. Что бы деплоились только названия веток типа cluster-* 2025-03-17 14:30:23 +03:00
d03d83cd3e Добавил инициализацию make init 2025-03-17 14:21:40 +03:00
70fe486bd0 Добавил make release для релиза контейнера в докер реджистри + добавил возможность выбора работы с docker-compose для локальной разработтки и запуск через docker для CI/CD 2025-03-17 13:45:21 +03:00
Сергей Антропов
04ebb9d1ed Добавил возможность релизов в реджистри и файл дCI для GitLab 2025-03-14 16:50:45 +03:00
2cb442bd73 Добавил создание ролей make role new 2025-03-13 19:02:34 +03:00
b6286aa9b7 Пофиксил униерсальность и добавил centos и ubuntu 2025-03-13 17:38:44 +03:00
0c3bacfe9c Makefile fix 2025-03-13 11:24:14 +03:00
4e5ae1e78b fix2 2025-03-13 10:51:03 +03:00
Сергей Антропов
382395b909 fix2 2025-03-05 18:59:10 +03:00