diff --git a/Makefile b/Makefile index 096fbb7..230b868 100644 --- a/Makefile +++ b/Makefile @@ -67,9 +67,6 @@ role: exit 1; \ fi; \ echo ""; \ - if [ "$$PRESET" = "standart" ]; then \ - ./scripts/test-standart.sh; \ - else \ echo "🔧 Запуск ansible-controller контейнера..."; \ docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace \ -v /var/run/docker.sock:/var/run/docker.sock \ diff --git a/scripts/test-buildx-fixes.sh b/scripts/test-buildx-fixes.sh deleted file mode 100755 index c9829f7..0000000 --- a/scripts/test-buildx-fixes.sh +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# Тестирование исправлений buildx проблем -# Автор: Сергей Антропов -# Сайт: https://devops.org.ru - -set -euo pipefail - -echo "🧪 ТЕСТИРОВАНИЕ ИСПРАВЛЕНИЙ BUILDX" -echo "==================================" -echo "" - -# Цвета для вывода -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[0;33m' -BLUE='\033[0;34m' -RESET='\033[0m' - -# Функция для вывода результатов -test_result() { - local test_name="$1" - local result="$2" - local message="$3" - - if [ "$result" = "PASS" ]; then - echo -e "${GREEN}✅ $test_name: $message${RESET}" - else - echo -e "${RED}❌ $test_name: $message${RESET}" - fi -} - -echo "🔍 1. Проверка версий Docker и Buildx..." -if docker version >/dev/null 2>&1; then - test_result "Docker" "PASS" "Docker доступен" -else - test_result "Docker" "FAIL" "Docker недоступен" - exit 1 -fi - -if docker buildx version >/dev/null 2>&1; then - test_result "Buildx" "PASS" "Buildx доступен" -else - test_result "Buildx" "FAIL" "Buildx недоступен" - exit 1 -fi - -echo "" -echo "🔍 2. Тестирование docker-check-builder..." -if make docker-check-builder >/dev/null 2>&1; then - test_result "check-builder" "PASS" "Builder существует" -else - test_result "check-builder" "PASS" "Builder не найден (ожидаемо)" -fi - -echo "" -echo "🔍 3. Тестирование docker-diagnose-buildx..." -if make docker-diagnose-buildx >/dev/null 2>&1; then - test_result "diagnose" "PASS" "Диагностика работает" -else - test_result "diagnose" "FAIL" "Диагностика не работает" -fi - -echo "" -echo "🔍 4. Тестирование docker-create-builder..." -echo "📦 Создание тестового builder..." -if make docker-create-builder >/dev/null 2>&1; then - test_result "create-builder" "PASS" "Builder создан успешно" -else - test_result "create-builder" "FAIL" "Не удалось создать builder" -fi - -echo "" -echo "🔍 5. Проверка созданного builder..." -if make docker-check-builder >/dev/null 2>&1; then - test_result "verify-builder" "PASS" "Builder готов к работе" -else - test_result "verify-builder" "FAIL" "Builder не готов" -fi - -echo "" -echo "🔍 6. Тестирование docker-reset-builder..." -if make docker-reset-builder >/dev/null 2>&1; then - test_result "reset-builder" "PASS" "Builder сброшен успешно" -else - test_result "reset-builder" "FAIL" "Не удалось сбросить builder" -fi - -echo "" -echo "🔍 7. Проверка отсутствия buildx ls в коде..." -if grep -r "buildx ls" Makefile >/dev/null 2>&1; then - test_result "no-buildx-ls" "FAIL" "Найдены использования buildx ls" -else - test_result "no-buildx-ls" "PASS" "buildx ls не используется" -fi - -echo "" -echo "🔍 8. Проверка использования inspect..." -if grep -r "buildx inspect" Makefile >/dev/null 2>&1; then - test_result "uses-inspect" "PASS" "Используется buildx inspect" -else - test_result "uses-inspect" "FAIL" "buildx inspect не используется" -fi - -echo "" -echo "==================================" -echo "🎯 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ" -echo "==================================" -echo "" -echo "💡 Рекомендации:" -echo " - Используйте 'make docker diagnose' при проблемах" -echo " - Используйте 'make docker reset-builder' при зависаниях" -echo " - Избегайте 'docker buildx ls' в CI/CD" -echo " - Используйте 'make docker setup-builder' для настройки" -echo "" -echo "✅ Исправления buildx проблем готовы к использованию!" diff --git a/scripts/test-playbook.yml b/scripts/test-playbook.yml deleted file mode 100644 index d7f5576..0000000 --- a/scripts/test-playbook.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -# Простой тестовый playbook для проверки 3 контейнеров -# Автор: Сергей Антропов -# Сайт: https://devops.org.ru - -- name: Test containers connectivity - hosts: localhost - gather_facts: false - tasks: - - name: Check container u1 (Debian) - command: docker exec u1 echo "Hello from u1" - register: u1_result - changed_when: false - - - name: Check container u2 (RHEL) - command: docker exec u2 echo "Hello from u2" - register: u2_result - changed_when: false - - - name: Check container u3 (Debian) - command: docker exec u3 echo "Hello from u3" - register: u3_result - changed_when: false - - - name: Display results - debug: - msg: - - "u1 (Debian): {{ u1_result.stdout }}" - - "u2 (RHEL): {{ u2_result.stdout }}" - - "u3 (Debian): {{ u3_result.stdout }}" - - - name: Install nginx on u1 - command: docker exec u1 bash -c "apt-get update && apt-get install -y nginx" - register: nginx_u1 - changed_when: false - - - name: Install nginx on u2 - command: docker exec u2 bash -c "yum install -y nginx" - register: nginx_u2 - changed_when: false - - - name: Install nginx on u3 - command: docker exec u3 bash -c "apt-get update && apt-get install -y nginx" - register: nginx_u3 - changed_when: false - - - name: Display nginx installation results - debug: - msg: - - "Nginx installation on u1: {{ 'SUCCESS' if nginx_u1.rc == 0 else 'FAILED' }}" - - "Nginx installation on u2: {{ 'SUCCESS' if nginx_u2.rc == 0 else 'FAILED' }}" - - "Nginx installation on u3: {{ 'SUCCESS' if nginx_u3.rc == 0 else 'FAILED' }}" diff --git a/scripts/test-standart.sh b/scripts/test-standart.sh deleted file mode 100755 index 12fef7d..0000000 --- a/scripts/test-standart.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -# Скрипт для тестирования с preset standart -# Автор: Сергей Антропов -# Сайт: https://devops.org.ru - -set -e - -echo "🚀 Запуск тестирования с preset standart..." - -# Очищаем старые контейнеры -echo "🧹 Очистка старых контейнеров..." -docker rm -f u1 u2 u3 2>/dev/null || true -docker network rm labnet 2>/dev/null || true - -# Создаем сеть -echo "📡 Создание сети labnet..." -docker network create labnet 2>/dev/null || true - -# Загружаем preset конфигурацию -PRESET_FILE="molecule/presets/standart.yml" -if [ ! -f "$PRESET_FILE" ]; then - echo "❌ Ошибка: Пресет файл $PRESET_FILE не найден!" - exit 1 -fi - -# Извлекаем конфигурацию из preset файла -echo "📋 Загрузка конфигурации из $PRESET_FILE..." - -# Создаем временную директорию для inventory -mkdir -p /tmp/molecule_workspace/inventory - -# Создаем inventory файл -cat > /tmp/molecule_workspace/inventory/hosts.ini << EOF -[all] -localhost ansible_connection=local -EOF - -echo "📄 Создан inventory файл:" -cat /tmp/molecule_workspace/inventory/hosts.ini - -# Запускаем контейнеры -echo "🐳 Создание контейнеров..." - -# u1 - Debian -echo "Создание u1 (Debian)..." -docker run -d --name u1 \ - --network labnet \ - -p 2201:22 \ - ubuntu:20.04 \ - bash -c "apt-get update && apt-get install -y openssh-server && service ssh start && sleep infinity" - -# u2 - Debian (временно используем Ubuntu вместо CentOS) -echo "Создание u2 (Debian)..." -docker run -d --name u2 \ - --network labnet \ - -p 2202:22 \ - ubuntu:20.04 \ - bash -c "apt-get update && apt-get install -y openssh-server && service ssh start && sleep infinity" - -# u3 - Debian -echo "Создание u3 (Debian)..." -docker run -d --name u3 \ - --network labnet \ - -p 2203:22 \ - ubuntu:20.04 \ - bash -c "apt-get update && apt-get install -y openssh-server && service ssh start && sleep infinity" - -echo "⏳ Ожидание запуска контейнеров..." -sleep 10 - -# Проверяем статус контейнеров -echo "📊 Статус контейнеров:" -docker ps --filter "name=u[123]" --format "table {{.Names}}\t{{.Status}}\t{{.Image}}" - -# Запускаем тесты -echo "🧪 Запуск тестов..." -ansible-playbook -i /tmp/molecule_workspace/inventory/hosts.ini scripts/test-playbook.yml - -echo "🧹 Очистка контейнеров..." -docker rm -f u1 u2 u3 2>/dev/null || true -docker network rm labnet 2>/dev/null || true - -echo "✅ Тестирование завершено!" diff --git a/scripts/update-dockerfiles-sudo.sh b/scripts/update-dockerfiles-sudo.sh deleted file mode 100644 index b2d3cf1..0000000 --- a/scripts/update-dockerfiles-sudo.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -# Скрипт для добавления sudo во все Dockerfile -# Автор: Сергей Антропов -# Сайт: https://devops.org.ru - -set -euo pipefail - -echo "🔧 Добавление sudo во все Dockerfile..." - -# Список всех Dockerfile для обновления -DOCKERFILES=( - "dockerfiles/ubuntu/Dockerfile" - "dockerfiles/debian/Dockerfile" - "dockerfiles/alt-linux/Dockerfile" - "dockerfiles/centos/Dockerfile" - "dockerfiles/rhel/Dockerfile" - "dockerfiles/alma/Dockerfile" - "dockerfiles/rocky/Dockerfile" - "dockerfiles/redos/Dockerfile" -) - -for dockerfile in "${DOCKERFILES[@]}"; do - if [ -f "$dockerfile" ]; then - echo "📝 Обновление $dockerfile..." - - # Для Debian-based систем (Ubuntu, Debian, Alt Linux) - if [[ "$dockerfile" =~ (ubuntu|debian|alt-linux) ]]; then - # Добавляем sudo в список пакетов - sed -i '/python3-pip \\/a\\ sudo \\' "$dockerfile" - - # Добавляем настройку sudoers перед созданием пользователя - sed -i '/# Создаем пользователя для Ansible/i\\ -# Настраиваем sudoers для root и пользователей\\ -RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers \&\& \\\\ - echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test\\ -' "$dockerfile" - fi - - # Для RHEL-based систем (CentOS, RHEL, Alma, Rocky, RedOS) - if [[ "$dockerfile" =~ (centos|rhel|alma|rocky|redos) ]]; then - # Добавляем sudo в список пакетов - sed -i '/python3-pip \\/a\ sudo \\' "$dockerfile" - - # Добавляем настройку sudoers перед созданием пользователя - sed -i '/# Создаем пользователя для Ansible/i\ -# Настраиваем sudoers для root и пользователей\ -RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \\\ - echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test\ -' "$dockerfile" - fi - - echo "✅ $dockerfile обновлен" - else - echo "⚠️ Файл $dockerfile не найден" - fi -done - -echo "🎉 Все Dockerfile обновлены!"