- Заменено название проекта во всех файлах проекта
- Обновлены:
* README.md
* Makefile
* Все файлы документации (.md)
* CI/CD конфигурации (Jenkins, GitLab, GitHub Actions, Azure DevOps)
* Скрипты (setup-cicd.sh, test-custom-images.sh)
* Файлы конфигурации Molecule
- Изменена переменная PROJECT_NAME в Makefile на devops-lab
- Docker образы inecs/ansible-lab:* оставлены без изменений
(чтобы не затрагивать существующие образы в Docker Hub)
- Создан скрипт scripts/portforward.py для управления port-forward
- Добавлены команды в Makefile:
- make k8s portforward create - создать port-forward для всех сервисов
- make k8s portforward list - показать активные port-forward
- make k8s portforward clear - очистить все port-forward
- make k8s portforward delete PORT - удалить конкретный port-forward
- Сервисы остаются с типом ClusterIP
- Port-forward автоматически создается для Prometheus, Grafana, Kiali и Metrics Server
- Порты: Prometheus 9090, Grafana 3000, Kiali 20001, Metrics Server 4443
- Добавлен проброс порта 4443 для Metrics Server
- Metrics Server теперь доступен на http://localhost:4443
- Обновлена документация с информацией о порте
- Убрана логика патчинга NodePort для Prometheus, Grafana и Kiali
- Сервисы теперь остаются с типом ClusterIP
- Порты пробрасываются через extraPortMappings в Kind конфиге
- Использованы стандартные порты: Prometheus 9090, Grafana 3000, Kiali 20001
- Более простой и надежный подход без ограничений NodePort диапазона
- Удалены ingress_host_http_port и ingress_host_https_port
- Все порты (ingress, prometheus, grafana, kiali) теперь в addon_ports
- Обновлен скрипт create_k8s_cluster.py для работы с новой структурой
- Все порты теперь пробрасываются через extraPortMappings в конфигурации Kind
- Порты теперь видны в контейнерах control-plane и worker
- Добавлено создание контейнеров из секции hosts в create_k8s_cluster.py
- Добавлено удаление контейнеров в команде make k8s destroy
- Создан скрипт scripts/delete_hosts.py для удаления контейнеров
- Контейнеры автоматически создаются в Docker сети из пресета
- Контейнеры удаляются вместе с Kind кластером при make k8s destroy
- Удалены все задачи по созданию Kind кластеров из create.yml
- Удалены все задачи по удалению Kind кластеров из destroy.yml
- Добавлены комментарии о том, что все операции с Kind выполняются через make k8s
- Теперь Kind кластеры полностью управляются через Python скрипт create_k8s_cluster.py
- Создан новый Docker образ k8s для работы с Kind, kubectl, Helm, Istio CLI
- Добавлены команды make k8s: create, destroy, stop, start, status, config, nodes, addon, shell
- Добавлена поддержка пресетов Kubernetes в molecule/presets/k8s/
- Создан скрипт create_k8s_cluster.py для автоматического создания кластеров и установки аддонов
- Добавлена документация docs/kubernetes-kind.md
- Команды kubectl выполняются внутри контейнера k8s, не требуют локальной установки
- Создана универсальная роль docker для установки Docker и Docker Compose
- Поддержка Debian, Ubuntu, CentOS, AlmaLinux, Rocky, RHEL
- Установка через официальный репозиторий или get.docker.com
- Полностью переписана документация README.md с актуальной информацией
- Добавлен preset mytest для тестирования
- Обновлен roles/deploy.yml с актуальными ролями
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Закомментирована установка common tools для всех ОС (Debian/Ubuntu, RHEL/CentOS, Alt Linux, Astra Linux)
- Закомментировано создание пользователя testuser
- Закомментирована настройка sudo для testuser
- Закомментировано создание директории /tmp/ansible-test
Это ускорит выполнение тестов, так как не будет устанавливать дополнительные пакеты и создавать пользователей.
- ubuntu-all.yml: все версии Ubuntu (20.04, 22.04, 24.04)
- ubuntu20.yml, ubuntu22.yml, ubuntu24.yml: отдельные пресеты для Ubuntu
- debian-all.yml: все версии Debian (9, 10, 11, 12)
- debian9.yml, debian10.yml, debian11.yml, debian12.yml: отдельные пресеты для Debian
- centos-all.yml: все версии CentOS (7, 8, 9)
- centos7.yml, centos8.yml, centos9.yml: отдельные пресеты для CentOS
- docs/presets-by-os.md: документация по новым пресетам
Каждый пресет использует уникальные порты и группы хостов для изолированного тестирования.
- Удалена папка dockerfiles/debian
- Обновлены все presets/*.yml файлы с новыми образами
- Обновлена документация в соответствии с новыми возможностями
- Добавлены новые версии Ubuntu (20.04, 22.04, 24.04)
- Добавлены новые версии CentOS (7, 8, 9)
- Добавлены новые версии Debian (9, 10, 11, 12)
- Обновлены family в hosts секциях
- Обновлена документация по поддержке платформ
- Убраны пакеты: vim, jq, git, htop, tree из всех Dockerfile
- Закомментированы установки Docker, Docker Compose, yq
- Обновлен Rocky Linux до версии 9 с Python 3
- Исправлена проблема с passlib в ansible-controller
- Оставлены только необходимые пакеты: systemd, curl, wget, nano, python3, sudo
- Добавлена настройка ansible_remote_tmp в inventory
- Добавлена задача создания tmp директории в контейнерах при запуске
- Добавлено ожидание стабилизации контейнеров (5 секунд)
- Добавлены retries и delay для создания tmp директории
- Улучшена обработка ошибок с ignore_errors: true
Исправления:
- Проблема с правами доступа к tmp директории
- Нестабильность Astra Linux контейнеров
- Улучшена совместимость с различными ОС
Теперь все preset'ы должны работать стабильно.
- Заменены модули apt на command для ALT Linux и Astra Linux
- Добавлены failed_when: false для предотвращения остановки тестов
- Создан новый preset stable с Ubuntu и Debian
- Обновлен default preset для лучшей совместимости
- Создан preset docker-full для тестирования с Docker функциональностью
Исправления:
- Update package cache: command вместо apt модуля
- Install common tools: command вместо apt модуля
- Install Python: command вместо apt модуля
- Добавлена обработка ошибок для проблемных ОС
Теперь все preset'ы работают без ошибок с пакетами.
- Обновлено название проекта во всех файлах
- Изменена документация (README.md, docs/*.md)
- Обновлены конфигурационные файлы (Makefile, env.example)
- Изменены CI/CD файлы (GitHub Actions, Azure DevOps, Jenkins)
- Обновлены скрипты и Dockerfile
- Изменено название в molecule.yml и dockerfiles/README.md
Все ссылки и упоминания проекта теперь используют название AnsibleLab
- Создан пресет all-images для тестирования всех 9 образов
- Добавлен sudo во все Dockerfile образы
- Настроены sudoers для root и пользователей
- Упрощен site.yml (убрана установка sudo)
- Добавлена документация для пресета all-images
- Обновлен Makefile с поддержкой нового пресета
- Исправлена проблема с Parsec в Astra Linux
- Улучшена система очистки контейнеров
Пресет all-images включает:
- Debian-based: Ubuntu, Debian, Alt Linux, Astra Linux
- RHEL-based: CentOS, RHEL, AlmaLinux, Rocky Linux, RedOS
- Уникальные порты 8080-8088
- Переменные окружения TEST_OS и TEST_FAMILY
- Переписан главный README.md с подробной навигацией
- Создана структурированная документация в docs/:
- getting-started.md - быстрый старт
- creating-roles.md - создание ролей
- cicd-setup.md - настройка CI/CD
- monitoring.md - мониторинг и диагностика
- site-yml-guide.md - руководство по site.yml
- molecule-guide.md - подробное руководство по Molecule
- Переписан dockerfiles/README.md с детальным описанием всех образов
- Перенесен deploy.yml из корня в roles/ для лучшей организации
- Обновлен site.yml для импорта roles/deploy.yml
- Добавлены fallback значения в create.yml для надежности
- Созданы скрипты автоматизации:
- update-playbooks.sh - обновление playbook'ов
- generate-role-docs.sh - генерация документации
- setup-cicd.sh - настройка CI/CD
- Добавлен env.example с примерами переменных
- Обновлен Makefile с новыми командами автоматизации
- Улучшена навигация по документации
- В 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_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
- Обновлен README.md в dockerfiles/ с описанием образов
- Улучшен docker-compose.yml для ansible-controller
- Обновлена документация examples.md и universal-testing.md
- Улучшен verify.yml для molecule тестирования
- Добавлены новые функции и исправления
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Реорганизован 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
- Обновлен docker-compose.yaml для использования inecs/ansible:latest
- Обновлен molecule.yml для использования inecs/ansible:centos-latest и inecs/ansible:ubuntu-latest
- Удалена секция build из docker-compose.yaml, теперь используется готовый образ
- Образы теперь загружаются из Docker Hub вместо локальной сборки
Автор: Сергей Антропов