feat: Создана папка roles/ для Ansible ролей
- Создана папка roles/ с правильной структурой - Добавлен .gitkeep для сохранения папки в git - Создан README.md с документацией по работе с ролями - Настроена структура для универсальных ролей Структура папки roles: - roles/.gitkeep - для сохранения папки в git - roles/README.md - документация по работе с ролями Документация в README.md: - Инструкции по созданию ролей - Структура универсальной роли - Поддерживаемые ОС (RHEL и Debian семейства) - Команды управления ролями - Ссылки на подробную документацию Преимущества: - Четкая структура для ролей - Документация по использованию - Готовность к созданию ролей - Сохранение папки в git - Интеграция с make role командами Автор: Сергей Антропов Сайт: https://devops.org.ru
This commit is contained in:
		
							
								
								
									
										21
									
								
								roles/.gitkeep
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								roles/.gitkeep
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| # Эта папка содержит Ansible роли | ||||
| # Автор: Сергей Антропов | ||||
| # Сайт: https://devops.org.ru | ||||
| # | ||||
| # Для создания новой роли используйте: | ||||
| #   make role create NAME=my-role | ||||
| # | ||||
| # Структура роли: | ||||
| #   roles/my-role/ | ||||
| #   ├── tasks/ | ||||
| #   │   ├── main.yml | ||||
| #   │   ├── debian.yml | ||||
| #   │   └── redhat.yml | ||||
| #   ├── handlers/main.yml | ||||
| #   ├── templates/ | ||||
| #   ├── files/ | ||||
| #   ├── vars/main.yml | ||||
| #   ├── defaults/main.yml | ||||
| #   ├── meta/main.yml | ||||
| #   ├── tests/ | ||||
| #   └── playbooks/ | ||||
							
								
								
									
										89
									
								
								roles/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								roles/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| # Ansible Roles | ||||
|  | ||||
| Эта папка содержит Ansible роли для универсальной лаборатории. | ||||
|  | ||||
| ## Создание новой роли | ||||
|  | ||||
| ```bash | ||||
| # Интерактивное создание роли | ||||
| make role create NAME=my-role | ||||
|  | ||||
| # Список ролей | ||||
| make role list | ||||
|  | ||||
| # Управление playbooks роли | ||||
| make role playbook NAME=my-role | ||||
| ``` | ||||
|  | ||||
| ## Структура роли | ||||
|  | ||||
| ``` | ||||
| roles/my-role/ | ||||
| ├── tasks/ | ||||
| │   ├── main.yml          # Основные задачи (универсальные) | ||||
| │   ├── debian.yml        # Задачи для Debian/Ubuntu | ||||
| │   └── redhat.yml        # Задачи для RHEL/CentOS | ||||
| ├── handlers/ | ||||
| │   └── main.yml          # Обработчики | ||||
| ├── templates/             # Шаблоны Jinja2 | ||||
| ├── files/                 # Статические файлы | ||||
| ├── vars/ | ||||
| │   └── main.yml          # Переменные роли | ||||
| ├── defaults/ | ||||
| │   └── main.yml          # Переменные по умолчанию | ||||
| ├── meta/ | ||||
| │   └── main.yml          # Метаданные роли | ||||
| ├── tests/                 # Тесты роли | ||||
| └── playbooks/            # Playbooks роли | ||||
|     └── deploy.yml | ||||
|     └── install.yml | ||||
| ``` | ||||
|  | ||||
| ## Универсальные роли | ||||
|  | ||||
| Все роли создаются **универсальными** для RHEL и Debian семейств: | ||||
|  | ||||
| - **`tasks/main.yml`** - содержит общую логику и включает OS-специфичные задачи | ||||
| - **`tasks/debian.yml`** - задачи для Debian/Ubuntu (apt, systemd) | ||||
| - **`tasks/redhat.yml`** - задачи для RHEL/CentOS (yum, systemd) | ||||
|  | ||||
| ## Поддерживаемые ОС | ||||
|  | ||||
| - **Debian семейство**: Ubuntu, Debian, Linux Mint | ||||
| - **RHEL семейство**: CentOS, RHEL, Rocky Linux, AlmaLinux | ||||
|  | ||||
| ## Команды управления | ||||
|  | ||||
| ```bash | ||||
| # Создать роль | ||||
| make role create NAME=nginx | ||||
|  | ||||
| # Редактировать роль | ||||
| make role edit NAME=nginx | ||||
|  | ||||
| # Тестировать роль | ||||
| make role test NAME=nginx | ||||
|  | ||||
| # Проверить синтаксис | ||||
| make role lint | ||||
|  | ||||
| # Развернуть роли | ||||
| make role deploy | ||||
|  | ||||
| # Информация о роли | ||||
| make role info NAME=nginx | ||||
|  | ||||
| # Управление playbooks | ||||
| make role playbook NAME=nginx | ||||
| ``` | ||||
|  | ||||
| ## Документация | ||||
|  | ||||
| - **[Полное руководство](../docs/roles.md)** - подробная документация по работе с ролями | ||||
| - **[Примеры использования](../docs/examples.md)** - практические примеры | ||||
| - **[API Reference](../docs/api.md)** - справочник по API | ||||
|  | ||||
| ## Автор | ||||
|  | ||||
| Сергей Антропов   | ||||
| Сайт: https://devops.org.ru | ||||
		Reference in New Issue
	
	Block a user