Compare commits
12 Commits
16ab3ed6c3
...
692fe8c6c0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
692fe8c6c0 | ||
|
|
a435778683 | ||
|
|
6101e03d96 | ||
|
|
4067194ed7 | ||
|
|
5e201fc06c | ||
|
|
c0a3a06675 | ||
|
|
e638f7cc94 | ||
|
|
098d8b672f | ||
|
|
d698f25aa7 | ||
|
|
9f6ec970a4 | ||
|
|
9c37bb4ea1 | ||
|
|
312b54fd92 |
78
Makefile
78
Makefile
@@ -31,14 +31,14 @@ CONTAINER_NAME ?= ansible-controller
|
|||||||
# Переменные для Docker Hub
|
# Переменные для Docker Hub
|
||||||
DOCKER_REGISTRY ?= inecs/ansible-lab
|
DOCKER_REGISTRY ?= inecs/ansible-lab
|
||||||
DOCKER_VERSION ?= latest
|
DOCKER_VERSION ?= latest
|
||||||
DOCKER_IMAGES := ansible-controller alt-linux astra-linux redos rhel centos alma rocky ubuntu debian
|
DOCKER_IMAGES := ansible-controller alt-linux astra-linux redos rhel centos7 centos8 centos9 alma rocky ubuntu20 ubuntu22 ubuntu24 debian9 debian10 debian11 debian12
|
||||||
|
|
||||||
# Multi-arch поддержка
|
# Multi-arch поддержка
|
||||||
DOCKER_PLATFORMS ?= linux/amd64,linux/arm64
|
DOCKER_PLATFORMS ?= linux/amd64,linux/arm64
|
||||||
DOCKER_BUILDX_BUILDER ?= multiarch-builder
|
DOCKER_BUILDX_BUILDER ?= multiarch-builder
|
||||||
|
|
||||||
# Базовые образы и их теги
|
# Базовые образы и их теги
|
||||||
BASE_IMAGES := altlinux/p9 astralinux/astra-1.7 redos/redos:9 registry.access.redhat.com/ubi8/ubi quay.io/centos/centos:stream9 almalinux:8 rockylinux:8
|
BASE_IMAGES := altlinux/p9 astralinux/astra-1.7 redos/redos:9 registry.access.redhat.com/ubi8/ubi centos:7 quay.io/centos/centos:8 quay.io/centos/centos:stream9 almalinux:8 rockylinux:8 ubuntu:20.04 ubuntu:22.04 ubuntu:24.04 debian:9 debian:10 debian:11 debian:bookworm
|
||||||
|
|
||||||
.PHONY: role vault git docker presets controller help update-playbooks generate-docs setup-cicd list create delete
|
.PHONY: role vault git docker presets controller help update-playbooks generate-docs setup-cicd list create delete
|
||||||
|
|
||||||
@@ -460,6 +460,7 @@ docker:
|
|||||||
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
echo "📋 Version: $(DOCKER_VERSION)"; \
|
echo "📋 Version: $(DOCKER_VERSION)"; \
|
||||||
echo "📋 Images: $(DOCKER_IMAGES)"; \
|
echo "📋 Images: $(DOCKER_IMAGES)"; \
|
||||||
|
echo "⚠️ ВНИМАНИЕ: RED OS и Astra Linux собираются только для AMD64"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
$(MAKE) docker setup-builder; \
|
$(MAKE) docker setup-builder; \
|
||||||
for image in $(DOCKER_IMAGES); do \
|
for image in $(DOCKER_IMAGES); do \
|
||||||
@@ -474,6 +475,7 @@ docker:
|
|||||||
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
echo "📋 Version: $(DOCKER_VERSION)"; \
|
echo "📋 Version: $(DOCKER_VERSION)"; \
|
||||||
echo "📋 Images: $(DOCKER_IMAGES)"; \
|
echo "📋 Images: $(DOCKER_IMAGES)"; \
|
||||||
|
echo "⚠️ ВНИМАНИЕ: RED OS и Astra Linux собираются только для AMD64"; \
|
||||||
echo "🧹 Очистка кеша и старых образов..."; \
|
echo "🧹 Очистка кеша и старых образов..."; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
$(MAKE) docker clean; \
|
$(MAKE) docker clean; \
|
||||||
@@ -599,6 +601,7 @@ docker:
|
|||||||
echo " 💡 Собирает: ansible-controller, alt-linux, astra-linux, redos"; \
|
echo " 💡 Собирает: ansible-controller, alt-linux, astra-linux, redos"; \
|
||||||
echo " 💡 Собирает: rhel, centos, alma, rocky, ubuntu, debian"; \
|
echo " 💡 Собирает: rhel, centos, alma, rocky, ubuntu, debian"; \
|
||||||
echo " 💡 Платформы: $(DOCKER_PLATFORMS)"; \
|
echo " 💡 Платформы: $(DOCKER_PLATFORMS)"; \
|
||||||
|
echo " 💡 Ограничения: RED OS и Astra Linux только AMD64"; \
|
||||||
echo " 💡 Тегирует: inecs/образ:<tag> (автоматически извлекает теги)"; \
|
echo " 💡 Тегирует: inecs/образ:<tag> (автоматически извлекает теги)"; \
|
||||||
echo " 💡 Отправляет: автоматически в Docker Hub"; \
|
echo " 💡 Отправляет: автоматически в Docker Hub"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
@@ -659,6 +662,7 @@ docker:
|
|||||||
echo " 💡 Собирает: ansible-controller, alt-linux, astra-linux, redos"; \
|
echo " 💡 Собирает: ansible-controller, alt-linux, astra-linux, redos"; \
|
||||||
echo " 💡 Собирает: rhel, centos, alma, rocky, ubuntu, debian"; \
|
echo " 💡 Собирает: rhel, centos, alma, rocky, ubuntu, debian"; \
|
||||||
echo " 💡 Платформы: $(DOCKER_PLATFORMS)"; \
|
echo " 💡 Платформы: $(DOCKER_PLATFORMS)"; \
|
||||||
|
echo " 💡 Ограничения: RED OS и Astra Linux только AMD64"; \
|
||||||
echo " 💡 Тегирует: inecs/образ:<tag> (автоматически извлекает теги)"; \
|
echo " 💡 Тегирует: inecs/образ:<tag> (автоматически извлекает теги)"; \
|
||||||
echo " 💡 Отправляет: автоматически в Docker Hub"; \
|
echo " 💡 Отправляет: автоматически в Docker Hub"; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
@@ -838,7 +842,17 @@ docker-get-base-tag:
|
|||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
centos) \
|
centos7) \
|
||||||
|
BASE_IMAGE="centos:7"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
centos8) \
|
||||||
|
BASE_IMAGE="quay.io/centos/centos:8"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
centos9) \
|
||||||
BASE_IMAGE="quay.io/centos/centos:stream9"; \
|
BASE_IMAGE="quay.io/centos/centos:stream9"; \
|
||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
@@ -853,12 +867,37 @@ docker-get-base-tag:
|
|||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
ubuntu) \
|
ubuntu20) \
|
||||||
|
BASE_IMAGE="ubuntu:20.04"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
ubuntu22) \
|
||||||
BASE_IMAGE="ubuntu:22.04"; \
|
BASE_IMAGE="ubuntu:22.04"; \
|
||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
debian) \
|
ubuntu24) \
|
||||||
|
BASE_IMAGE="ubuntu:24.04"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
debian9) \
|
||||||
|
BASE_IMAGE="debian:9"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
debian10) \
|
||||||
|
BASE_IMAGE="debian:10"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
debian11) \
|
||||||
|
BASE_IMAGE="debian:11"; \
|
||||||
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
|
TAG=$$(docker inspect --format='{{.RepoTags}}' $$BASE_IMAGE 2>/dev/null | tr -d '[]' | cut -d',' -f1 | cut -d':' -f2 | tr -d ' ' || echo "latest");; \
|
||||||
|
debian12) \
|
||||||
BASE_IMAGE="debian:bookworm"; \
|
BASE_IMAGE="debian:bookworm"; \
|
||||||
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
echo "📦 Загрузка базового образа $$BASE_IMAGE..." >&2; \
|
||||||
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
docker pull $$BASE_IMAGE >/dev/null 2>&1 || echo "⚠️ Не удалось загрузить $$BASE_IMAGE" >&2; \
|
||||||
@@ -878,17 +917,30 @@ docker-build-image:
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi; \
|
fi; \
|
||||||
TAG=$$($(MAKE) docker-get-base-tag IMAGE=$(IMAGE)); \
|
TAG=$$($(MAKE) docker-get-base-tag IMAGE=$(IMAGE)); \
|
||||||
echo ""; \
|
if [ "$(IMAGE)" = "redos" ] || [ "$(IMAGE)" = "astra-linux" ]; then \
|
||||||
echo "=========================================="; \
|
PLATFORMS="linux/amd64"; \
|
||||||
echo "🔨 СБОРКА ОБРАЗА: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG"; \
|
echo ""; \
|
||||||
echo "📋 Платформы: $(DOCKER_PLATFORMS)"; \
|
echo "=========================================="; \
|
||||||
echo "📋 Тег: $$TAG"; \
|
echo "🔨 СБОРКА ОБРАЗА: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG"; \
|
||||||
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
echo "📋 Платформы: $$PLATFORMS (только AMD64)"; \
|
||||||
echo "=========================================="; \
|
echo "📋 Тег: $$TAG"; \
|
||||||
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
|
echo "⚠️ ВНИМАНИЕ: Базовый образ поддерживает только AMD64"; \
|
||||||
|
echo "=========================================="; \
|
||||||
|
else \
|
||||||
|
PLATFORMS="$(DOCKER_PLATFORMS)"; \
|
||||||
|
echo ""; \
|
||||||
|
echo "=========================================="; \
|
||||||
|
echo "🔨 СБОРКА ОБРАЗА: $(DOCKER_REGISTRY):$(IMAGE)-$$TAG"; \
|
||||||
|
echo "📋 Платформы: $$PLATFORMS"; \
|
||||||
|
echo "📋 Тег: $$TAG"; \
|
||||||
|
echo "📋 Registry: $(DOCKER_REGISTRY)"; \
|
||||||
|
echo "=========================================="; \
|
||||||
|
fi; \
|
||||||
echo ""; \
|
echo ""; \
|
||||||
cd dockerfiles/$(IMAGE) && \
|
cd dockerfiles/$(IMAGE) && \
|
||||||
docker buildx build \
|
docker buildx build \
|
||||||
--platform $(DOCKER_PLATFORMS) \
|
--platform $$PLATFORMS \
|
||||||
--tag $(DOCKER_REGISTRY):$(IMAGE)-$$TAG \
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-$$TAG \
|
||||||
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
--tag $(DOCKER_REGISTRY):$(IMAGE)-latest \
|
||||||
--push \
|
--push \
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
# Автор: Сергей Антропов
|
# Автор: Сергей Антропов
|
||||||
# Сайт: https://devops.org.ru
|
# Сайт: https://devops.org.ru
|
||||||
# https://registry.astralinux.ru/browse/library/
|
# https://registry.astralinux.ru/browse/library/
|
||||||
|
# ВАЖНО: Базовый образ поддерживает только linux/amd64
|
||||||
|
# Для сборки используйте: docker buildx build --platform linux/amd64
|
||||||
|
|
||||||
FROM registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2
|
FROM registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2
|
||||||
|
|
||||||
|
|||||||
50
dockerfiles/centos7/Dockerfile
Normal file
50
dockerfiles/centos7/Dockerfile
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# CentOS 7 с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM centos:7
|
||||||
|
|
||||||
|
# Настраиваем vault репозитории для CentOS 7 (так как основные репозитории больше не поддерживаются)
|
||||||
|
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo && \
|
||||||
|
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN yum update -y && yum upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN yum install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
# Устанавливаем yq
|
||||||
|
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
|
||||||
|
# && chmod +x /usr/local/bin/yq
|
||||||
|
|
||||||
|
# Устанавливаем Docker
|
||||||
|
# RUN curl -fsSL https://get.docker.com | sh
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
50
dockerfiles/centos8/Dockerfile
Normal file
50
dockerfiles/centos8/Dockerfile
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# CentOS 8 с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM quay.io/centos/centos:8
|
||||||
|
|
||||||
|
# Настраиваем vault репозитории для CentOS 8 (так как основные репозитории больше не поддерживаются)
|
||||||
|
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo && \
|
||||||
|
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN dnf update -y && dnf upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN dnf install -y --allowerasing \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& dnf clean all
|
||||||
|
|
||||||
|
# Устанавливаем yq
|
||||||
|
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
|
||||||
|
# && chmod +x /usr/local/bin/yq
|
||||||
|
|
||||||
|
# Устанавливаем Docker
|
||||||
|
# RUN curl -fsSL https://get.docker.com | sh
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
62
dockerfiles/debian10/Dockerfile
Normal file
62
dockerfiles/debian10/Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Debian 10 Buster с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM debian:10
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
# Настраиваем archive репозитории для Debian 10 (так как основные репозитории больше не поддерживаются)
|
||||||
|
RUN sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
|
||||||
|
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
|
||||||
|
echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list && \
|
||||||
|
echo "deb http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN apt-get install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker вручную для Debian
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# ca-certificates \
|
||||||
|
# curl \
|
||||||
|
# gnupg \
|
||||||
|
# lsb-release \
|
||||||
|
# && mkdir -p /usr/share/keyrings \
|
||||||
|
# && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||||||
|
# && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
# && apt-get update \
|
||||||
|
# && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||||||
|
# && apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
56
dockerfiles/debian11/Dockerfile
Normal file
56
dockerfiles/debian11/Dockerfile
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Debian 11 Bullseye с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM debian:11
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN apt-get install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker вручную для Debian
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# ca-certificates \
|
||||||
|
# curl \
|
||||||
|
# gnupg \
|
||||||
|
# lsb-release \
|
||||||
|
# && mkdir -p /usr/share/keyrings \
|
||||||
|
# && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||||||
|
# && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
# && apt-get update \
|
||||||
|
# && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||||||
|
# && apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
@@ -1,9 +1,13 @@
|
|||||||
# Debian Bookworm с systemd
|
# Debian 12 Bookworm с systemd
|
||||||
# Автор: Сергей Антропов
|
# Автор: Сергей Антропов
|
||||||
# Сайт: https://devops.org.ru
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
FROM debian:bookworm
|
FROM debian:bookworm
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
# Обновляем систему
|
# Обновляем систему
|
||||||
RUN apt-get update && apt-get dist-upgrade -y
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
62
dockerfiles/debian9/Dockerfile
Normal file
62
dockerfiles/debian9/Dockerfile
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
# Debian 9 Stretch с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM debian:9
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
# Настраиваем archive репозитории для Debian 9 (так как основные репозитории больше не поддерживаются)
|
||||||
|
RUN sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
|
||||||
|
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
|
||||||
|
echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list && \
|
||||||
|
echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN apt-get install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker вручную для Debian
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# ca-certificates \
|
||||||
|
# curl \
|
||||||
|
# gnupg \
|
||||||
|
# lsb-release \
|
||||||
|
# && mkdir -p /usr/share/keyrings \
|
||||||
|
# && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||||||
|
# && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
# && apt-get update \
|
||||||
|
# && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||||||
|
# && apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
# Сайт: https://devops.org.ru
|
# Сайт: https://devops.org.ru
|
||||||
# https://registry.red-soft.ru/ubi7/ubi/tags
|
# https://registry.red-soft.ru/ubi7/ubi/tags
|
||||||
# docker search registry.red-soft.ru/ubi7/ubi
|
# docker search registry.red-soft.ru/ubi7/ubi
|
||||||
|
# ВАЖНО: Базовый образ поддерживает только linux/amd64
|
||||||
|
# Для сборки используйте: docker buildx build --platform linux/amd64
|
||||||
|
|
||||||
FROM registry.red-soft.ru/ubi7/ubi
|
FROM registry.red-soft.ru/ubi7/ubi
|
||||||
|
|
||||||
|
|||||||
56
dockerfiles/ubuntu20/Dockerfile
Normal file
56
dockerfiles/ubuntu20/Dockerfile
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Ubuntu 20.04 с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN apt-get install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker вручную для Ubuntu
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# ca-certificates \
|
||||||
|
# curl \
|
||||||
|
# gnupg \
|
||||||
|
# lsb-release \
|
||||||
|
# && mkdir -p /usr/share/keyrings \
|
||||||
|
# && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||||||
|
# && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
# && apt-get update \
|
||||||
|
# && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||||||
|
# && apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
@@ -4,6 +4,10 @@
|
|||||||
|
|
||||||
FROM ubuntu:22.04
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
# Обновляем систему
|
# Обновляем систему
|
||||||
RUN apt-get update && apt-get dist-upgrade -y
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
56
dockerfiles/ubuntu24/Dockerfile
Normal file
56
dockerfiles/ubuntu24/Dockerfile
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Ubuntu 24.04 с systemd
|
||||||
|
# Автор: Сергей Антропов
|
||||||
|
# Сайт: https://devops.org.ru
|
||||||
|
|
||||||
|
FROM ubuntu:24.04
|
||||||
|
|
||||||
|
# Устанавливаем переменные окружения для автоматического ответа на запросы
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV TZ=UTC
|
||||||
|
|
||||||
|
# Обновляем систему
|
||||||
|
RUN apt-get update && apt-get dist-upgrade -y
|
||||||
|
|
||||||
|
# Устанавливаем systemd и необходимые пакеты
|
||||||
|
RUN apt-get install -y \
|
||||||
|
systemd \
|
||||||
|
systemd-sysv \
|
||||||
|
dbus \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
python3 \
|
||||||
|
python3-pip \
|
||||||
|
sudo \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker вручную для Ubuntu
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# ca-certificates \
|
||||||
|
# curl \
|
||||||
|
# gnupg \
|
||||||
|
# lsb-release \
|
||||||
|
# && mkdir -p /usr/share/keyrings \
|
||||||
|
# && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||||||
|
# && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||||||
|
# && apt-get update \
|
||||||
|
# && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||||||
|
# && apt-get clean
|
||||||
|
|
||||||
|
# Устанавливаем Docker Compose
|
||||||
|
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||||
|
# && chmod +x /usr/local/bin/docker-compose
|
||||||
|
|
||||||
|
# Настраиваем systemd
|
||||||
|
RUN systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
# Настраиваем sudoers для root и пользователей
|
||||||
|
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||||
|
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||||
|
|
||||||
|
# Создаем пользователя для Ansible
|
||||||
|
RUN useradd -m -s /bin/bash ansible \
|
||||||
|
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||||
|
|
||||||
|
# Команда по умолчанию (система запускается от root для systemd)
|
||||||
|
CMD ["/sbin/init"]
|
||||||
@@ -2,18 +2,25 @@
|
|||||||
|
|
||||||
## Описание
|
## Описание
|
||||||
|
|
||||||
Пресет `all-images` предназначен для комплексного тестирования Ansible ролей на всех доступных операционных системах проекта. Это самый полный пресет, который включает все 9 образов:
|
Пресет `all-images` предназначен для комплексного тестирования Ansible ролей на всех доступных операционных системах проекта. Это самый полный пресет, который включает все 16 образов:
|
||||||
|
|
||||||
### Включенные образы
|
### Включенные образы
|
||||||
|
|
||||||
#### Debian-based системы:
|
#### Debian-based системы:
|
||||||
- **Ubuntu** (ubuntu-test) - порт 8080
|
- **Ubuntu 20.04** (ubuntu20-test) - порт 8080
|
||||||
- **Debian** (debian-test) - порт 8081
|
- **Ubuntu 22.04** (ubuntu22-test) - порт 8081
|
||||||
- **Alt Linux** (alt-test) - порт 8082
|
- **Ubuntu 24.04** (ubuntu24-test) - порт 8082
|
||||||
- **Astra Linux** (astra-test) - порт 8083
|
- **Debian 9** (debian9-test) - порт 8083
|
||||||
|
- **Debian 10** (debian10-test) - порт 8084
|
||||||
|
- **Debian 11** (debian11-test) - порт 8085
|
||||||
|
- **Debian 12** (debian12-test) - порт 8086
|
||||||
|
- **Alt Linux** (alt-test) - порт 8087
|
||||||
|
- **Astra Linux** (astra-test) - порт 8088
|
||||||
|
|
||||||
#### RHEL-based системы:
|
#### RHEL-based системы:
|
||||||
- **CentOS** (centos-test) - порт 8084
|
- **CentOS 7** (centos7-test) - порт 8090
|
||||||
|
- **CentOS 8** (centos8-test) - порт 8091
|
||||||
|
- **CentOS 9** (centos9-test) - порт 8092
|
||||||
- **RHEL** (rhel-test) - порт 8085
|
- **RHEL** (rhel-test) - порт 8085
|
||||||
- **AlmaLinux** (alma-test) - порт 8086
|
- **AlmaLinux** (alma-test) - порт 8086
|
||||||
- **Rocky Linux** (rocky-test) - порт 8087
|
- **Rocky Linux** (rocky-test) - порт 8087
|
||||||
@@ -35,20 +42,27 @@ make role test all-images
|
|||||||
make docker build
|
make docker build
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Достаточно ресурсов** - тест запускает 9 контейнеров одновременно, требуется:
|
2. **Достаточно ресурсов** - тест запускает 16 контейнеров одновременно, требуется:
|
||||||
- Минимум 8GB RAM
|
- Минимум 16GB RAM
|
||||||
- Минимум 4 CPU cores
|
- Минимум 8 CPU cores
|
||||||
- Достаточно места на диске
|
- Достаточно места на диске
|
||||||
|
|
||||||
### Особенности
|
### Особенности
|
||||||
|
|
||||||
#### Порты
|
#### Порты
|
||||||
Каждый контейнер использует уникальный порт для доступа:
|
Каждый контейнер использует уникальный порт для доступа:
|
||||||
- Ubuntu: `localhost:8080`
|
- Ubuntu 20.04: `localhost:8080`
|
||||||
- Debian: `localhost:8081`
|
- Ubuntu 22.04: `localhost:8081`
|
||||||
- Alt Linux: `localhost:8082`
|
- Ubuntu 24.04: `localhost:8082`
|
||||||
- Astra Linux: `localhost:8083`
|
- Debian 9: `localhost:8083`
|
||||||
- CentOS: `localhost:8084`
|
- Debian 10: `localhost:8084`
|
||||||
|
- Debian 11: `localhost:8085`
|
||||||
|
- Debian 12: `localhost:8086`
|
||||||
|
- Alt Linux: `localhost:8087`
|
||||||
|
- Astra Linux: `localhost:8088`
|
||||||
|
- CentOS 7: `localhost:8090`
|
||||||
|
- CentOS 8: `localhost:8091`
|
||||||
|
- CentOS 9: `localhost:8092`
|
||||||
- RHEL: `localhost:8085`
|
- RHEL: `localhost:8085`
|
||||||
- AlmaLinux: `localhost:8086`
|
- AlmaLinux: `localhost:8086`
|
||||||
- Rocky Linux: `localhost:8087`
|
- Rocky Linux: `localhost:8087`
|
||||||
@@ -72,9 +86,9 @@ make role test all-images
|
|||||||
- **Очистка**: ~30 секунд
|
- **Очистка**: ~30 секунд
|
||||||
|
|
||||||
### Ресурсы
|
### Ресурсы
|
||||||
- **RAM**: 8-16GB (рекомендуется)
|
- **RAM**: 16-32GB (рекомендуется)
|
||||||
- **CPU**: 4-8 cores
|
- **CPU**: 8-16 cores
|
||||||
- **Диск**: 10-20GB свободного места
|
- **Диск**: 20-40GB свободного места
|
||||||
|
|
||||||
## Отладка
|
## Отладка
|
||||||
|
|
||||||
|
|||||||
@@ -118,10 +118,10 @@ hosts:
|
|||||||
### Универсальные хосты
|
### Универсальные хосты
|
||||||
|
|
||||||
Следующие системы работают на всех платформах:
|
Следующие системы работают на всех платформах:
|
||||||
- Ubuntu
|
- Ubuntu 20.04, 22.04, 24.04
|
||||||
- Debian
|
- Debian 9, 10, 11, 12
|
||||||
- Alt Linux
|
- Alt Linux
|
||||||
- CentOS
|
- CentOS 7, 8, 9
|
||||||
- RHEL
|
- RHEL
|
||||||
- AlmaLinux
|
- AlmaLinux
|
||||||
- Rocky Linux
|
- Rocky Linux
|
||||||
|
|||||||
@@ -12,12 +12,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,22 +36,67 @@ systemd_defaults:
|
|||||||
|
|
||||||
hosts:
|
hosts:
|
||||||
# Debian-based системы
|
# Debian-based системы
|
||||||
- name: ubuntu-test
|
- name: ubuntu20-test
|
||||||
family: ubuntu
|
family: ubuntu2220
|
||||||
groups: [test, debian]
|
groups: [test, debian, ubuntu]
|
||||||
publish:
|
publish:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
env:
|
env:
|
||||||
TEST_OS: "Ubuntu"
|
TEST_OS: "Ubuntu 20.04"
|
||||||
TEST_FAMILY: "Debian"
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
- name: debian-test
|
- name: ubuntu22-test
|
||||||
family: debian
|
family: ubuntu2222
|
||||||
groups: [test, debian]
|
groups: [test, debian, ubuntu]
|
||||||
publish:
|
publish:
|
||||||
- "8081:80"
|
- "8081:80"
|
||||||
env:
|
env:
|
||||||
TEST_OS: "Debian"
|
TEST_OS: "Ubuntu 22.04"
|
||||||
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
|
- name: ubuntu24-test
|
||||||
|
family: ubuntu2224
|
||||||
|
groups: [test, debian, ubuntu]
|
||||||
|
publish:
|
||||||
|
- "8082:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "Ubuntu 24.04"
|
||||||
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
|
- name: debian9-test
|
||||||
|
family: debian129
|
||||||
|
groups: [test, debian]
|
||||||
|
publish:
|
||||||
|
- "8083:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "Debian 9"
|
||||||
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
|
- name: debian10-test
|
||||||
|
family: debian1210
|
||||||
|
groups: [test, debian]
|
||||||
|
publish:
|
||||||
|
- "8084:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "Debian 10"
|
||||||
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
|
- name: debian11-test
|
||||||
|
family: debian1211
|
||||||
|
groups: [test, debian]
|
||||||
|
publish:
|
||||||
|
- "8085:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "Debian 11"
|
||||||
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
|
- name: debian12-test
|
||||||
|
family: debian1212
|
||||||
|
groups: [test, debian]
|
||||||
|
publish:
|
||||||
|
- "8086:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "Debian 12"
|
||||||
TEST_FAMILY: "Debian"
|
TEST_FAMILY: "Debian"
|
||||||
|
|
||||||
- name: alt-test
|
- name: alt-test
|
||||||
@@ -67,13 +119,31 @@ hosts:
|
|||||||
TEST_FAMILY: "Astra Linux"
|
TEST_FAMILY: "Astra Linux"
|
||||||
|
|
||||||
# RHEL-based системы
|
# RHEL-based системы
|
||||||
- name: centos-test
|
- name: centos7-test
|
||||||
family: centos
|
family: centos97
|
||||||
groups: [test, rhel]
|
groups: [test, rhel, centos]
|
||||||
publish:
|
publish:
|
||||||
- "8084:80"
|
- "8090:80"
|
||||||
env:
|
env:
|
||||||
TEST_OS: "CentOS"
|
TEST_OS: "CentOS 7"
|
||||||
|
TEST_FAMILY: "RedHat"
|
||||||
|
|
||||||
|
- name: centos8-test
|
||||||
|
family: centos98
|
||||||
|
groups: [test, rhel, centos]
|
||||||
|
publish:
|
||||||
|
- "8091:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "CentOS 8"
|
||||||
|
TEST_FAMILY: "RedHat"
|
||||||
|
|
||||||
|
- name: centos9-test
|
||||||
|
family: centos99
|
||||||
|
groups: [test, rhel, centos]
|
||||||
|
publish:
|
||||||
|
- "8092:80"
|
||||||
|
env:
|
||||||
|
TEST_OS: "CentOS 9"
|
||||||
TEST_FAMILY: "RedHat"
|
TEST_FAMILY: "RedHat"
|
||||||
|
|
||||||
- name: rhel-test
|
- name: rhel-test
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,8 +36,8 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Стандартный набор - 2 хоста для базового тестирования (стабильные ОС)
|
# Стандартный набор - 2 хоста для базового тестирования (стабильные ОС)
|
||||||
- name: u1
|
- name: u1
|
||||||
family: ubuntu
|
family: ubuntu2222
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
- name: u2
|
- name: u2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,10 +36,10 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Базовые хосты (стабильные ОС)
|
# Базовые хосты (стабильные ОС)
|
||||||
- name: u1
|
- name: u1
|
||||||
family: ubuntu
|
family: ubuntu2222
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
- name: u2
|
- name: u2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
|
|
||||||
# DinD узел (Docker-in-Docker)
|
# DinD узел (Docker-in-Docker)
|
||||||
@@ -44,7 +51,7 @@ hosts:
|
|||||||
# DOoD узел (Docker-out-of-Docker)
|
# DOoD узел (Docker-out-of-Docker)
|
||||||
- name: dood1
|
- name: dood1
|
||||||
type: dood
|
type: dood
|
||||||
family: ubuntu
|
family: ubuntu2222
|
||||||
groups: [dood]
|
groups: [dood]
|
||||||
publish: ["8081:8081"]
|
publish: ["8081:8081"]
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,7 +36,7 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Тестовые хосты
|
# Тестовые хосты
|
||||||
- name: test1
|
- name: test1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test]
|
groups: [test]
|
||||||
- name: test2
|
- name: test2
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -44,7 +51,7 @@ hosts:
|
|||||||
# DOoD узел (Docker-out-of-Docker)
|
# DOoD узел (Docker-out-of-Docker)
|
||||||
- name: dood1
|
- name: dood1
|
||||||
type: dood
|
type: dood
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [dood]
|
groups: [dood]
|
||||||
publish: ["8081:8081"]
|
publish: ["8081:8081"]
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -30,19 +37,19 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# ETCD кластер (5 узлов для высокой доступности)
|
# ETCD кластер (5 узлов для высокой доступности)
|
||||||
- name: etcd1
|
- name: etcd1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [etcd, cluster]
|
groups: [etcd, cluster]
|
||||||
- name: etcd2
|
- name: etcd2
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [etcd, cluster]
|
groups: [etcd, cluster]
|
||||||
- name: etcd3
|
- name: etcd3
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [etcd, cluster]
|
groups: [etcd, cluster]
|
||||||
- name: etcd4
|
- name: etcd4
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [etcd, cluster]
|
groups: [etcd, cluster]
|
||||||
- name: etcd5
|
- name: etcd5
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [etcd, cluster]
|
groups: [etcd, cluster]
|
||||||
|
|
||||||
# Patroni кластер (3 узла PostgreSQL)
|
# Patroni кластер (3 узла PostgreSQL)
|
||||||
@@ -50,7 +57,7 @@ hosts:
|
|||||||
family: rhel
|
family: rhel
|
||||||
groups: [patroni, database, cluster]
|
groups: [patroni, database, cluster]
|
||||||
- name: patroni2
|
- name: patroni2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [patroni, database, cluster]
|
groups: [patroni, database, cluster]
|
||||||
- name: patroni3
|
- name: patroni3
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -58,7 +65,7 @@ hosts:
|
|||||||
|
|
||||||
# HAProxy для балансировки
|
# HAProxy для балансировки
|
||||||
- name: haproxy
|
- name: haproxy
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [haproxy, loadbalancer]
|
groups: [haproxy, loadbalancer]
|
||||||
publish: ["5000:5000", "5001:5001"] # RW и RO порты
|
publish: ["5000:5000", "5001:5001"] # RW и RO порты
|
||||||
|
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -30,16 +37,16 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Debian серверы
|
# Debian серверы
|
||||||
- name: debian1
|
- name: debian1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [debian, servers, web]
|
groups: [debian, servers, web]
|
||||||
- name: debian2
|
- name: debian2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [debian, servers, web]
|
groups: [debian, servers, web]
|
||||||
- name: debian3
|
- name: debian3
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [debian, servers, app]
|
groups: [debian, servers, app]
|
||||||
- name: debian4
|
- name: debian4
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [debian, servers, app]
|
groups: [debian, servers, app]
|
||||||
|
|
||||||
# RHEL серверы
|
# RHEL серверы
|
||||||
@@ -58,7 +65,7 @@ hosts:
|
|||||||
|
|
||||||
# База данных на разных ОС
|
# База данных на разных ОС
|
||||||
- name: db-debian
|
- name: db-debian
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [database, debian, db]
|
groups: [database, debian, db]
|
||||||
- name: db-rhel
|
- name: db-rhel
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -66,7 +73,7 @@ hosts:
|
|||||||
|
|
||||||
# Load balancer
|
# Load balancer
|
||||||
- name: lb-mixed
|
- name: lb-mixed
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [loadbalancer, haproxy]
|
groups: [loadbalancer, haproxy]
|
||||||
publish: ["80:80", "443:443"]
|
publish: ["80:80", "443:443"]
|
||||||
|
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -30,19 +37,19 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Основные серверы (5 узлов)
|
# Основные серверы (5 узлов)
|
||||||
- name: server1
|
- name: server1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [servers, web, app]
|
groups: [servers, web, app]
|
||||||
- name: server2
|
- name: server2
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [servers, web, app]
|
groups: [servers, web, app]
|
||||||
- name: server3
|
- name: server3
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [servers, web, app]
|
groups: [servers, web, app]
|
||||||
- name: server4
|
- name: server4
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [servers, web, app]
|
groups: [servers, web, app]
|
||||||
- name: server5
|
- name: server5
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [servers, web, app]
|
groups: [servers, web, app]
|
||||||
|
|
||||||
# База данных (3 узла)
|
# База данных (3 узла)
|
||||||
@@ -50,7 +57,7 @@ hosts:
|
|||||||
family: rhel
|
family: rhel
|
||||||
groups: [database, db]
|
groups: [database, db]
|
||||||
- name: db2
|
- name: db2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [database, db]
|
groups: [database, db]
|
||||||
- name: db3
|
- name: db3
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -58,13 +65,13 @@ hosts:
|
|||||||
|
|
||||||
# Кэш (3 узла Redis)
|
# Кэш (3 узла Redis)
|
||||||
- name: cache1
|
- name: cache1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [cache, redis]
|
groups: [cache, redis]
|
||||||
- name: cache2
|
- name: cache2
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [cache, redis]
|
groups: [cache, redis]
|
||||||
- name: cache3
|
- name: cache3
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [cache, redis]
|
groups: [cache, redis]
|
||||||
|
|
||||||
# Load balancer
|
# Load balancer
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -34,7 +41,7 @@ hosts:
|
|||||||
groups: [bastion, security, jump]
|
groups: [bastion, security, jump]
|
||||||
publish: ["2222:22"]
|
publish: ["2222:22"]
|
||||||
- name: bastion2
|
- name: bastion2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [bastion, security, jump]
|
groups: [bastion, security, jump]
|
||||||
publish: ["2223:22"]
|
publish: ["2223:22"]
|
||||||
|
|
||||||
@@ -43,7 +50,7 @@ hosts:
|
|||||||
family: rhel
|
family: rhel
|
||||||
groups: [internal, servers, app]
|
groups: [internal, servers, app]
|
||||||
- name: internal2
|
- name: internal2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [internal, servers, app]
|
groups: [internal, servers, app]
|
||||||
- name: internal3
|
- name: internal3
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -54,12 +61,12 @@ hosts:
|
|||||||
family: rhel
|
family: rhel
|
||||||
groups: [database, secure, internal]
|
groups: [database, secure, internal]
|
||||||
- name: db-secure2
|
- name: db-secure2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [database, secure, internal]
|
groups: [database, secure, internal]
|
||||||
|
|
||||||
# Мониторинг и логирование
|
# Мониторинг и логирование
|
||||||
- name: monitor1
|
- name: monitor1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [monitoring, security, logs]
|
groups: [monitoring, security, logs]
|
||||||
- name: monitor2
|
- name: monitor2
|
||||||
family: rhel
|
family: rhel
|
||||||
@@ -70,13 +77,13 @@ hosts:
|
|||||||
family: rhel
|
family: rhel
|
||||||
groups: [firewall, network, security]
|
groups: [firewall, network, security]
|
||||||
- name: fw2
|
- name: fw2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [firewall, network, security]
|
groups: [firewall, network, security]
|
||||||
|
|
||||||
# DOoD узел для тестирования Docker безопасности
|
# DOoD узел для тестирования Docker безопасности
|
||||||
- name: docker-secure
|
- name: docker-secure
|
||||||
type: dood
|
type: dood
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [docker, security, apps]
|
groups: [docker, security, apps]
|
||||||
publish: ["8080:8080"]
|
publish: ["8080:8080"]
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,8 +36,8 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Стабильные ОС для надежного тестирования
|
# Стабильные ОС для надежного тестирования
|
||||||
- name: u1
|
- name: u1
|
||||||
family: ubuntu
|
family: ubuntu2222
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
- name: u2
|
- name: u2
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test, web]
|
groups: [test, web]
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,11 +36,11 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Стандартный набор - 3 хоста
|
# Стандартный набор - 3 хоста
|
||||||
- name: u1
|
- name: u1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test]
|
groups: [test]
|
||||||
- name: u2
|
- name: u2
|
||||||
family: rhel
|
family: rhel
|
||||||
groups: [test]
|
groups: [test]
|
||||||
- name: u3
|
- name: u3
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test]
|
groups: [test]
|
||||||
|
|||||||
@@ -11,12 +11,19 @@ images:
|
|||||||
alt: "inecs/ansible-lab:alt-linux-latest"
|
alt: "inecs/ansible-lab:alt-linux-latest"
|
||||||
astra: "inecs/ansible-lab:astra-linux-latest"
|
astra: "inecs/ansible-lab:astra-linux-latest"
|
||||||
rhel: "inecs/ansible-lab:rhel-latest"
|
rhel: "inecs/ansible-lab:rhel-latest"
|
||||||
centos: "inecs/ansible-lab:centos-latest"
|
centos7: "inecs/ansible-lab:centos7-latest"
|
||||||
|
centos8: "inecs/ansible-lab:centos8-latest"
|
||||||
|
centos9: "inecs/ansible-lab:centos9-latest"
|
||||||
alma: "inecs/ansible-lab:alma-latest"
|
alma: "inecs/ansible-lab:alma-latest"
|
||||||
rocky: "inecs/ansible-lab:rocky-latest"
|
rocky: "inecs/ansible-lab:rocky-latest"
|
||||||
redos: "inecs/ansible-lab:redos-latest"
|
redos: "inecs/ansible-lab:redos-latest"
|
||||||
ubuntu: "inecs/ansible-lab:ubuntu-latest"
|
ubuntu20: "inecs/ansible-lab:ubuntu20-latest"
|
||||||
debian: "inecs/ansible-lab:debian-latest"
|
ubuntu22: "inecs/ansible-lab:ubuntu22-latest"
|
||||||
|
ubuntu24: "inecs/ansible-lab:ubuntu24-latest"
|
||||||
|
debian9: "inecs/ansible-lab:debian9-latest"
|
||||||
|
debian10: "inecs/ansible-lab:debian10-latest"
|
||||||
|
debian11: "inecs/ansible-lab:debian11-latest"
|
||||||
|
debian12: "inecs/ansible-lab:debian12-latest"
|
||||||
|
|
||||||
systemd_defaults:
|
systemd_defaults:
|
||||||
privileged: true
|
privileged: true
|
||||||
@@ -29,5 +36,5 @@ systemd_defaults:
|
|||||||
hosts:
|
hosts:
|
||||||
# Минимальный набор - один хост
|
# Минимальный набор - один хост
|
||||||
- name: u1
|
- name: u1
|
||||||
family: debian
|
family: debian1212
|
||||||
groups: [test]
|
groups: [test]
|
||||||
|
|||||||
Reference in New Issue
Block a user