- Изменен базовый образ с redos/redos:9 на registry.red-soft.ru/ubi7/ubi
- Теперь соответствует Dockerfile в dockerfiles/redos/Dockerfile
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена команда vault init в раздел VAULT основной справки (help)
- Добавлен пример использования make vault init
- Исправлено выравнивание для make vault scan
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена команда make vault init для автоматического создания файла vault/.vault
- Команда проверяет существование файла перед созданием
- Добавлена проверка существования vault/.vault в команде make vault create
- Обновлена справка с новой командой
- Пароль запрашивается интерактивно с опцией -sp (скрытый ввод)
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- В converge.yml заменены все /workspace/vault-password.txt на /workspace/vault/.vault
- В docker-compose.yml обновлен ANSIBLE_VAULT_PASSWORD_FILE на /ansible/vault/.vault
- Теперь используется правильный файл vault/.vault согласно структуре проекта
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Исправлены все пути с /ansible/ на /workspace/
- Исправлен путь к playbook на /workspace/molecule/default/site.yml
- Обновлены пути для vault файлов
- Обновлен ANSIBLE_ROLES_PATH
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Исправлены все Dockerfile (удален USER ansible перед CMD)
Причина: systemd должен запускаться от root (PID 1)
- Исправлены параметры в molecule/default/create.yml
(environment → env для модуля community.docker.docker_container)
- Добавлен -u root в Makefile для запуска контейнера
- Добавлена переменная MOLECULE_EPHEMERAL_DIRECTORY
- Удалена роль nginx из deploy.yml (не существует)
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Убрана попытка монтировать ~/.docker/run/docker.sock
- Возврат к стандартному /var/run/docker.sock
- Убрана опция --group-add (не работает на macOS)
- Убрана опция :ro для максимальной совместимости
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлен универсальный таргет % для всех пресетов
- Не нужно добавлять каждый пресет вручную
- Любой пресет теперь работает автоматически
- Удобное масштабирование без изменений Makefile
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлены minimal и default в список пустых целей Makefile
- Исправлена обработка Docker socket для тестирования
- Добавлен параметр --group-add для доступа к Docker socket
- Все команды (lint, test, deploy) работают в контейнерах
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Команда make role deploy теперь выполняется в контейнере
- Добавлено монтирование ~/.ssh для SSH доступа
- Все команды (lint, test, deploy) работают в контейнерах
- Не требуется установка Ansible на локальную машину
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создана новая роль ping в roles/ping/
- Роль выполняет ping yandex.ru с 5 пакетами
- Добавлены задачи: выполнение ping, вывод результатов, статистика
- Добавлена документация (README.md, QUICKSTART.md)
- Добавлен пример playbook
- Роль интегрирована в deploy.yml
- Все файлы прошли проверку ansible-lint
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Убрана установка yq (проблемы с архитектурой)
- Исправлена установка Docker для правильной архитектуры
- Использование dpkg --print-architecture вместо hardcoded amd64
- Упрощена структура Dockerfiles
- Образы успешно собраны и отправлены в Docker Hub
Исправления:
- Ubuntu 22.04: inecs/ansible-lab:ubuntu-22.04
- Debian bookworm: inecs/ansible-lab:debian-bookworm
- Обновлены Dockerfiles для Ubuntu и Debian по аналогии с astra-linux
- Упрощена структура: убраны лишние компоненты (kubectl, helm, kind, ansible)
- Установка Docker из официального репозитория вместо пакетов дистрибутива
- Добавлен systemd-sysv для корректной работы systemd
- Пользователь ansible создается и используется как основной
- CMD изменен на /sbin/init для запуска systemd
- Добавлена информация о make docker build-image в help
- Обновлен общий help (make help) с кратким описанием команды
- Обновлен docker help (make docker) с подробной информацией и примерами
- Показывается список доступных образов и поддерживаемых платформ
- Исправлена установка ansible-lint в ansible-controller Dockerfile
- Команда lint теперь использует файл .ansible-lint через volume
- Изменена переменная DOCKER_IMAGE на inecs/ansible-lab:ansible-controller-latest
- Обновлена команда сборки контроллера для использования нового формата тегов
- Обновлен docker-compose.yml для использования готового образа
- Обновлена справка с новым именем образа
- Добавлены ubuntu и debian в список собираемых образов
- Теперь контроллер использует единый формат тегов с остальными образами
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Созданы Dockerfile'ы для Ubuntu 22.04 и Debian:
- dockerfiles/ubuntu/Dockerfile - Ubuntu 22.04 с systemd
- dockerfiles/debian/Dockerfile - Debian bookworm с systemd
- Обновлен Makefile:
- Добавлены ubuntu и debian в DOCKER_IMAGES
- Добавлена поддержка в docker-get-base-tag
- Обновлена справка с новыми образами
- Обновлены все пресеты для поддержки новых образов:
- ubuntu: inecs/ansible-lab:ubuntu-latest
- debian: inecs/ansible-lab:debian-latest
- Обновлен molecule.yml для поддержки новых образов
- Обновлен скрипт test-custom-images.sh для проверки новых образов
- Теперь поддерживается 10 собственных образов AnsibleTemplate
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Удалены дублирующиеся строки rhel: quay.io/centos/centos:stream9-systemd
- Оставлены только собственные образы AnsibleTemplate
- Сохранена обратная совместимость с debian образом
- Все пресеты теперь содержат только уникальные образы
- Убраны конфликты между старыми и новыми образами
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Созданы пресеты для тестирования с собственными образами:
- custom-minimal.yml - минимальный тест (4 хоста)
- custom-images.yml - полный тест (все образы)
- custom-performance.yml - тест производительности (8 хостов)
- Обновлен molecule.yml для поддержки собственных образов
- Добавлен скрипт test-custom-images.sh для автоматизации тестирования
- Добавлены команды в Makefile:
- make custom-images test [minimal|full|performance]
- make custom-images check - проверка наличия образов
- make custom-images build - сборка всех образов
- Поддержка образов: ansible-controller, alt-linux, astra-linux, redos, rhel, centos, alma, rocky
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлена команда 'make docker build-image IMAGE=имя' для сборки отдельных образов
- Исправлены базовые образы в docker-get-base-tag:
- alt-linux: alt:p9 (было altlinux/p9)
- astra-linux: registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2
- Остальные образы соответствуют FROM в Dockerfile
- Улучшена логика извлечения тегов из базовых образов
- Добавлена валидация существования директории образа
- Команда build-image добавлена в список пустых целей
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Обновлен README.md в dockerfiles/ с описанием образов
- Улучшен docker-compose.yml для ansible-controller
- Обновлена документация examples.md и universal-testing.md
- Улучшен verify.yml для molecule тестирования
- Добавлены новые функции и исправления
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Убраны маркеры конфликта слияния (<<<<<<< HEAD, =======, >>>>>>>)
- Исправлен синтаксис case statement - добавлен недостающий ;;
- Убраны дублирующиеся строки в секции справки docker
- Восстановлена правильная структура docker команд
- Команда make docker build теперь работает корректно
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Оставлена улучшенная версия clean-builder с docker-reset-builder
- Сохранены все исправления buildx проблем
- Объединены изменения из удаленного репозитория
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Заменен buildx ls на безопасный buildx inspect
- Добавлены диагностические команды для buildx
- Создана функция docker-diagnose-buildx для отладки
- Добавлена функция docker-reset-builder для сброса
- Предварительная загрузка образа moby/buildkit:buildx-stable-1
- Полная очистка buildkit контейнеров
- Обновлена документация и справка
- Добавлен тестовый скрипт для проверки исправлений
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Добавлено удаление кеша builds в команду docker clean
- Оптимизирована команда docker clean-builder с таймаутами
- Добавлена принудительная остановка контейнеров builder'а
- Убрана проблемная проверка docker buildx inspect
- Добавлены таймауты 10 сек для docker buildx rm и prune
- Обновлена справка с описанием новых возможностей
- Команда теперь работает быстро и надежно
- Изменен DOCKER_REGISTRY с inecs/ansible на inecs/ansible-lab
- Обновлен формат тегов с registry/image:tag на registry:image-tag
- Исправлены все команды docker (build, push, pull, clean, info)
- Улучшен вывод информации о сборке образов с четким выделением
- Все образы теперь будут собираться в публичный репозиторий inecs/ansible-lab
- Добавлена команда make docker rebuild в основную справку
- Обновлены примеры использования с новой командой
- Команда rebuild выполняет полную пересборку с очисткой кеша
- Полезно при проблемах с кешем или зависимостями
Новая команда:
- make docker rebuild - полная пересборка с очисткой кеша
- Выполняет: clean + clean-builder + setup-builder + build
- Собирает все образы с нуля без использования кеша
- Исправлены вызовы несуществующих команд docker-setup-builder
- Заменены на правильные вызовы make docker setup-builder
- Упрощена функция docker-get-base-tag (убрана лишняя информация)
- Исправлен путь к requirements.yml в Dockerfile ansible-controller
- Убрана лишняя информация из вывода тегов
Исправления:
- make docker build теперь правильно вызывает setup-builder
- make controller build теперь правильно вызывает setup-builder
- docker-get-base-tag выводит только тег без лишней информации
- requirements.yml копируется из правильного пути
Теперь multi-arch сборка должна работать корректно.
- Обновлена секция Docker образов с указанием Multi-Arch поддержки
- Добавлена новая секция Docker Builder с командами для работы с builder'ом
- Обновлена секция Controller с указанием Multi-Arch поддержки
- Добавлены новые примеры использования:
* make docker setup-builder - настройка multi-arch builder
* make docker build - собрать все образы (amd64 + arm64)
* make controller build - собрать ansible-controller (multi-arch)
* make docker clean-builder - очистка builder'а
- Указаны поддерживаемые архитектуры: amd64, arm64, riscv64, ppc64le, s390x, 386, arm/v7, arm/v6
Теперь help отражает все новые возможности:
- Multi-arch сборка для всех Docker образов
- Команды для управления multi-arch builder'ом
- Автоматическое извлечение тегов из базовых образов
- Поддержка множества архитектур
- Добавлена команда setup-builder в секцию docker
- Удалена отдельная функция docker-setup-builder
- Обновлена справка с информацией о новой команде
- Исправлена синтаксическая ошибка в Makefile
- Добавлена пустая цель setup-builder для совместимости
Теперь доступны команды для работы с builder'ом:
- make docker setup-builder - настройка multi-arch builder
- make docker clean-builder - очистка multi-arch builder
Удаленная команда больше не работает:
- make docker-setup-builder - ❌ No rule to make target
Это делает интерфейс более последовательным и понятным.
- Удалена функция docker-clean-builder
- Убрано упоминание из справки
- Удалено из .PHONY списка
- Оставлена только команда make docker clean-builder в секции docker
- Упрощена структура команд
Теперь доступна только одна команда для очистки builder'а:
- make docker clean-builder - через секцию docker
Это делает интерфейс более последовательным и понятным.
- Добавлена команда clean-builder в секцию docker
- Теперь доступны две команды для очистки builder'а:
* make docker clean-builder - в секции docker
* make docker-clean-builder - отдельная команда
- Обновлена справка с информацией о новой команде
- Добавлена пустая цель clean-builder для совместимости
- Команда безопасно удаляет multi-arch builder контейнер
Использование:
- make docker clean-builder - очистка builder'а через секцию docker
- make docker-clean-builder - очистка builder'а как отдельная команда
- Обе команды выполняют одинаковые действия
- Обновлена функция docker-setup-builder для работы в контейнере
- Добавлен флаг --bootstrap для автоматического запуска builder'а
- Добавлена проверка статуса builder'а после создания
- Добавлена функция docker-clean-builder для очистки builder'а
- Обновлена справка с информацией о новых функциях
- Builder теперь работает в контейнере, а не устанавливается в систему
- Поддержка всех платформ: linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
Исправления:
- buildx теперь запускается в контейнере
- Автоматическая проверка статуса builder'а
- Возможность очистки и пересоздания builder'а
- Улучшенная диагностика проблем со сборкой
- Добавлена поддержка multi-arch сборки (amd64 и arm64) для всех Docker образов
- Реализовано автоматическое извлечение тегов из базовых образов
- Добавлены вспомогательные функции:
* docker-setup-builder - настройка multi-arch builder
* docker-get-base-tag - извлечение тегов из базовых образов
* docker-build-image - сборка одного образа с multi-arch
- Обновлена сборка ansible-controller с поддержкой multi-arch
- Исправлен путь к requirements.yml для ansible-controller
- Обновлена справка с информацией о новых возможностях
- Все образы теперь автоматически отправляются в Docker Hub при сборке
- Поддержка платформ: linux/amd64,linux/arm64
Новые возможности:
- Автоматическое извлечение тегов из базовых образов
- Multi-arch сборка для всех образов
- Автоматическая отправка в Docker Hub
- Улучшенная справка с подробным описанием функций
- Исправлена установка Docker для Rocky Linux (заменен универсальный скрипт на ручную установку)
- Исправлена установка Docker для AlmaLinux (заменен универсальный скрипт на ручную установку)
- Исправлена установка Docker для ALT Linux (убраны несуществующие пакеты docker/docker-compose)
- Обновлен Makefile с улучшенной справкой и командами
- Все 7 Docker образов успешно собраны:
* inecs/alt-linux:latest (804MB)
* inecs/astra-linux:latest (1.06GB)
* inecs/redos:latest (1.26GB)
* inecs/centos:latest (1.07GB)
* inecs/rhel:latest (1.01GB)
* inecs/rocky:latest (1.32GB)
* inecs/alma:latest (1.13GB)
Все образы содержат:
- Systemd для полноценного тестирования
- Docker для DinD/DOoD сценариев
- Python и pip для Ansible
- Пользователя ansible с sudo правами
- Все необходимые инструменты разработки
Проект готов к полноценному тестированию Ansible на различных ОС!
- Переименована секция docker-cmd в docker:
* Обновлены все команды: make docker [действие]
* Обновлена справка в основной help
* Обновлены примеры использования
* Обновлен .PHONY
- Добавлена команда make docker purge:
* Полная очистка всех Docker данных
* Останавливает все контейнеры
* Удаляет все контейнеры, образы, тома, сети
* Выполняет docker system prune -af --volumes
* Требует подтверждение пользователя
* Безопасная отмена при отказе
- Улучшена справка:
* Добавлено предупреждение для команды purge
* Обновлены все описания команд
* Добавлена команда purge в пустые цели
- Расширена основная справка (make help):
* Добавлена секция dockerfiles/ в структуру проекта
* Подробные описания всех команд с примерами
* Добавлены секции GIT и CONTROLLER
* Добавлены практические примеры использования
- Улучшены детальные справки для всех команд:
* role - добавлены примеры и требования
* presets - подробные описания с примерами
* vault - детальные описания всех операций
* git - объяснение выполняемых действий
* docker-cmd - подробная информация о каждом образе
* controller - описание процесса сборки и запуска
- Добавлены эмодзи и структурирование:
* Четкое разделение команд по категориям
* Подсказки с 💡 для каждой команды
* Примеры использования в реальных сценариях
- Реорганизован Makefile:
* Переменные вынесены наверх
* Справка перенесена в конец
* Удалены секции molecule и container
* Объединены presets и preset в одну секцию
* Переименована секция docker в docker-cmd
- Добавлены Docker образы:
* ansible-controller - основной контроллер
* alt-linux, astra-linux, redos - российские дистрибутивы
* rhel, centos, alma, rocky - RHEL-совместимые образы
- Обновлены preset'ы:
* Добавлены описания #description: во все preset'ы
* Переименован docker.yml в docker-test.yml
* Добавлены новые preset'ы: etcd-patroni, multi-os
- Добавлена документация:
* docs/examples.md - примеры использования
* docs/universal-testing.md - универсальное тестирование
* dockerfiles/README.md - описание Docker образов
- Улучшена функциональность:
* Единообразный стиль команд make [категория] [действие]
* Улучшенный вывод информации о preset'ах
* Добавлены пустые цели для совместимости
- Создан файл roles/deploy.yml с блоком запуска роли nginx
- Обновлен molecule/default/site.yml для импорта deploy.yml
- Улучшена модульность структуры проекта
- Автор: Сергей Антропов
- Создана система пресетов для быстрого переключения между конфигурациями
- Добавлены пресеты: minimal, standard, docker, cluster
- Обновлена структура проекта с папками cicd/, vault/, scripts/
- Упрощена система vault с функциональными секретами
- Добавлены скрипты для работы с пресетами
- Обновлен Makefile с командами для пресетов
- Удалены старые файлы и структуры
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Создан файл verify.yml с комплексной проверкой сервисов
- Обновлена конфигурация molecule.yml для использования образов inecs/ansible
- Добавлены проверки: systemd статус и версия, docker binary и daemon, docker-compose
- Включены тесты функциональности docker и systemd сервисов
- Подробное логирование результатов проверки на русском языке
Автор: Сергей Антропов
Сайт: 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
- Оптимизирован Dockerfile-CentOS с флагами --nodocs и --setopt=install_weak_deps=False
- Исправлены конфликты версий в Dockerfile-Ubuntu
- Добавлена поддержка ARM64 архитектуры для всех образов
- Все образы пересобраны и опубликованы в Docker Hub
- Образы: inecs/ansible:latest, inecs/ansible:centos-latest, inecs/ansible:ubuntu-latest
- Добавлен docker-compose в Dockerfile-Ubuntu
- Добавлен docker-compose в Dockerfile-CentOS
- Docker-compose загружается с официального GitHub репозитория
- Образы теперь поддерживают запуск полноценных сред тестирования
- Возможность запуска docker-compose внутри контейнеров для тестирования
Теперь образы содержат:
- Все системные пакеты для разработки
- Ansible и связанные инструменты
- Docker-compose для оркестрации контейнеров
- Полный набор инструментов для тестирования
Автор: Сергей Антропов
- Обновлен Dockerfile для использования готового образа geerlingguy/docker-ubuntu2204-ansible:latest
- Исправлена проблема с отсутствующей папкой scripts
- Успешно собраны и опубликованы все образы в Docker Hub:
- inecs/ansible:latest (основной Ansible образ)
- inecs/ansible:centos-latest (для тестирования на CentOS)
- inecs/ansible:ubuntu-latest (для тестирования на Ubuntu)
- Все образы поддерживают multi-arch (AMD64/ARM64)
Автор: Сергей Антропов
- Обновлен docker-compose.yaml для использования inecs/ansible:latest
- Обновлен molecule.yml для использования inecs/ansible:centos-latest и inecs/ansible:ubuntu-latest
- Удалена секция build из docker-compose.yaml, теперь используется готовый образ
- Образы теперь загружаются из 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)
Автор: Сергей Антропов