feat: Полная переработка документации и структуры проекта
- Переписан главный README.md с подробной навигацией - Создана структурированная документация в docs/: - getting-started.md - быстрый старт - creating-roles.md - создание ролей - cicd-setup.md - настройка CI/CD - monitoring.md - мониторинг и диагностика - site-yml-guide.md - руководство по site.yml - molecule-guide.md - подробное руководство по Molecule - Переписан dockerfiles/README.md с детальным описанием всех образов - Перенесен deploy.yml из корня в roles/ для лучшей организации - Обновлен site.yml для импорта roles/deploy.yml - Добавлены fallback значения в create.yml для надежности - Созданы скрипты автоматизации: - update-playbooks.sh - обновление playbook'ов - generate-role-docs.sh - генерация документации - setup-cicd.sh - настройка CI/CD - Добавлен env.example с примерами переменных - Обновлен Makefile с новыми командами автоматизации - Улучшена навигация по документации
This commit is contained in:
58
scripts/generate-role-docs.sh
Executable file
58
scripts/generate-role-docs.sh
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/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 "✅ Документация сгенерирована"
|
||||
Reference in New Issue
Block a user