#!/bin/bash # Автоматическое создание документации для новых ролей # Автор: Сергей Антропов # Сайт: https://devops.org.ru set -euo pipefail echo "📚 Генерация документации для ролей..." # Получаем список всех ролей ROLES=$(find roles/ -name 'main.yml' -path '*/tasks/*' | sed 's|roles/||; s|/tasks/main.yml||') for role in $ROLES; do echo "📝 Генерация документации для роли: $role" # Создаем README.md для роли если его нет if [ ! -f "roles/$role/README.md" ]; then cat > "roles/$role/README.md" << EOF # Роль $role **Автор:** Сергей Антропов **Сайт:** https://devops.org.ru ## Описание Роль для настройки и конфигурации $role сервиса. ## Требования - Ansible >= 2.9 - Поддерживаемые ОС: Ubuntu, Debian, RHEL, CentOS, AlmaLinux, Rocky Linux ## Переменные | Переменная | Тип | По умолчанию | Описание | |------------|-----|--------------|----------| | \`${role}_enabled\` | boolean | \`true\` | Включить роль | | \`${role}_packages\` | list | \`[]\` | Пакеты для установки | ## Примеры использования \`\`\`yaml - name: Настройка $role hosts: all roles: - $role \`\`\` ## Tags - \`$role\` - выполнение всех задач роли - \`install\` - установка пакетов - \`config\` - настройка конфигурации EOF fi done echo "✅ Документация сгенерирована"