diff --git a/Makefile b/Makefile index 6258043..578fb62 100644 --- a/Makefile +++ b/Makefile @@ -48,8 +48,21 @@ BASE_IMAGES := altlinux/p9 astralinux/astra-1.7 redos/redos:9 registry.access.re role: @case "$(word 2, $(MAKECMDGOALS))" in \ lint) \ - echo "🔍 Проверка синтаксиса ролей ..."; \ - docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/ --config-file .ansible-lint || true"; \ + ROLE_NAME="$(word 3, $(MAKECMDGOALS))"; \ + if [ -z "$$ROLE_NAME" ]; then \ + echo "🔍 Проверка синтаксиса всех ролей ..."; \ + docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/ --config-file .ansible-lint || true"; \ + else \ + echo "🔍 Проверка синтаксиса роли: $$ROLE_NAME"; \ + if [ -d "roles/$$ROLE_NAME" ]; then \ + docker run --rm --name $(CONTAINER_NAME) -v "$(PWD):/workspace" -w /workspace -e ANSIBLE_FORCE_COLOR=1 $(DOCKER_IMAGE) bash -c "ansible-lint roles/$$ROLE_NAME/ --config-file .ansible-lint || true"; \ + else \ + echo "❌ Роль '$$ROLE_NAME' не найдена в roles/"; \ + echo "📋 Доступные роли:"; \ + ls -1 roles/ | grep -v "\.yml$$" | sed 's/^/ - /'; \ + exit 1; \ + fi; \ + fi; \ echo ""; \ echo "✅ Lint завершен";; \ test) \ @@ -130,8 +143,11 @@ role: echo " ansible-playbook -i inventory/hosts.ini roles/deploy.yml --check"; \ echo " 💡 Документация: docs/deploy-yml-customization.md"; \ echo ""; \ - echo " 🔍 make role lint - проверить синтаксис ролей"; \ + echo " 🔍 make role lint [role] - проверить синтаксис ролей"; \ echo " 💡 Использует: ansible-lint"; \ + echo " 💡 Без параметра: проверяет все роли"; \ + echo " 💡 С параметром: проверяет конкретную роль"; \ + echo " 💡 Примеры: make role lint, make role lint devops"; \ echo ""; \ echo " 📋 make role list - показать все роли"; \ echo " 💡 Показывает: список всех ролей в roles/"; \ @@ -932,7 +948,7 @@ help: @echo " dockerfiles/ - Docker образы для тестирования" @echo "" @echo "🚀 ОСНОВНЫЕ КОМАНДЫ:" - @echo " make role lint - проверить синтаксис ролей" + @echo " make role lint [role] - проверить синтаксис ролей (все или конкретную)" @echo " make role test [preset] - протестировать роли с preset'ом" @echo " make role deploy - развернуть роли на реальные серверы" @echo " make role list - показать все роли" diff --git a/roles/deploy.yml b/roles/deploy.yml index 58f617b..625ae50 100644 --- a/roles/deploy.yml +++ b/roles/deploy.yml @@ -7,4 +7,4 @@ hosts: all roles: - ping - #- devops + # - devops diff --git a/roles/devops/defaults/main.yml b/roles/devops/defaults/main.yml index 49ba1d2..d538a0c 100644 --- a/roles/devops/defaults/main.yml +++ b/roles/devops/defaults/main.yml @@ -44,7 +44,7 @@ devops_os_config: groups: ["sudo", "docker"] sudo_file: "/etc/sudoers.d/devops" sudo_validate: "visudo -cf %s" - + # RHEL/CentOS/Rocky/AlmaLinux rhel: groups: ["wheel", "docker"] @@ -62,19 +62,19 @@ devops_os_config: groups: ["wheel", "docker"] sudo_file: "/etc/sudoers.d/devops" sudo_validate: "visudo -cf %s" - + # Astra Linux astra: groups: ["sudo", "docker"] sudo_file: "/etc/sudoers.d/devops" sudo_validate: "visudo -cf %s" - + # ALT Linux alt: groups: ["wheel", "docker"] sudo_file: "/etc/sudoers.d/devops" sudo_validate: "visudo -cf %s" - + # RedOS redos: groups: ["wheel", "docker"]