Skip to content

feat: add dash0 slos command group (SLO IaC support)#207

Draft
nicolastakashi wants to merge 2 commits into
mainfrom
slos
Draft

feat: add dash0 slos command group (SLO IaC support)#207
nicolastakashi wants to merge 2 commits into
mainfrom
slos

Conversation

@nicolastakashi

Copy link
Copy Markdown

Summary

Adds SLO (service level objective) support to the Dash0 CLI: a new dash0 slos command group with create/get/list/update/delete, backed by the /api/slos endpoint using OpenSLO v1 documents (apiVersion: openslo/v1, kind: SLO).

  • Dataset-scoped via --dataset; ID at metadata.labels."dash0.com/id"; deep-link URL support (/goto/alerting/slos/details).
  • Wires SLO into apply.
  • Integration tests against the mock server (13 tests) and a roundtrip test registered in run_all.sh.
  • Docs (docs/commands.md, docs/cli-naming-conventions.md) and a .chloggen/ entry.

Part of cross-facility SLO IaC support (API client, CLI, Terraform provider, Kubernetes operator).

⚠️ Draft — blocked on API client release

This branch builds against a local dash0-api-client-go worktree via a go.mod replace directive, because the required API client change (SLO client methods, helpers, DeeplinkAssetTypeSLO) is not published yet. CI will fail until:

  1. dash0-api-client-go is released with SLO support.
  2. The replace directive is removed and go get github.com/dash0hq/dash0-api-client-go@latest + go mod tidy are run (Phase 4 of the rollout).

Keeping this as a draft for early review of the command surface, output strings, and tests in the meantime.

Closes #206

🤖 Generated with Claude Code

nicolastakashi and others added 2 commits July 22, 2026 10:27
Add create/get/list/update/delete subcommands for service level
objectives (SLOs), backed by the /api/slos endpoint using OpenSLO v1
documents (apiVersion: openslo/v1, kind: SLO). Dataset-scoped; ID at
metadata.labels."dash0.com/id"; deep-link URL support.

Also wires SLO into `apply`, adds integration tests against the mock
server, a roundtrip test, docs, and a changelog entry.

Part of cross-facility SLO IaC support (API client, CLI, Terraform
provider, Kubernetes operator).

Note: builds against the local dash0-api-client-go worktree via a
go.mod replace directive while the API client change is unpublished.
The replace must be removed and the require version upgraded once the
API client is released.

Closes #206

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Dash0 SLO API document version changed from openslo/v1 to
openslo.com/v1. Update the CLI's SLO fixtures, tests, help text, docs,
and changelog entry to use the new apiVersion token.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add dash0 slos command group (SLO IaC support)

1 participant