feat: Полная переработка документации и структуры проекта

- Переписан главный 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 с новыми командами автоматизации
- Улучшена навигация по документации
This commit is contained in:
Сергей Антропов
2025-10-25 18:11:36 +03:00
parent 1a4e52aab2
commit 94560ffaaa
19 changed files with 6986 additions and 270 deletions

View File

@@ -40,7 +40,7 @@ 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
.PHONY: role vault git docker presets controller help
.PHONY: role vault git docker presets controller help update-playbooks generate-docs setup-cicd
# =============================================================================
# КОМАНДЫ ДЛЯ РАБОТЫ С РОЛЯМИ
@@ -97,7 +97,7 @@ role:
-v ~/.ssh:/root/.ssh:ro \
-e ANSIBLE_FORCE_COLOR=1 \
$(DOCKER_IMAGE) \
bash -c "ansible-playbook -i inventory/hosts.ini deploy.yml --check"; \
bash -c "ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check"; \
echo ""; \
read -p "Продолжить развертывание? (y/N): " confirm; \
if [ "$$confirm" = "y" ] || [ "$$confirm" = "Y" ]; then \
@@ -105,7 +105,7 @@ role:
-v ~/.ssh:/root/.ssh:ro \
-e ANSIBLE_FORCE_COLOR=1 \
$(DOCKER_IMAGE) \
bash -c "ansible-playbook -i inventory/hosts.ini deploy.yml"; \
bash -c "ansible-playbook -i inventory/hosts.ini roles/deploy.yml"; \
else \
echo "❌ Развертывание отменено"; \
fi;; \
@@ -942,6 +942,11 @@ help:
@echo " make docker diagnose - диагностика buildx проблем"
@echo " make docker reset-builder - сброс buildx builder"
@echo " 💡 Поддерживает: amd64, arm64, riscv64, ppc64le, s390x, 386, arm/v7, arm/v6"
@echo ""
@echo "🔧 АВТОМАТИЗАЦИЯ:"
@echo " make update-playbooks - обновление playbook'ов при добавлении ролей"
@echo " make generate-docs - генерация документации для ролей"
@echo " make setup-cicd - настройка CI/CD для всех платформ"
@echo " 💡 Безопасно: использует inspect вместо buildx ls (избегает зависаний)"
@echo ""
@echo "🔐 VAULT (управление секретами):"
@@ -1038,6 +1043,25 @@ custom-images:
echo " - inecs/ansible-lab:debian-latest";; \
esac
# =============================================================================
# АВТОМАТИЗАЦИЯ
# =============================================================================
update-playbooks:
@echo "🔄 Обновление playbook'ов..."
@chmod +x scripts/update-playbooks.sh
@./scripts/update-playbooks.sh
generate-docs:
@echo "📚 Генерация документации..."
@chmod +x scripts/generate-role-docs.sh
@./scripts/generate-role-docs.sh
setup-cicd:
@echo "🔧 Настройка CI/CD..."
@chmod +x scripts/setup-cicd.sh
@./scripts/setup-cicd.sh
# Пустые цели для совместимости
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 diagnose reset-builder build-image:
@true