🏗️ Stands Management API

Система управления стендами для разработки и тестирования

📋 Основные операции со стендами

POST
/api/stands/
Создание нового стенда для клиента с указанными параметрами
{ "name": "client-name", "cluster": "prod", "users_count": 5, "backup_frequency": "daily", "retention_period": 30, "storage_type": "s3" }
{ "id": 1, "name": "client-name", "cluster": "prod", "users_count": 5, "backup_frequency": "daily", "retention_period": 30, "storage_type": "s3", "status": "creating", "admin_login": "admin", "admin_password": "Abc123!@#", "url": "https://client-name.example.com", "backend_branch": "master", "frontend_branch": "develop", "created_at": "2024-01-15T10:30:00Z", "updated_at": "2024-01-15T10:30:00Z" }
GET
/api/stands/
Получение списка всех стендов с базовой информацией
GET
/api/stands/{id}/
Получение детальной информации о конкретном стенде

🔧 Управление стендами

POST
/api/stands/{id}/update/
Выполнение обновления стенда с указанием веток бэкенда и фронтенда
{ "backend_branch": "master", "frontend_branch": "develop", "update_type": "merge" }
PATCH
/api/stands/{id}/password/
Генерация нового пароля для администратора стенда
POST
/api/stands/{id}/state/
Запуск или остановка стенда
{ "action": "stop" }

🗑️ Удаление стенда

DELETE
/api/stands/{id}/?confirm=yes&preserve_db=true&preserve_domain=true
Удаление стенда с опциональным сохранением БД и домена

Параметры запроса:

confirm string обязательный
Подтверждение удаления (должно быть "yes")
preserve_db boolean опциональный
Сохранить базу данных (по умолчанию false)
preserve_domain boolean опциональный
Сохранить домен (по умолчанию false)

💾 Опции резервного копирования

GET
/api/backup-options/
Получение доступных вариантов для настройки резервного копирования
{ "backup_frequencies": ["daily", "weekly", "monthly", "never"], "retention_periods": [7, 14, 30, 90], "storage_types": ["local", "s3", "nfs"] }

🧪 Тестирование API

Попробуйте API endpoints: