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:
76
Makefile
76
Makefile
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user