feat: Удалены все роли Ansible из проекта

- Удалена директория roles/ со всеми ролями
- Упрощен site.yml (убраны ссылки на роли)
- Обновлен Makefile (убраны команды для ролей)
- Удален скрипт auto-add-role.sh
- Обновлен README.md (убрана информация о ролях)

Изменения:
- Удалена роль deploy
- Удалена роль demo
- Удален скрипт auto-add-role.sh
- Упрощен site.yml до базовых задач
- Убраны команды make role из Makefile
- Обновлена документация

Теперь проект использует только playbooks:
- files/playbooks/site.yml - основной playbook
- files/playbooks/chaos.yml - chaos engineering
- files/playbooks/health.yml - health dashboard

Преимущества:
- Упрощенная архитектура
- Меньше сложности
- Прямое использование playbooks
- Легче понимать и поддерживать

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
2025-10-22 14:30:57 +03:00
parent e6287769d6
commit a875a874e9
22 changed files with 11 additions and 784 deletions

View File

@@ -346,80 +346,10 @@ preset: ## Управление пресетами (list|create|edit|test|copy)
esac
# =============================================================================
# УПРАВЛЕНИЕ РОЛЯМИ
# УПРАВЛЕНИЕ РОЛЯМИ (УДАЛЕНО)
# =============================================================================
.PHONY: role
role: ## Управление ролями (list|create|edit|test|lint|deploy)
@case "$(word 2, $(MAKECMDGOALS))" in \
list) \
echo "$(CYAN)📋 Доступные роли:$(RESET)"; \
if [ -d "$(ROLES_DIR)" ]; then \
ls -la $(ROLES_DIR)/ | grep "^d" | awk '{print " " $$9}' | grep -v "^\.$\|^\.\.$"; \
else \
echo " $(YELLOW)Директория ролей не найдена$(RESET)"; \
fi;; \
create) \
if [ -z "$(NAME)" ]; then \
echo "$(RED)❌ Использование: make role create NAME=my-role$(RESET)"; \
exit 1; \
fi; \
echo "$(YELLOW)📝 Создаем роль: $(NAME)$(RESET)"; \
mkdir -p $(ROLES_DIR)/$(NAME)/{tasks,handlers,templates,files,vars,defaults,meta,tests}; \
echo "---" > $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "# Основные задачи роли $(NAME)" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "- name: Install package" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " package:" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " name: \"{{ package_name }}\"" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " state: present" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "- name: Start service" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " service:" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " name: \"{{ service_name }}\"" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " state: started" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo " enabled: true" >> $(ROLES_DIR)/$(NAME)/tasks/main.yml; \
echo "---" > $(ROLES_DIR)/$(NAME)/defaults/main.yml; \
echo "# Переменные по умолчанию для роли $(NAME)" >> $(ROLES_DIR)/$(NAME)/defaults/main.yml; \
echo "" >> $(ROLES_DIR)/$(NAME)/defaults/main.yml; \
echo "package_name: nginx" >> $(ROLES_DIR)/$(NAME)/defaults/main.yml; \
echo "service_name: nginx" >> $(ROLES_DIR)/$(NAME)/defaults/main.yml; \
echo "$(GREEN)✅ Роль создана: $(ROLES_DIR)/$(NAME)/$(RESET)"; \
echo "$(BLUE)🔧 Автоматически добавляем роль в систему...$(RESET)"; \
docker exec ansible-controller bash -lc "bash /ansible/scripts/auto-add-role.sh $(NAME)"; \
echo "$(GREEN)✅ Роль $(NAME) добавлена в систему$(RESET)";; \
edit) \
if [ -z "$(NAME)" ]; then \
echo "$(RED)❌ Использование: make role edit NAME=my-role$(RESET)"; \
exit 1; \
fi; \
echo "$(BLUE)✏️ Редактируем роль: $(NAME)$(RESET)"; \
$${EDITOR:-vim} $(ROLES_DIR)/$(NAME)/tasks/main.yml;; \
test) \
if [ -z "$(NAME)" ]; then \
echo "$(RED)❌ Использование: make role test NAME=my-role$(RESET)"; \
exit 1; \
fi; \
echo "$(PURPLE)🧪 Тестируем роль: $(NAME)$(RESET)"; \
$(MAKE) lab test LAB_SPEC=molecule/presets/minimal.yml;; \
lint) \
echo "$(YELLOW)🔍 Проверяем роли...$(RESET)"; \
docker exec ansible-controller bash -lc 'ansible-lint --config-file /ansible/.ansible-lint $(ROLES_DIR)/*'; \
echo "$(GREEN)✅ Проверка завершена$(RESET)";; \
deploy) \
echo "$(PURPLE)🚀 Развертываем роли...$(RESET)"; \
docker exec ansible-controller bash -lc 'ansible-playbook -i /tmp/molecule/inventory/hosts.yml files/playbooks/site.yml'; \
echo "$(GREEN)✅ Развертывание завершено$(RESET)";; \
info) \
if [ -z "$(NAME)" ]; then \
echo "$(RED)❌ Использование: make role info NAME=my-role$(RESET)"; \
exit 1; \
fi; \
echo "$(BLUE)📋 Информация о роли: $(NAME)$(RESET)"; \
docker exec ansible-controller bash -lc 'cat /ansible/roles/$(NAME)/README.md';; \
*) \
echo "$(RED)❌ Неизвестная команда. Доступные: list, create, edit, test, lint, deploy, info$(RESET)";; \
esac
# Роли Ansible удалены из проекта
# Используйте playbooks для развертывания
# =============================================================================
# УПРАВЛЕНИЕ VAULT