feat: Добавлены интерактивные команды для управления ролями
- Добавлен скрипт scripts/role-manager.sh для управления ролями - Добавлены команды make role list, create, delete - Автоматическое создание структуры ролей (tasks, handlers, defaults, meta, README) - Автоматическое обновление roles/deploy.yml при создании/удалении ролей - Интерактивный интерфейс с подтверждением удаления - Цветной вывод с эмодзи для лучшего UX Команды: - make role list - показать все роли - make role create - создать новую роль (интерактивно) - make role delete - удалить роль (интерактивно) Скрипт создает полную структуру роли: - tasks/main.yml - основные задачи - defaults/main.yml - переменные по умолчанию - handlers/main.yml - обработчики - meta/main.yml - метаданные для Ansible Galaxy - README.md - документация роли
This commit is contained in:
26
Makefile
26
Makefile
@@ -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 update-playbooks generate-docs setup-cicd
|
||||
.PHONY: role vault git docker presets controller help update-playbooks generate-docs setup-cicd list create delete
|
||||
|
||||
# =============================================================================
|
||||
# КОМАНДЫ ДЛЯ РАБОТЫ С РОЛЯМИ
|
||||
@@ -109,6 +109,12 @@ role:
|
||||
else \
|
||||
echo "❌ Развертывание отменено"; \
|
||||
fi;; \
|
||||
list) \
|
||||
./scripts/role-manager.sh list;; \
|
||||
create) \
|
||||
./scripts/role-manager.sh create;; \
|
||||
delete) \
|
||||
./scripts/role-manager.sh delete;; \
|
||||
*) \
|
||||
echo "🎯 Доступные команды:"; \
|
||||
echo ""; \
|
||||
@@ -123,7 +129,20 @@ role:
|
||||
echo " 💡 Требует: inventory/hosts.ini"; \
|
||||
echo ""; \
|
||||
echo " 🔍 make role lint - проверить синтаксис ролей"; \
|
||||
echo " 💡 Использует: ansible-lint";; \
|
||||
echo " 💡 Использует: ansible-lint"; \
|
||||
echo ""; \
|
||||
echo " 📋 make role list - показать все роли"; \
|
||||
echo " 💡 Показывает: список всех ролей в roles/"; \
|
||||
echo ""; \
|
||||
echo " ➕ make role create - создать новую роль"; \
|
||||
echo " 💡 Интерактивно: запрашивает имя роли"; \
|
||||
echo " 💡 Создает: структуру папок и файлов"; \
|
||||
echo " 💡 Обновляет: roles/deploy.yml"; \
|
||||
echo ""; \
|
||||
echo " 🗑️ make role delete - удалить роль"; \
|
||||
echo " 💡 Интерактивно: запрашивает имя роли"; \
|
||||
echo " 💡 Удаляет: папку роли и файлы"; \
|
||||
echo " 💡 Обновляет: roles/deploy.yml";; \
|
||||
esac
|
||||
|
||||
# =============================================================================
|
||||
@@ -914,6 +933,9 @@ help:
|
||||
@echo " make role lint - проверить синтаксис ролей"
|
||||
@echo " make role test [preset] - протестировать роли с preset'ом"
|
||||
@echo " make role deploy - развернуть роли на реальные серверы"
|
||||
@echo " make role list - показать все роли"
|
||||
@echo " make role create - создать новую роль (интерактивно)"
|
||||
@echo " make role delete - удалить роль (интерактивно)"
|
||||
@echo ""
|
||||
@echo "📋 PRESET'Ы (тестовые окружения):"
|
||||
@echo " make presets list - показать все доступные preset'ы"
|
||||
|
||||
Reference in New Issue
Block a user