#### Общая информация Alfa Cloud — серверный API, который предоставляет доступ к управлению контейнерами и конфигурацией облаков Alfa с поддержкой нескольких облачных серверов. Данный документ нужен для разработки полноценного фронтенда управления контейнерами. Все запросы должны производиться только из админки Mol с авторизацией Basic Auth (обычный логин и пароль). Учётные можно менять регулярно, для этого существует специальный запрос. Учётные данные НЕ синхронизированы с основными учётными данными MOL (и для безопасности и отсутствия необходимости синхронизации всех юзеров. Нужен только главный админ). В данном API в тестовом режиме будет использоваться спецификация JSON:API для унификации серверных ответов #### Точки подключения: GET: ``` /servers — получить список активных серверов (для разворачивания новых клиентов) /servers/{id} — получить подробную информацию о сервере (TODO: с параметрами мониторинга и нагрузкой в реальном времени) /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 – не реализовано, да и пока что не надо. Тут нужно просто удаление информации о сервере из БД. ```