fix: Убраны ANSI escape-коды из команд списков

- Убраны цветовые коды из команды 'preset list'
- Убраны цветовые коды из команды 'role list'
- Убраны цветовые коды из команды 'vault show'
- Убраны цветовые коды из команды 'lint'
- Исправлено регулярное выражение в 'role list'

Изменения:
- preset list: убраны $(CYAN), $(GREEN), $(RESET), emoji
- role list: убраны $(CYAN), $(YELLOW), $(RESET), emoji
- vault show: убраны $(BLUE), $(RESET), emoji
- lint: убраны $(YELLOW), $(GREEN), $(RESET), emoji
- Исправлен grep pattern в role list

Проблема:
При выводе списков через whiptail появлялись ANSI escape-коды
типа ^[[0;36m, которые некорректно отображались в диалогах.

Решение:
Убраны все цветовые коды из команд, которые используются
в whiptail диалогах для чистого отображения текста.

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 15:53:47 +03:00
parent 102003bb32
commit 8dd066f752

View File

@@ -1351,9 +1351,9 @@ preset-create-interactive: check-whiptail ## Интерактивное созд
preset: ## Управление пресетами (list|create|edit|test|copy)
@case "$(word 2, $(MAKECMDGOALS))" in \
list) \
echo "$(CYAN)📋 Доступные пресеты:$(RESET)"; \
echo "Доступные пресеты:"; \
echo ""; \
echo "$(GREEN)Классические пресеты:$(RESET)"; \
echo "Классические пресеты:"; \
echo " minimal.yml - Минимальная лаборатория (1-3 машины)"; \
echo " webapp.yml - Веб-приложение (3-5 машин)"; \
echo " microservices.yml - Микросервисы (5-8 машин)"; \
@@ -1365,21 +1365,21 @@ preset: ## Управление пресетами (list|create|edit|test|copy)
echo " enterprise.yml - Enterprise (18-20 машин)"; \
echo " maximum.yml - Максимальный (20 машин)"; \
echo ""; \
echo "$(GREEN)Kubernetes пресеты:$(RESET)"; \
echo "Kubernetes пресеты:"; \
echo " k8s-single.yml - Kubernetes Single Node"; \
echo " k8s-multi.yml - Kubernetes Multi-Cluster"; \
echo " k8s-istio-full.yml - Kubernetes + Istio Full Stack"; \
echo ""; \
echo "$(GREEN)DinD пресеты:$(RESET)"; \
echo "DinD пресеты:"; \
echo " dind-simple.yml - DinD Simple"; \
echo " dind-swarm.yml - DinD Swarm"; \
echo " dind-compose.yml - DinD Compose"; \
echo ""; \
echo "$(GREEN)DOoD пресеты:$(RESET)"; \
echo "DOoD пресеты:"; \
echo " dood-simple.yml - DOoD Simple"; \
echo " dood-mixed.yml - DOoD Mixed"; \
echo ""; \
echo "$(GREEN)Смешанные пресеты:$(RESET)"; \
echo "Смешанные пресеты:"; \
echo " mixed-k8s-dind.yml - Mixed Kubernetes + DinD"; \
echo " mixed-k8s-dood.yml - Mixed Kubernetes + DOoD"; \
echo " mixed-full.yml - Mixed Full Stack";; \
@@ -1591,11 +1591,11 @@ role-create-interactive: check-whiptail ## Интерактивное созда
role: ## Управление ролями (list|create|edit|test|lint|deploy)
@case "$(word 2, $(MAKECMDGOALS))" in \
list) \
echo "$(CYAN)📋 Доступные роли:$(RESET)"; \
echo "Доступные роли:"; \
if [ -d "$(ROLES_DIR)" ]; then \
ls -la $(ROLES_DIR)/ | grep "^d" | awk '{print " " $$9}' | grep -v "^\.$\|^\.\.$"; \
ls -la $(ROLES_DIR)/ | grep "^d" | awk '{print " " $$9}' | grep -v "^\\.$$"; \
else \
echo " $(YELLOW)Директория ролей не найдена$(RESET)"; \
echo " Директория ролей не найдена"; \
fi;; \
create) \
if [ -z "$(NAME)" ]; then \
@@ -1829,7 +1829,7 @@ role: ## Управление ролями (list|create|edit|test|lint|deploy)
vault: ## Управление Ansible Vault (show|create|edit|delete|rekey|decrypt|encrypt)
@case "$(word 2, $(MAKECMDGOALS))" in \
show) \
echo "$(BLUE)🔍 Показываем содержимое vault...$(RESET)"; \
echo "Показываем содержимое vault..."; \
docker exec ansible-controller bash -lc 'ansible-vault view --vault-password-file $(VAULT_PASSWORD_FILE) vault/secrets.yml';; \
create) \
echo "$(YELLOW)📝 Создаем vault файл...$(RESET)"; \
@@ -2029,13 +2029,13 @@ cleanup: ## Очистить лабораторию
.PHONY: lint
lint: ## Проверить весь проект на ошибки
@echo "$(YELLOW)🔍 Проверяем весь проект...$(RESET)"
@echo "Проверяем весь проект..."
@docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint molecule/universal/'
@docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint files/playbooks/'
@if [ -d "$(ROLES_DIR)" ] && [ -n "$$(ls $(ROLES_DIR)/ 2>/dev/null)" ]; then \
docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint $(ROLES_DIR)/*'; \
fi
@echo "$(GREEN)Проверка завершена$(RESET)"
@echo "Проверка завершена"
.PHONY: env
env: ## Показать переменные окружения