Skip to content

Bulk Operations ​

Массовые операции над SLO: enable, disable, delete. Позволяют управлять десятками и сотнями SLO за один запрос.

Использование ​

На странице /slos (SLO List):

  1. Поставьте галочки на нужных SLO (можно выделить всю страницу или выборочно)
  2. В появившейся панели сверху таблицы выберите действие:
    • Enable — активировать выбранные SLO
    • Disable — деактивировать (SLO перестают оцениваться, но не удаляются)
    • Delete — soft-delete (SLO помечаются enabled = false)
  3. Подтвердите действие в модальном окне

Панель показывает количество выбранных 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. Для полного удаления нужна отдельная операция (пока не реализована).