Pup CLI

Aperçu

Pup CLI est une interface de ligne de commande complète, prête pour les agents IA, qui donne aux agents IA accès à la plateforme d’observabilité de Datadog. Elle expose la surface API de Datadog pour une utilisation dans les flux de travail des agents IA et les pipelines automatisés.

Caractéristiques clés :

  • Commandes auto-découvrables : Les commandes sont structurées de sorte que les agents puissent les parcourir sans recourir à une documentation externe.
  • Sortie structurée : Les réponses sont disponibles en JSON et YAML pour un parsing fiable.
  • Authentification à portée limitée : OAuth2 et PKCE fournissent un accès limité sans clés API à long terme.
  • Couverture étendue de produits : Pup prend en charge les moniteurs, les journaux, les métriques, RUM, la sécurité, et plus encore.
Cette page couvre les fonctionnalités principales de Pup. Consultez la documentation du dépôt Pup pour la liste complète des fonctionnalités et des commandes.

Installation

Homebrew (macOS/Linux)

brew tap datadog-labs/pack
brew install datadog-labs/pack/pup

Construire à partir de la source

git clone https://github.com/DataDog/pup.git && cd pup
cargo build --release
cp target/release/pup /usr/local/bin/pup

Téléchargement manuel

Téléchargez les binaires précompilés depuis la dernière version.

Exemples d’utilisation

# Log in to Datadog
pup auth login

# List monitors filtered by tag
pup monitors list --tags="team:api-platform"

# Search logs for errors in the last hour
pup logs search --query="status:error" --from="1h"

# Query CPU metrics
pup metrics query --query="avg:system.cpu.user{*}" --from="1h"

# Get dashboard details
pup dashboards get <DASHBOARD_ID>

# Delete a dashboard
pup dashboards delete <DASHBOARD_ID> --yes

Domaines de produits pris en charge

Pup couvre la plupart des surfaces de produits majeurs de Datadog. Consultez la référence de commande pour la liste canonique des commandes spécifiques au produit. Vous pouvez également exécuter pup --help (ou pup agent schema pour une sortie lisible par machine) pour la liste en direct des commandes telles qu’elles sont construites.

CatégorieExemples
Observabilité de baseMétriques, journaux, événements, RUM, APM, traces
Surveillance et alertesMoniteurs, tableaux de bord, SLOs, synthétiques, temps d’arrêt, flux de travail
Sécurité et conformité: Règles de sécurité, signaux, constats, journaux d’audit, menaces CSM
Infrastructure et cloudHôtes, balises, conteneurs, réseau, intégrations AWS/GCP/Azure
Incidents et opérationsIncidents, astreinte, gestion des cas, suivi des erreurs, catalogue de services
CI/CD et développementVisibilité CI, optimisation des tests, métriques DORA, portes de déploiement
Organisation et accèsUtilisateurs, clés API, clés d’application, organisations
Plateforme et configurationMesure d’utilisation, gestion des coûts, drapeaux de fonctionnalités, pipelines d’observabilité

Mode agent

Lorsque Pup est invoqué par un agent de codage IA, il passe automatiquement en mode agent, qui renvoie des réponses JSON structurées optimisées pour la consommation par machine. Les réponses incluent des métadonnées, des détails d’erreur et des indices. Le mode agent approuve également automatiquement les invites de confirmation.

Le mode agent est détecté automatiquement pour les agents de codage pris en charge lorsque leur variable d’environnement est définie. Vous pouvez également l’activer explicitement avec le flag --agent ou en définissant FORCE_AGENT_MODE=1.

Fonctionnalités supplémentaires

Pup inclut des fonctionnalités supplémentaires qui peuvent être utilisées dans les flux de travail des agents IA—suivez les liens ci-dessous pour plus d’informations :

  • Runbooks : pup runbooks est un moteur d’exécution local pour des procédures opérationnelles définies en YAML, encodant des tâches multi-étapes utilisant pup, shell, HTTP et des étapes de flux de travail Datadog.
  • Compétences de l’agent : Pup fournit des compétences et des agents de domaine intégrés dans le binaire, installables sur tout assistant de codage IA avec pup skills install.
  • Serveur ACP : pup acp serve exécute un serveur d’agent IA local qui connecte les outils de codage à Datadog Bits AI via ACP et des protocoles compatibles avec OpenAI.

Authentification

Pup prend en charge les méthodes d’authentification OAuth2 et par clé API. OAuth2 est préféré ; exécutez pup auth login pour vous authentifier via votre navigateur. Si OAuth2 n’est pas disponible, Pup revient aux clés API (DD_API_KEY et DD_APP_KEY). Consultez la documentation d’authentification pour plus de détails.

Flags globaux

DrapeauDescription
-o, --outputFormat de sortie (json, table, yaml). Par défaut : json
-y, --yesIgnorer les invites de confirmation pour les opérations destructrices
--agentActiver le mode agent
--no-agentDésactiver le mode agent
--read-onlyBloquer toutes les opérations d’écriture (créer, mettre à jour, supprimer)
--org <org>Utiliser un profil d’organisation nommé pour des flux de travail multi-comptes (exécutez pup auth login --org pour configurer)
-h, --helpImprimer l’aide

Variables d’environnement

VariableDescription
DD_ACCESS_TOKENJeton d’accès pour authentification sans état
DD_API_KEYClé API Datadog (optionnelle si vous utilisez OAuth2 ou DD_ACCESS_TOKEN)
DD_APP_KEYClé d’application Datadog (optionnelle si vous utilisez OAuth2 ou DD_ACCESS_TOKEN)
DD_SITESite Datadog (par défaut : datadoghq.com)
DD_AUTO_APPROVEApprouver automatiquement les opérations destructrices (true/false)
DD_TOKEN_STORAGEBackend de stockage de jetons (keychain ou file, par défaut : détection automatique)

Pour en savoir plus