- Создана полноценная роль 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
- 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
- Создана папка 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
- Добавлена команда 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
- Удалена папка 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
- Добавлена команда 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
- Создан новый 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
- Добавлена полная поддержка 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
- Создана структура molecule/universal/ с поддержкой DinD и DOoD
- Добавлена поддержка Kind кластеров для Kubernetes тестирования
- Интегрированы Helm charts (nginx, prometheus-stack)
- Добавлена поддержка Istio service mesh с Kiali
- Создан Makefile с lab-целями для управления лабораторией
- Добавлена поддержка Prometheus + Grafana с автопровижинингом
- Создан README с подробной документацией
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Исправлена ошибка ansible-vault в Dockerfile-Ubuntu (установка версии <4.0.0)
- Убраны -latest из тегов ubuntu и centos в Makefile
- Обновлены теги в molecule.yml: inecs/ansible:centos и inecs/ansible:ubuntu
- Пересобраны все образы с новыми тегами и исправленными зависимостями
- Все образы успешно опубликованы в Docker Hub с поддержкой amd64 и arm64
- Переименована команда 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)
Автор: Сергей Антропов
- Добавлена новая команда make images-dockerhub для сборки образов в Docker Hub
- Образы публикуются под именем inecs/ansible:centos-latest и inecs/ansible:ubuntu-latest
- Обновлен Dockerfile-Ubuntu для использования готового образа с Ansible
- Добавлена поддержка multi-arch сборки (AMD64/ARM64)
- Обновлена документация в README.md
Автор: Сергей Антропов