feat: Добавлены функции удаления для роли, плейбука и пресета
- Добавлена команда 'make role delete NAME=role-name' - Добавлена команда 'make preset delete NAME=preset-name' - Добавлена команда 'role playbook delete' для удаления playbook - Обновлены описания команд в help Новые функции: - role delete: удаление роли с проверкой существования - preset delete: удаление пресета с проверкой существования - playbook delete: удаление playbook из роли Обновленные списки команд: - role: list|create|edit|test|lint|deploy|delete|info|playbook - preset: list|create|edit|test|copy|delete - playbook: create|list|edit|run|delete Протестировано: - Удаление роли - работает корректно - Удаление пресета - работает корректно - Все команды проверены и обновлены Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
45
Makefile
45
Makefile
@@ -1348,7 +1348,7 @@ preset-create-interactive: check-whiptail ## Интерактивное созд
|
|||||||
echo "$(BLUE)📋 Использование: make lab up PRESET=$$PRESET_NAME$(RESET)"
|
echo "$(BLUE)📋 Использование: make lab up PRESET=$$PRESET_NAME$(RESET)"
|
||||||
|
|
||||||
.PHONY: preset
|
.PHONY: preset
|
||||||
preset: ## Управление пресетами (list|create|edit|test|copy)
|
preset: ## Управление пресетами (list|create|edit|test|copy|delete)
|
||||||
@case "$(word 2, $(MAKECMDGOALS))" in \
|
@case "$(word 2, $(MAKECMDGOALS))" in \
|
||||||
list) \
|
list) \
|
||||||
echo "Доступные пресеты:"; \
|
echo "Доступные пресеты:"; \
|
||||||
@@ -1413,8 +1413,21 @@ preset: ## Управление пресетами (list|create|edit|test|copy)
|
|||||||
echo "$(YELLOW)📋 Копируем пресет: $(SOURCE) -> $(TARGET)$(RESET)"; \
|
echo "$(YELLOW)📋 Копируем пресет: $(SOURCE) -> $(TARGET)$(RESET)"; \
|
||||||
cp molecule/presets/$(SOURCE) molecule/presets/$(TARGET); \
|
cp molecule/presets/$(SOURCE) molecule/presets/$(TARGET); \
|
||||||
echo "$(GREEN)✅ Пресет скопирован$(RESET)";; \
|
echo "$(GREEN)✅ Пресет скопирован$(RESET)";; \
|
||||||
|
delete) \
|
||||||
|
if [ -z "$(NAME)" ]; then \
|
||||||
|
echo "$(RED)❌ Использование: make preset delete NAME=my-preset$(RESET)"; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
if [ -f "molecule/presets/$(NAME).yml" ]; then \
|
||||||
|
echo "$(RED)🗑️ Удаляем пресет: $(NAME)$(RESET)"; \
|
||||||
|
rm -f "molecule/presets/$(NAME).yml"; \
|
||||||
|
echo "$(GREEN)✅ Пресет $(NAME) удален$(RESET)"; \
|
||||||
|
else \
|
||||||
|
echo "$(RED)❌ Пресет $(NAME) не найден$(RESET)"; \
|
||||||
|
exit 1; \
|
||||||
|
fi;; \
|
||||||
*) \
|
*) \
|
||||||
echo "Неизвестная команда. Доступные: list, create, edit, test, copy";; \
|
echo "Неизвестная команда. Доступные: list, create, edit, test, copy, delete";; \
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
@@ -1588,7 +1601,7 @@ role-create-interactive: check-whiptail ## Интерактивное созда
|
|||||||
echo "$(BLUE)📋 Playbooks: $(ROLES_DIR)/$$ROLE_NAME/playbooks/$(RESET)"
|
echo "$(BLUE)📋 Playbooks: $(ROLES_DIR)/$$ROLE_NAME/playbooks/$(RESET)"
|
||||||
|
|
||||||
.PHONY: role
|
.PHONY: role
|
||||||
role: ## Управление ролями (list|create|edit|test|lint|deploy)
|
role: ## Управление ролями (list|create|edit|test|lint|deploy|delete)
|
||||||
@case "$(word 2, $(MAKECMDGOALS))" in \
|
@case "$(word 2, $(MAKECMDGOALS))" in \
|
||||||
list) \
|
list) \
|
||||||
echo "Доступные роли:"; \
|
echo "Доступные роли:"; \
|
||||||
@@ -1814,11 +1827,33 @@ role: ## Управление ролями (list|create|edit|test|lint|deploy)
|
|||||||
else \
|
else \
|
||||||
echo "$(RED)❌ Playbook $$PLAYBOOK_NAME не найден$(RESET)"; \
|
echo "$(RED)❌ Playbook $$PLAYBOOK_NAME не найден$(RESET)"; \
|
||||||
fi;; \
|
fi;; \
|
||||||
|
delete) \
|
||||||
|
read -p "$(YELLOW)📝 Имя playbook для удаления: $(RESET)" PLAYBOOK_NAME; \
|
||||||
|
if [ -f "$(ROLES_DIR)/$(NAME)/playbooks/$$PLAYBOOK_NAME.yml" ]; then \
|
||||||
|
echo "$(RED)🗑️ Удаляем playbook: $$PLAYBOOK_NAME$(RESET)"; \
|
||||||
|
rm -f "$(ROLES_DIR)/$(NAME)/playbooks/$$PLAYBOOK_NAME.yml"; \
|
||||||
|
echo "$(GREEN)✅ Playbook $$PLAYBOOK_NAME удален$(RESET)"; \
|
||||||
|
else \
|
||||||
|
echo "$(RED)❌ Playbook $$PLAYBOOK_NAME не найден$(RESET)"; \
|
||||||
|
fi;; \
|
||||||
*) \
|
*) \
|
||||||
echo "Неизвестная команда playbook";; \
|
echo "Неизвестная команда playbook. Доступные: create, list, edit, run, delete";; \
|
||||||
esac;; \
|
esac;; \
|
||||||
|
delete) \
|
||||||
|
if [ -z "$(NAME)" ]; then \
|
||||||
|
echo "$(RED)❌ Использование: make role delete NAME=my-role$(RESET)"; \
|
||||||
|
exit 1; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "$(ROLES_DIR)/$(NAME)" ]; then \
|
||||||
|
echo "$(RED)🗑️ Удаляем роль: $(NAME)$(RESET)"; \
|
||||||
|
rm -rf "$(ROLES_DIR)/$(NAME)"; \
|
||||||
|
echo "$(GREEN)✅ Роль $(NAME) удалена$(RESET)"; \
|
||||||
|
else \
|
||||||
|
echo "$(RED)❌ Роль $(NAME) не найдена$(RESET)"; \
|
||||||
|
exit 1; \
|
||||||
|
fi;; \
|
||||||
*) \
|
*) \
|
||||||
echo "Неизвестная команда. Доступные: list, create, edit, test, lint, deploy, info, playbook";; \
|
echo "Неизвестная команда. Доступные: list, create, edit, test, lint, deploy, delete, info, playbook";; \
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
[all]
|
|
||||||
Reference in New Issue
Block a user