Обновление конфигурации Ansible: добавлены новые пресеты, улучшен Makefile, добавлена документация

This commit is contained in:
Сергей Антропов
2025-10-25 10:11:17 +03:00
parent c99df83bad
commit 60ee5e90a5
21 changed files with 1193 additions and 147 deletions

83
scripts/test-standart.sh Executable file
View File

@@ -0,0 +1,83 @@
#!/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 "✅ Тестирование завершено!"