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