I found myself wrapping ChatOps around a CI/CD pipeline to manage scheduled downtime in DataDog (avoiding SLO impact for planned work). For astute readers wondering why this wasn’t a direct API call; I tend to (ab)use CI as a generic task runner (has an API, secret store, etc).
I wanted to identify resources using labels (
this is a common use case and things have hopefully improved, CLIs available
at the time provided numerous ways to manage downtime but lacked tag support.
The DataDog SDK came to the rescue. I resisted the urge to go down the rabbit hole of a full-fledged client (maybe some day), but implemented enough to support my use case and provide a framework for a Go DataDog CLI.
Browse the repo, and feel free to open issues or submit PRs.