Мультипроектность: управление несколькими изолированными инфраструктурами в одном аккаунте
Добавили в CLO поддержку мультипроектности — теперь в рамках одного аккаунта можно создавать несколько несвязанных проектов. Каждый проект имеет собственную локальную сеть, изолированные ресурсы и настройки, что обеспечивает чёткое разделение инфраструктур без необходимости создания дополнительных учётных записей.
Эта функция пригодится тем, кто управляет различными клиентскими инфраструктурами, разрабатывает и поддерживает множество независимых сервисов или хочет структурировать большую инфраструктуру на логические блоки.
Основные возможности мультипроектности:
- Создание проектов: до 5 проектов доступно по умолчанию. Для увеличения лимита необходимо обратиться в поддержку.
- Управление: каждый проект можно независимо создавать, запускать, останавливать или удалять.
- Идентификация проектов: теперь проекты можно именовать как удобно и оставлять к ним комментарии.
- Лимиты: для каждого проекта можно установить индивидуальные квоты на ресурсы или использовать общие лимиты аккаунта.
- Поддержка: при создании тикета можно указать, к какому проекту относится обращение.
- Финансовый контроль: в таблице расходов добавлена фильтрация по проектам и типам операций, что упрощает учёт и планирование бюджета.
Параллельно ускорили работу системы и убрали несколько старых багов, которые мешали в повседневной работе. Сервис стал стабильнее и отзывчивее.
Обновления в Public API
Добавили новые эндпоинты для управления проектами и лимитами в документацию Public API.
Управление проектами
- GET /v2/projects – получение списка проектов на аккаунте (впоследствии элементы этого списка могут быть использованы в качестве идентификаторов отдельных проектов для параметра object_id);
- POST /v2/projects – создание нового проекта;
- DELETE /v2/projects/{object_id} – удаление указанного в object_id проекта;
- GET /v2/projects/{object_id}/detail – получение детальных сведений о проекте, указанном в object_id;
- POST /v2/projects/{object_id}/start – запуск указанного в object_id проекта;
- POST /v2/projects/{object_id}/stop – остановка указанного в object_id проекта;
- PATCH /v2/projects/{object_id} – изменение имени проекта, указанного в object_id;
- GET /v2/projects/{object_id}/networks – получение информации о сетях, принадлежащих проекту object_id;
- GET /v2/projects/{object_id}/images – получение сведений об образах операционных систем, доступных для установки на проекте с идентификатором object_id.
Управление лимитами аккаунта и проектов
- GET /v2/limits/projects – получение списка лимитов для каждого проекта на аккаунте;
- GET /v2/limits – получение списка доступных лимитов аккаунта;
- GET /v2/stat – статистика по ресурсам аккаунта;
- PATCH /v2/limits – установка лимитов для любого проекта на аккаунте;
- Параметры вызова содержат объекты в виде пары из идентификатора проекта object_id и устанавливаемого числового лимита;
- GET /v2/projects/{object_id}/limits – получение сведений о лимитах для конкретного проекта object_id;
- GET /v2/projects/{object_id}/consumption – получение списка ресурсов, используемых проектом object_id;
- PATCH /v2/projects/{object_id}/limits – изменение действующих лимитов для указанного в object_id проекта.
Также обновили документацию Public API, связанную с фичами, выпущенными в 2025 – ограничением удаления IP-адресов и изменениями в работе гигабитного канала.
Изменения, связанные уже работающими фичами
- Добавлен эндпоинт /v2/projects/{object_id}/params – получение параметров проекта. В нём также появился новый параметр «days_before_remove_ip», который отражает количество дней, через которое можно будет удалить конкретный адрес;
- При попытке вызова DELETE /v2/addresses/<id>, если адрес является внешним и создан менее 7 дней назад, будет возвращаться ошибка;
- В эндпоинте POST /addresses/{object_id}/attach убрана возможность изменять ширину канала при подключении внешнего адреса к серверу. При попытке передать поле bandwidth_max_mbps запрос выполнится успешно, но изменений это поле не повлечёт – это необходимо для обеспечения обратной совместимости;
- В эндпоинте POST /projects/{object_id}/servers убрана возможность изменять ширину канала. При попытке передать поле bandwidth_max_mbps в списке addresses запрос выполнится успешно, но изменений это поле не повлечёт – это необходимо для обеспечения обратной совместимости;
- Эндпоинт POST /addresses/{object_id}/bandwidth теперь способен менять ширину канала любого внешнего адреса, а не только подключенного к серверу. Исключение составляет внешний адрес виртуального роутера, его ширина канала статична (100 Мбит/с.).