Compare commits
6 Commits
8f5a9c955c
...
7f6d9c9268
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f6d9c9268 | ||
|
|
bf02745769 | ||
|
|
1b323827f6 | ||
|
|
85bb63dd82 | ||
|
|
89d39921f6 | ||
|
|
c2db58c356 |
112
Makefile
112
Makefile
@@ -377,12 +377,26 @@ docker:
|
||||
echo "📋 Платформы: $(DOCKER_PLATFORMS)"; \
|
||||
echo "📋 Builder: $(DOCKER_BUILDX_BUILDER)"; \
|
||||
echo ""; \
|
||||
$(MAKE) docker-setup-builder; \
|
||||
$(MAKE) docker setup-builder; \
|
||||
for image in $(DOCKER_IMAGES); do \
|
||||
echo "🔨 Сборка $(DOCKER_REGISTRY)/$$image:$(DOCKER_VERSION)"; \
|
||||
$(MAKE) docker-build-image IMAGE=$$image; \
|
||||
done; \
|
||||
echo "✅ Образы собраны";; \
|
||||
rebuild) \
|
||||
echo "🔄 Полная пересборка Docker образов (multi-arch)..."; \
|
||||
echo "📋 Платформы: $(DOCKER_PLATFORMS)"; \
|
||||
echo "📋 Builder: $(DOCKER_BUILDX_BUILDER)"; \
|
||||
echo "🧹 Очистка кеша и старых образов..."; \
|
||||
echo ""; \
|
||||
$(MAKE) docker clean; \
|
||||
$(MAKE) docker clean-builder; \
|
||||
$(MAKE) docker setup-builder; \
|
||||
for image in $(DOCKER_IMAGES); do \
|
||||
echo "🔨 Пересборка $(DOCKER_REGISTRY)/$$image:$(DOCKER_VERSION)"; \
|
||||
$(MAKE) docker-build-image IMAGE=$$image; \
|
||||
done; \
|
||||
echo "✅ Образы пересобраны с нуля";; \
|
||||
push) \
|
||||
echo "📤 Отправка Docker образов в Docker Hub..."; \
|
||||
for image in $(DOCKER_IMAGES); do \
|
||||
@@ -440,6 +454,28 @@ docker:
|
||||
else \
|
||||
echo "❌ Очистка отменена"; \
|
||||
fi;; \
|
||||
clean-builder) \
|
||||
echo "🧹 Очистка multi-arch builder..."; \
|
||||
if docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
|
||||
echo "🗑️ Удаление builder $(DOCKER_BUILDX_BUILDER)..."; \
|
||||
docker buildx rm $(DOCKER_BUILDX_BUILDER) || true; \
|
||||
echo "✅ Builder удален"; \
|
||||
else \
|
||||
echo "ℹ️ Builder $(DOCKER_BUILDX_BUILDER) не найден"; \
|
||||
fi;; \
|
||||
setup-builder) \
|
||||
echo "🔧 Настройка multi-arch builder в контейнере..."; \
|
||||
if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
|
||||
echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER) в контейнере..."; \
|
||||
docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --bootstrap --use; \
|
||||
echo "⏳ Ожидание запуска builder..."; \
|
||||
sleep 5; \
|
||||
else \
|
||||
echo "✅ Builder $(DOCKER_BUILDX_BUILDER) уже существует"; \
|
||||
docker buildx use $(DOCKER_BUILDX_BUILDER); \
|
||||
fi; \
|
||||
echo "🔍 Проверка статуса builder..."; \
|
||||
docker buildx inspect $(DOCKER_BUILDX_BUILDER) --bootstrap;; \
|
||||
*) \
|
||||
echo "🎯 Доступные команды:"; \
|
||||
echo ""; \
|
||||
@@ -454,6 +490,12 @@ docker:
|
||||
echo " 💡 Тегирует: inecs/образ:<tag> (автоматически извлекает теги)"; \
|
||||
echo " 💡 Отправляет: автоматически в Docker Hub"; \
|
||||
echo ""; \
|
||||
echo " 🔄 make docker rebuild - полная пересборка с очисткой кеша"; \
|
||||
echo " 💡 Очищает: все локальные образы и кеш"; \
|
||||
echo " 💡 Пересобирает: все образы с нуля"; \
|
||||
echo " 💡 Полезно: при проблемах с кешем или зависимостями"; \
|
||||
echo " 💡 Выполняет: clean + clean-builder + setup-builder + build"; \
|
||||
echo ""; \
|
||||
echo " 📤 make docker push - отправить образы в Docker Hub"; \
|
||||
echo " 💡 Требует: docker login"; \
|
||||
echo " 💡 Отправляет: все образы в registry inecs"; \
|
||||
@@ -466,6 +508,14 @@ docker:
|
||||
echo " 💡 Удаляет: все образы inecs/*:latest"; \
|
||||
echo " 💡 Безопасно: игнорирует ошибки"; \
|
||||
echo ""; \
|
||||
echo " 🧹 make docker clean-builder - очистка multi-arch builder"; \
|
||||
echo " 💡 Удаляет: builder контейнер"; \
|
||||
echo " 💡 Полезно: при проблемах со сборкой"; \
|
||||
echo ""; \
|
||||
echo " 🔧 make docker setup-builder - настройка multi-arch builder"; \
|
||||
echo " 💡 Создает: builder в контейнере (не в системе)"; \
|
||||
echo " 💡 Поддерживает: amd64 и arm64 архитектуры"; \
|
||||
echo ""; \
|
||||
echo " 📊 make docker info - информация о собранных образах"; \
|
||||
echo " 💡 Показывает: размер, дата создания, теги"; \
|
||||
echo ""; \
|
||||
@@ -477,34 +527,13 @@ docker:
|
||||
echo " ⚠️ УДАЛЯЕТ: все контейнеры, образы, тома, сети"; \
|
||||
echo " ⚠️ ОСТАНОВИТ: все запущенные контейнеры"; \
|
||||
echo " ⚠️ ТРЕБУЕТ: подтверждение пользователя"; \
|
||||
echo ""; \
|
||||
echo " 🔧 make docker-setup-builder - настройка multi-arch builder"; \
|
||||
echo " 💡 Создает: builder в контейнере (не в системе)"; \
|
||||
echo " 💡 Поддерживает: amd64 и arm64 архитектуры"; \
|
||||
echo ""; \
|
||||
echo " 🧹 make docker-clean-builder - очистка multi-arch builder"; \
|
||||
echo " 💡 Удаляет: builder контейнер"; \
|
||||
echo " 💡 Полезно: при проблемах со сборкой";; \
|
||||
echo "";; \
|
||||
esac
|
||||
|
||||
# =============================================================================
|
||||
# ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ ДЛЯ DOCKER
|
||||
# =============================================================================
|
||||
|
||||
# Настройка multi-arch builder
|
||||
docker-setup-builder:
|
||||
@echo "🔧 Настройка multi-arch builder в контейнере..."; \
|
||||
if ! docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
|
||||
echo "📦 Создание builder $(DOCKER_BUILDX_BUILDER) в контейнере..."; \
|
||||
docker buildx create --name $(DOCKER_BUILDX_BUILDER) --driver docker-container --bootstrap --use; \
|
||||
echo "⏳ Ожидание запуска builder..."; \
|
||||
sleep 5; \
|
||||
else \
|
||||
echo "✅ Builder $(DOCKER_BUILDX_BUILDER) уже существует"; \
|
||||
docker buildx use $(DOCKER_BUILDX_BUILDER); \
|
||||
fi; \
|
||||
echo "🔍 Проверка статуса builder..."; \
|
||||
docker buildx inspect $(DOCKER_BUILDX_BUILDER) --bootstrap
|
||||
|
||||
# Извлечение тега из базового образа
|
||||
docker-get-base-tag:
|
||||
@@ -540,9 +569,6 @@ docker-get-base-tag:
|
||||
echo "❌ Неизвестный образ: $(IMAGE)"; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
echo "📋 Образ: $(IMAGE)"; \
|
||||
echo "📋 Базовый образ: $$BASE_IMAGE"; \
|
||||
echo "📋 Тег: $$TAG"; \
|
||||
echo "$$TAG"
|
||||
|
||||
# Сборка одного образа с multi-arch
|
||||
@@ -562,16 +588,6 @@ docker-build-image:
|
||||
.; \
|
||||
echo "✅ $(IMAGE):$$TAG собран и отправлен"
|
||||
|
||||
# Очистка multi-arch builder
|
||||
docker-clean-builder:
|
||||
@echo "🧹 Очистка multi-arch builder..."; \
|
||||
if docker buildx ls | grep -q $(DOCKER_BUILDX_BUILDER); then \
|
||||
echo "🗑️ Удаление builder $(DOCKER_BUILDX_BUILDER)..."; \
|
||||
docker buildx rm $(DOCKER_BUILDX_BUILDER) || true; \
|
||||
echo "✅ Builder удален"; \
|
||||
else \
|
||||
echo "ℹ️ Builder $(DOCKER_BUILDX_BUILDER) не найден"; \
|
||||
fi
|
||||
|
||||
# =============================================================================
|
||||
# КОМАНДЫ ДЛЯ РАБОТЫ С ANSIBLE-CONTROLLER
|
||||
@@ -581,7 +597,7 @@ controller:
|
||||
build) \
|
||||
echo "🔨 Сборка ansible-controller (multi-arch)..."; \
|
||||
echo "📋 Платформы: $(DOCKER_PLATFORMS)"; \
|
||||
$(MAKE) docker-setup-builder; \
|
||||
$(MAKE) docker setup-builder; \
|
||||
cd dockerfiles/ansible-controller && \
|
||||
docker buildx build \
|
||||
--platform $(DOCKER_PLATFORMS) \
|
||||
@@ -642,9 +658,10 @@ help:
|
||||
@echo " make presets info - подробная информация о preset'е"
|
||||
@echo " make presets test - запустить тест с preset'ом"
|
||||
@echo ""
|
||||
@echo "🐳 DOCKER ОБРАЗЫ:"
|
||||
@echo "🐳 DOCKER ОБРАЗЫ (Multi-Arch):"
|
||||
@echo " make docker prepare - подготовка к работе с Docker Hub"
|
||||
@echo " make docker build - собрать все Docker образы"
|
||||
@echo " make docker build - собрать все Docker образы (amd64 + arm64)"
|
||||
@echo " make docker rebuild - полная пересборка с очисткой кеша"
|
||||
@echo " make docker push - отправить образы в Docker Hub"
|
||||
@echo " make docker pull - загрузить образы из Docker Hub"
|
||||
@echo " make docker clean - удалить локальные образы"
|
||||
@@ -652,6 +669,11 @@ help:
|
||||
@echo " make docker update - обновить все образы (pull + build + push)"
|
||||
@echo " make docker purge - ПОЛНАЯ очистка Docker (ОСТОРОЖНО!)"
|
||||
@echo ""
|
||||
@echo "🔧 DOCKER BUILDER (Multi-Arch):"
|
||||
@echo " make docker setup-builder - настройка multi-arch builder в контейнере"
|
||||
@echo " make docker clean-builder - очистка multi-arch builder"
|
||||
@echo " 💡 Поддерживает: amd64, arm64, riscv64, ppc64le, s390x, 386, arm/v7, arm/v6"
|
||||
@echo ""
|
||||
@echo "🔐 VAULT (управление секретами):"
|
||||
@echo " make vault create - создать новый файл секретов"
|
||||
@echo " make vault edit - редактировать существующие секреты"
|
||||
@@ -668,8 +690,8 @@ help:
|
||||
@echo " make git pull - получить изменения из репозитория"
|
||||
@echo " make git new - создать новую ветку"
|
||||
@echo ""
|
||||
@echo "🎮 CONTROLLER (ansible-controller):"
|
||||
@echo " make controller build - собрать ansible-controller"
|
||||
@echo "🎮 CONTROLLER (ansible-controller Multi-Arch):"
|
||||
@echo " make controller build - собрать ansible-controller (amd64 + arm64)"
|
||||
@echo " make controller run - запустить ansible-controller"
|
||||
@echo " make controller stop - остановить ansible-controller"
|
||||
@echo ""
|
||||
@@ -677,7 +699,11 @@ help:
|
||||
@echo " make presets list # показать все preset'ы"
|
||||
@echo " make presets test PRESET=etcd-patroni # тест с etcd-patroni"
|
||||
@echo " make role test minimal # быстрый тест"
|
||||
@echo " make docker build # собрать все образы"
|
||||
@echo " make docker setup-builder # настройка multi-arch builder"
|
||||
@echo " make docker build # собрать все образы (amd64 + arm64)"
|
||||
@echo " make docker rebuild # полная пересборка с очисткой кеша"
|
||||
@echo " make controller build # собрать ansible-controller (multi-arch)"
|
||||
@echo " make docker clean-builder # очистка builder'а"
|
||||
@echo " make docker purge # полная очистка Docker"
|
||||
@echo " make vault create # создать секреты"
|
||||
@echo ""
|
||||
@@ -685,5 +711,5 @@ help:
|
||||
@echo "=========================================="
|
||||
|
||||
# Пустые цели для совместимости
|
||||
view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge:
|
||||
view create edit show delete lint deploy new advanced list info test build push pull clean prepare update run stop purge clean-builder setup-builder:
|
||||
@true
|
||||
|
||||
@@ -57,7 +57,7 @@ RUN curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.22.1 sh - \
|
||||
&& rm -rf istio-1.22.1
|
||||
|
||||
# Копируем requirements.yml
|
||||
COPY dockerfiles/ansible-controller/requirements.yml /tmp/requirements.yml
|
||||
COPY requirements.yml /tmp/requirements.yml
|
||||
|
||||
# Устанавливаем Ansible коллекции
|
||||
RUN ansible-galaxy collection install -r /tmp/requirements.yml
|
||||
|
||||
Reference in New Issue
Block a user