Система тегов
Тегирование ресурсов (агенты, политики, алерты) для группировки, фильтрации и targeting
Обзор
Tags позволяют группировать ресурсы FlowLink по среде, роли, команде или любым другим метаданным. Теги используются в политиках для targeting: можно создать правило, которое применяется только к агентам с определённым тегом. Поддерживаются системные теги (автоматические) и неограниченное количество пользовательских. Каждый тег может иметь цвет и иконку для визуальной идентификации в Dashboard.
Теги на ресурс
Максимум 50 тегов на ресурс
Все тарифы
Системные теги
6 автогенерируемых тегов
Все тарифы
Кастомные теги
Неограниченное количество
Все тарифы
Цвет и иконка
Визуальная идентификация
Team+
Как работают теги
Теги — это ключ-значение метаданные, привязанные к ресурсам (агенты, политики, алерты). Теги используются для: (1) группировки ресурсов в Dashboard, (2) фильтрации в списковых API, (3) targeting в политиках, (4) bulk operations. Системные теги создаются автоматически на основе среды агента, его роли и статуса. Кастомные теги создаются пользователем через API или Dashboard.
# Жизненный цикл тега
1. Создание:
PUT /agents/{id}/tags или Dashboard UI
# 2. Применение:
Фильтрация API, targeting в политиках, bulk ops
# 3. Удаление:
DELETE /agents/{id}/tags (кастомные только)
Системные теги
Системные теги создаются автоматически и не могут быть удалены. Они отражают состояние агента и его окружение.
| Тег | Тип | Описание |
|---|---|---|
| env:production | auto | Агент подключён к production среде |
| env:staging | auto | Стейджинг среда |
| role:api | auto | API сервер обнаружен |
| role:database | auto | Сервер баз данных |
| role:worker | auto | Background worker |
| role:frontend | auto | Frontend/статический сервер |
Типы ресурсов
Теги могут быть привязаны к различным типам ресурсов FlowLink:
agentsАгенты — основная цель тегирования
policiesПолитики — для организации rules
alertsАлерты — для фильтрации по категориям
Сценарии использования
Группировка по staging/prod/preview
По команде (frontend/backend/mobile)
critical/high/medium/low
pci-dss, gdpr, fstek
eu-west, us-east, ru-central
billing:team-alpha, billing:team-beta
Цвета и иконки
Каждый кастомный тег может иметь цвет и иконку для визуальной идентификации в Dashboard и алертах.
1curl -X PUT "https://api.flowlink.io/v1/tags/production" \2 -H "Authorization: Bearer $TOKEN" \3 -H "Content-Type: application/json" \4 -d '{5 "color": "#ef4444",6 "icon": "server",7 "description": "Production environment resources"8 }'
#ef4444
#f59e0b
#10b981
#3b82f6
Использование в политиках
Теги используются в правиле match для targeting конкретных агентов. Политика применяется только к агентам, имеющим указанные теги.
1policies:2 - name: block-rm-prod3 match:4 tags: ["env:production"]5 command: "rm -rf*"6 action: deny7 severity: critical89 - name: restrict-db-access10 match:11 tags: ["role:frontend"]12 command: "psql*|mysql*"13 action: deny14 severity: high1516 - name: ci-auto-approve17 match:18 tags: ["ci-runner"]19 command: "git:*|npm:*"20 action: auto_approve
Фильтрация по тегам
Все списковые API поддерживают фильтрацию по одному или нескольким тегам через query параметр tag.
1# Фильтр по одному тегу2curl -s "https://api.flowlink.io/v1/agents?tag=env:production" \3 -H "Authorization: Bearer $TOKEN"45# Фильтр по нескольким тегам (AND)6curl -s "https://api.flowlink.io/v1/agents?tag=env:production&tag=critical" \7 -H "Authorization: Bearer $TOKEN"89# Фильтр политик по тегу10curl -s "https://api.flowlink.io/v1/policies?tag=pci-dss" \11 -H "Authorization: Bearer $TOKEN"
Bulk операции
Массовые операции позволяют добавить или удалить теги у нескольких агентов одновременно.
1# Добавить тег нескольким агентам2curl -X POST "https://api.flowlink.io/v1/tags/bulk/apply" \3 -H "Authorization: Bearer $TOKEN" \4 -H "Content-Type: application/json" \5 -d '{6 "agent_ids": ["agent-prod-01", "agent-prod-02", "agent-prod-03"],7 "tags": ["migration-v2"],8 "action": "add"9 }'1011# Удалить тег у нескольких агентов12curl -X POST "https://api.flowlink.io/v1/tags/bulk/apply" \13 -H "Authorization: Bearer $TOKEN" \14 -H "Content-Type: application/json" \15 -d '{16 "agent_ids": ["agent-prod-01", "agent-prod-02"],17 "tags": ["staging"],18 "action": "remove"19 }'
1{2 "updated_count": 3,3 "agents": [4 { "id": "agent-prod-01", "tags": ["env:production", "critical", "migration-v2"] },5 { "id": "agent-prod-02", "tags": ["env:production", "migration-v2"] },6 { "id": "agent-prod-03", "tags": ["env:production", "migration-v2"] }7 ]8}
API Reference
Установить теги агента
1curl -X PUT "https://api.flowlink.io/v1/agents/agent-prod-01/tags" \2 -H "Authorization: Bearer $TOKEN" \3 -H "Content-Type: application/json" \4 -d '{"tags": ["production", "critical", "payment-gateway"]}'
1{2 "agent_id": "agent-prod-01",3 "tags": ["env:production", "production", "critical", "payment-gateway"],4 "system_tags": ["env:production"],5 "custom_tags": ["production", "critical", "payment-gateway"]6}
Список тегов организации
1curl -s "https://api.flowlink.io/v1/tags" \2 -H "Authorization: Bearer $TOKEN" | jq
1{2 "tags": [3 { "name": "production", "color": "#ef4444", "icon": "server", "resource_count": 12 },4 { "name": "critical", "color": "#f59e0b", "icon": "alert", "resource_count": 5 },5 { "name": "pci-dss", "color": "#10b981", "icon": "shield", "resource_count": 8 },6 { "name": "env:production", "color": null, "icon": null, "resource_count": 15, "system": true }7 ],8 "total": 49}
Удалить тег у агента
1curl -X DELETE "https://api.flowlink.io/v1/agents/agent-prod-01/tags" \2 -H "Authorization: Bearer $TOKEN" \3 -H "Content-Type: application/json" \4 -d '{"tags": ["staging"]}'
1{2 "agent_id": "agent-prod-01",3 "removed": ["staging"],4 "remaining": ["env:production", "production", "critical"]5}
Обновить метаданные тега
1curl -X PUT "https://api.flowlink.io/v1/tags/pci-dss" \2 -H "Authorization: Bearer $TOKEN" \3 -H "Content-Type: application/json" \4 -d '{"color": "#10b981", "icon": "shield", "description": "PCI DSS compliant resources"}'
Устранение неполадок
Тег не применяется в политике
Убедитесь, что имя тега в политике совпадает с именем на агенте (включая префикс). Проверьте через GET /agents/{id} — поле tags содержит текущие теги.
Системный тег отсутствует
Системные теги создаются при первом connect агента. Если агент ещё не подключался, системные теги не появятся. Выполните health check для принудительного обнаружения.
Превышен лимит 50 тегов
Удалите неиспользуемые кастомные теги через DELETE /agents/{id}/tags. Рассмотрите использование более конкретных тегов вместо множества мелких.
Лучшие практики
Используйте префиксы для согласованности
env:, team:, role:, compliance: — это облегчает поиск и фильтрацию. Пример: env:production, team:backend, role:api.
Не используйте пробелы в именах
Предпочтительны дефисы и нижнее подчёркивание: frontend-api, payment_gateway.
Названия нечувствительны к регистру
production и Production — один тег. Храните согласованно, предпочтительно lowercase.
Используйте системные теги + кастомные
Системные теги дают автоматическую классификацию. Кастомные добавляют бизнес-контекст.
Документируйте схему тегов
Создайте внутренний документ с описанием всех используемых тегов и их назначения. Это помогает команде.