Bulk Operations
Массовые операции над SLO: enable, disable, delete. Позволяют управлять десятками и сотнями SLO за один запрос.
Использование
На странице /slos (SLO List):
- Поставьте галочки на нужных SLO (можно выделить всю страницу или выборочно)
- В появившейся панели сверху таблицы выберите действие:
- Enable — активировать выбранные SLO
- Disable — деактивировать (SLO перестают оцениваться, но не удаляются)
- Delete — soft-delete (SLO помечаются
enabled = false)
- Подтвердите действие в модальном окне
Панель показывает количество выбранных SLO и кнопку Clear для сброса.
API
POST /api/v1/slos/bulk
Аутентификация: Bearer token
Тело запроса:
json
{
"ids": [1, 2, 3, 4],
"action": "enable"
}Допустимые значения action: enable, disable, delete.
Ограничения: максимум 500 ID за один запрос.
Ответ:
json
{
"action": "enable",
"affected": 3,
"requested": 4
}Реализация
Используется PostgreSQL оператор WHERE id = ANY($1) с массивом ID — атомарное обновление за один round-trip:
sql
UPDATE slos SET enabled = true WHERE id = ANY($1)Все три действия (enable/disable/delete) физически идентичны — все выставляют enabled. Это сделано осознанно: delete — это soft-delete, чтобы сохранить историю метрик и error budget. Для полного удаления нужна отдельная операция (пока не реализована).