Об этом проекте

Pup — это интерфейс командной строки, опубликованный Datadog, который предоставляет доступ к значительной части платформы observability Datadog через один инструмент. В README он описывается как CLI, готовый для ИИ-агентов: команды самообнаруживаемы, вывод может быть структурирован в формате JSON или YAML для парсинга, а аутентификация поддерживает scoped OAuth2 с PKCE, а не только долгоживущие ключи. Люди также могут им пользоваться. Охват распространяется на многие продуктовые области. Базовая observability включает метрики (V1 и V2), логи, события, RUM (приложения, сессии, события, метрики, фильтры хранения, плейлисты replay, просмотры, тепловые карты), сервисы и сущности APM, трейсы, образцы мониторинга баз данных и session replay. Мониторинг и оповещения охватывают мониторы, дашборды, SLO, synthetics, простои, блокноты, страницы статуса, автоматизацию рабочих процессов и локальные runbooks, определяемые в YAML, с типами шагов pup/shell/http/workflow. Безопасность и соответствие требованиям включают правила/сигналы/находки security monitoring, находки cloud и application security через DDSQL, статический анализ, журналы аудита, управление данными, управление тегами, угрозы CSM, agentless-сканирование для AWS/GCP/Azure, запросы ограничения логов и запросы на удаление данных. Команды для инфраструктуры и облака охватывают хосты, теги, сетевые потоки и устройства, интеграции AWS/GCP/Azure/OCI, контейнеры и процессы. Инструменты для инцидентов и операций включают инциденты, on-call команды и страницы, управление кейсами со связыванием Jira/ServiceNow, отслеживание ошибок, каталог сервисов, scorecards, автоматизацию парка, подключения HAMR, расследования, управление изменениями, change stories, live debugger probes и сущности каталога ПО. Покрытие CI/CD и разработки включает CI visibility, оптимизацию тестов и flaky tests, метрики DORA, сводки покрытия кода и deployment gates. Команды для организации и доступа обрабатывают пользователей, организации, API-ключи, app-ключи и сопоставления AuthN. Области платформы и конфигурации включают измерение использования, управление затратами и Cloud Cost Management, продуктовую аналитику, сторонние интеграции, feature flags, потоки данных Kafka (экспериментально), ограниченные наборы данных, конвейеры observability, LLM observability, справочные таблицы, прочие конечные точки и App Builder. Варианты установки: Homebrew через tap datadog-labs/pack, сборка из исходников с помощью Cargo или загрузка готовых бинарных файлов из releases. Аутентификация поддерживает три метода в порядке приоритета: stateless bearer token через DD_ACCESS_TOKEN, токены OAuth2, полученные через `pup auth login`, и API-ключи через DD_API_KEY и DD_APP_KEY. OAuth2 использует вход через браузер с автоматическим обновлением токена и требует Dynamic Client Registration на сайте Datadog. Несколько сайтов и организаций можно хранить как отдельные именованные сессии и выбирать с помощью --org или DD_ORG; определение сайта следует порядку DD_SITE, затем записанный сайт сессии, затем datadoghq.com. Токены хранятся в защищённом хранилище платформы (macOS Keychain, Linux Secret Service, Windows Credential Manager) с файловым резервным вариантом в ~/.config/pup/ с правами 0600, что можно переопределить через DD_TOKEN_STORAGE или конфигурацию. Примеры использования, приведённые в README, включают `pup monitors list --tags="team:api-platform"`, `pup logs search --query="status:error" --from="1h"` и `pup metrics query --query="avg:system.cpu.user{*}"`. Канонический справочник команд находится в docs/COMMANDS.md, а `pup --help` или `pup agent schema` предоставляет актуальный список команд. Некоторые области отмечены как ещё не реализованные, например profiling, powerpacks, список ролей и IP allowlist. Проект лицензирован под Apache 2.0 и написан на Rust.