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:
Сергей Антропов
2025-10-25 18:11:36 +03:00
parent 1a4e52aab2
commit 94560ffaaa
19 changed files with 6986 additions and 270 deletions

58
scripts/generate-role-docs.sh Executable file
View 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 "✅ Документация сгенерирована"