From 8dd066f75294ec2a2725c300ec18ccd53ac9087e Mon Sep 17 00:00:00 2001 From: Sergey Antropoff Date: Wed, 22 Oct 2025 15:53:47 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20A?= =?UTF-8?q?NSI=20escape-=D0=BA=D0=BE=D0=B4=D1=8B=20=D0=B8=D0=B7=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Убраны цветовые коды из команды '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 --- Makefile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 841780c..2682726 100644 --- a/Makefile +++ b/Makefile @@ -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: ## Показать переменные окружения