feat: добавлена пометка типа операции (Build/Push) в истории сборок Dockerfile
- Добавлена колонка 'Тип' во все таблицы истории сборок - Для push операций отображается registry вместо платформ - Сохранение пользователя при создании push лога - Исправлена ошибка с logger в push_docker_image endpoint - Улучшено отображение истории сборок с визуальными индикаторами
This commit is contained in:
103
README.md
103
README.md
@@ -8,12 +8,15 @@
|
||||
|
||||
DevOpsLab - это универсальная DevOps платформа для разработки, тестирования и развертывания инфраструктуры. Система объединяет Ansible роли, Docker контейнеры и Kubernetes кластеры в единую среду для автоматизации и управления инфраструктурой.
|
||||
|
||||
**Новое в версии 3.0:** Полнофункциональный веб-интерфейс для управления ролями, тестирования и деплоя через браузер. Всё работает в Docker - ничего не нужно устанавливать локально!
|
||||
|
||||
**Ключевые компоненты:**
|
||||
- **Ansible** - автоматизация конфигурации и развертывания
|
||||
- **Docker** - контейнеризация для изоляции и переносимости
|
||||
- **Molecule** - тестирование Ansible ролей
|
||||
- **Kubernetes (Kind)** - локальные K8s кластеры для разработки
|
||||
- **Multi-arch поддержка** - сборка для amd64 и arm64 архитектур
|
||||
- **Web UI** - современный веб-интерфейс для управления ролями, тестирования и деплоя
|
||||
|
||||
## ✨ Ключевые возможности
|
||||
|
||||
@@ -39,6 +42,20 @@ DevOpsLab - это универсальная DevOps платформа для
|
||||
- **Port-forward** для доступа к сервисам
|
||||
- **Детальный мониторинг** состояния кластера
|
||||
|
||||
### 🌐 Web UI
|
||||
- **Современный веб-интерфейс** на FastAPI с HTMX и Bootstrap 5
|
||||
- **Управление ролями** - создание, редактирование, просмотр с подсветкой синтаксиса
|
||||
- **Тестирование ролей** - запуск тестов с live логами через WebSocket
|
||||
- **Управление preset'ами** - создание и настройка окружений тестирования
|
||||
- **Деплой на серверы** - развертывание с отображением логов в реальном времени
|
||||
- **Импорт/экспорт ролей** - работа с Git репозиториями и Ansible Galaxy
|
||||
- **Управление Vault** - шифрование и расшифровка секретов
|
||||
- **Playbook редактор** - создание и редактирование playbook с валидацией
|
||||
- **Dockerfile редактор** - управление Docker образами для тестирования
|
||||
- **История выполнения** - сохранение результатов тестов и деплоев
|
||||
- **Аутентификация** - безопасный вход с JWT токенами
|
||||
- **Работает в Docker** - ничего не нужно устанавливать локально
|
||||
|
||||
## 📁 Структура проекта
|
||||
|
||||
```
|
||||
@@ -172,6 +189,14 @@ DevOpsLab/
|
||||
│ ├── setup-cicd.sh # Настройка CI/CD
|
||||
│ ├── test-custom-images.sh # Тестирование образов
|
||||
│ └── update-playbooks.sh # Обновление playbook'ов
|
||||
├── app/ # Веб-интерфейс (FastAPI)
|
||||
│ ├── api/ # API endpoints
|
||||
│ ├── templates/ # HTMX шаблоны
|
||||
│ ├── static/ # Статические файлы (CSS, JS)
|
||||
│ ├── services/ # Бизнес-логика
|
||||
│ ├── models/ # Модели базы данных
|
||||
│ ├── docker-compose.yml # Docker Compose конфигурация
|
||||
│ └── ...
|
||||
├── docs/ # Документация
|
||||
│ ├── kubernetes-kind.md # Руководство по Kubernetes
|
||||
│ ├── k8s-scripts.md # Описание K8s скриптов
|
||||
@@ -184,6 +209,7 @@ DevOpsLab/
|
||||
│ ├── linting-guide.md # Руководство по линтингу
|
||||
│ ├── platform-support.md # Поддержка платформ
|
||||
│ ├── monitoring.md # Мониторинг
|
||||
│ ├── web-interface-*.md # Документация веб-интерфейса
|
||||
│ └── ...
|
||||
├── manifests/ # Kubernetes манифесты
|
||||
│ └── test-grafana-ingress.yaml
|
||||
@@ -204,7 +230,26 @@ git clone <repository-url>
|
||||
cd DevOpsLab
|
||||
```
|
||||
|
||||
### 2. Тестирование ролей
|
||||
### 2. Запуск веб-интерфейса (рекомендуется)
|
||||
|
||||
```bash
|
||||
# Перейти в директорию веб-интерфейса
|
||||
cd app
|
||||
|
||||
# Запустить через docker-compose
|
||||
make up
|
||||
# или
|
||||
docker-compose up -d
|
||||
|
||||
# Открыть в браузере
|
||||
# http://localhost:8000
|
||||
```
|
||||
|
||||
**Логин по умолчанию:** `admin` / `admin` (рекомендуется сменить при первом входе)
|
||||
|
||||
**Подробная документация:** [docs/web-interface-quickstart.md](docs/web-interface-quickstart.md)
|
||||
|
||||
### 3. Тестирование ролей
|
||||
|
||||
```bash
|
||||
# Тестирование с default preset (2 хоста)
|
||||
@@ -217,7 +262,7 @@ make role test minimal
|
||||
make role test my-custom-preset
|
||||
```
|
||||
|
||||
### 3. Проверка синтаксиса
|
||||
### 4. Проверка синтаксиса
|
||||
|
||||
```bash
|
||||
# Проверка всех ролей
|
||||
@@ -228,7 +273,7 @@ make role lint docker
|
||||
make role lint ping
|
||||
```
|
||||
|
||||
### 4. Работа с Kubernetes
|
||||
### 5. Работа с Kubernetes
|
||||
|
||||
```bash
|
||||
# Создание Kind кластера с аддонами
|
||||
@@ -249,6 +294,45 @@ make k8s destroy kubernetes
|
||||
|
||||
**Подробная документация:** [docs/kubernetes-kind.md](docs/kubernetes-kind.md)
|
||||
|
||||
## 🌐 Веб-интерфейс
|
||||
|
||||
DevOpsLab включает полнофункциональный веб-интерфейс для управления всеми аспектами работы с ролями, тестированием и деплоем.
|
||||
|
||||
### Основные возможности
|
||||
|
||||
- **Управление ролями** - создание, редактирование, просмотр с подсветкой синтаксиса (CodeMirror)
|
||||
- **Тестирование ролей** - запуск тестов с live логами через WebSocket
|
||||
- **Управление preset'ами** - создание и настройка окружений тестирования
|
||||
- **Деплой на серверы** - развертывание с отображением логов в реальном времени
|
||||
- **Импорт/экспорт ролей** - работа с Git репозиториями и Ansible Galaxy
|
||||
- **Управление Vault** - шифрование и расшифровка секретов через веб-интерфейс
|
||||
- **Playbook редактор** - создание и редактирование playbook с валидацией YAML
|
||||
- **Dockerfile редактор** - управление Docker образами для тестирования
|
||||
- **История выполнения** - сохранение результатов тестов и деплоев в PostgreSQL
|
||||
- **Аутентификация** - безопасный вход с JWT токенами
|
||||
|
||||
### Быстрый запуск
|
||||
|
||||
```bash
|
||||
# Перейти в директорию веб-интерфейса
|
||||
cd app
|
||||
|
||||
# Запустить через docker-compose
|
||||
make up
|
||||
# или
|
||||
docker-compose up -d
|
||||
|
||||
# Открыть в браузере
|
||||
# http://localhost:8000
|
||||
```
|
||||
|
||||
**Логин по умолчанию:** `admin` / `admin` (рекомендуется сменить при первом входе)
|
||||
|
||||
**Подробная документация:**
|
||||
- [docs/web-interface-quickstart.md](docs/web-interface-quickstart.md) - Быстрый старт
|
||||
- [docs/web-interface-docker.md](docs/web-interface-docker.md) - Запуск в Docker
|
||||
- [docs/WEB_INTERFACE_DETAILS.md](docs/WEB_INTERFACE_DETAILS.md) - Детали работы
|
||||
|
||||
## 📚 Доступные роли
|
||||
|
||||
### Docker
|
||||
@@ -631,6 +715,8 @@ make custom-images # справка по собственным
|
||||
|
||||
## 📖 Документация
|
||||
|
||||
**Полный индекс документации:** [docs/README.md](docs/README.md)
|
||||
|
||||
### Основная документация
|
||||
|
||||
- **[docs/getting-started.md](docs/getting-started.md)** - Быстрый старт
|
||||
@@ -669,6 +755,17 @@ make custom-images # справка по собственным
|
||||
- **[docs/examples.md](docs/examples.md)** - Примеры использования
|
||||
- **[CHANGELOG.md](CHANGELOG.md)** - История изменений
|
||||
|
||||
### Веб-интерфейс
|
||||
|
||||
- **[docs/web-interface-quickstart.md](docs/web-interface-quickstart.md)** - Быстрый старт веб-интерфейса
|
||||
- **[docs/web-interface-docker.md](docs/web-interface-docker.md)** - Запуск веб-интерфейса в Docker
|
||||
- **[docs/web-interface-readme.md](docs/web-interface-readme.md)** - Общая документация веб-интерфейса
|
||||
- **[docs/WEB_INTERFACE_PROPOSAL.md](docs/WEB_INTERFACE_PROPOSAL.md)** - Полное предложение по веб-интерфейсу
|
||||
- **[docs/WEB_INTERFACE_DETAILS.md](docs/WEB_INTERFACE_DETAILS.md)** - Детали работы веб-интерфейса
|
||||
- **[docs/WEB_INTERFACE_DEPLOY_IMPORT_EXPORT.md](docs/WEB_INTERFACE_DEPLOY_IMPORT_EXPORT.md)** - Деплой, импорт и экспорт через веб-интерфейс
|
||||
- **[docs/web-interface-deployment-status.md](docs/web-interface-deployment-status.md)** - Статус развертывания
|
||||
- **[docs/web-interface-status.md](docs/web-interface-status.md)** - Текущий статус веб-интерфейса
|
||||
|
||||
### Документация по ролям
|
||||
|
||||
- **[roles/docker/README.md](roles/docker/README.md)** - Документация роли Docker
|
||||
|
||||
Reference in New Issue
Block a user