Files
SergObsidian/WORK & PROJECTS/Mol/Серверы/Alfa cloud readme.md
2025-02-28 17:08:56 +05:00

43 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### Общая информация
Alfa Cloud — серверный API, который предоставляет доступ к управлению контейнерами и конфигурацией облаков Alfa с поддержкой нескольких облачных серверов.
Данный документ нужен для разработки полноценного фронтенда управления контейнерами.
Все запросы должны производиться только из админки Mol с авторизацией Basic Auth (обычный логин и пароль). Учётные можно менять регулярно, для этого существует специальный запрос. Учётные данные НЕ синхронизированы с основными учётными данными MOL (и для безопасности и отсутствия необходимости синхронизации всех юзеров. Нужен только главный админ).
В данном API в тестовом режиме будет использоваться спецификация JSON:API для унификации серверных ответов
#### Точки подключения:
GET:
```
/servers — получить список активных серверов (для разворачивания новых клиентов)
/servers/{id} — получить подробную информацию о сервере <span style="color: gray">(TODO: с параметрами мониторинга и нагрузкой в реальном времени)</span>
/clients — получить список контейнеров клиентов со всеми подробностями (поддерживается пагинация). С флагом доступностью контейнера.
/clients/{id}/demo_enable - применение таблиц демо-данных
/clients/{id}/demo_disable - удаление демо-данных
/clients/{id}/send_success - отправить письмо клиенту с успешной регистрацией облака с логином и паролем
```
POST:
```
/servers/create — создать сервер в БД
/clients/create — создать клиента (полный серверный цикл создания облака)
/clients/owner_password — задать новый пароль администратора лаборатории
\ TODO: перенос данных клиента с одного сервера на другой
```
UPDATE:
```
/servers/{id}/edit — изменить информацию о сервере
/clients/{id}/edit — редактировать данные клиента (кроме пароля администратора лабы)
/clients/{id}/expire_date - обновление даты
```
DELETE
```
/clients/{id}/delete — редкая функция — запуск очистки пользовательских конфигов с серверов
/servers/{id}/delete не реализовано, да и пока что не надо. Тут нужно просто удаление информации о сервере из БД.
```