The Dash0 API silently drops several categories of client-supplied fields on write — most notably any metadata.labels or metadata.annotations outside the dash0.com/* namespace, but also server-managed timestamps (dash0.com/created-at, dash0.com/updated-at) and derived id/origin labels the caller cannot set.
The CLI's write paths (apply, create -f, update -f across every domain) currently forward the document as-is. The user gets a "created" or "updated" success, but their intent — say, metadata.labels.team-lead: alice — is silently dropped.
Current behavior
$ cat team.yaml
apiVersion: dash0.com/v1alpha1
kind: Dash0Team
metadata:
name: backend
labels:
team-lead: alice # will be silently dropped
dash0.com/origin: git # ok
spec:
display:
name: Backend
color: {from: "#000", to: "#FFF"}
members: []
$ dash0 apply -f team.yaml
Team "Backend" created (id: team_01…).
$ dash0 -X teams get team_01… -o yaml | yq .metadata.labels
dash0.com/id: team_01…
dash0.com/origin: git
dash0.com/source: cli
# team-lead: alice — silently gone
No warning, no diagnostic, no non-zero exit. A user who then exports the team, edits the description, and re-applies has lost their custom label entirely with no signal at any step.
The Dash0 API silently drops several categories of client-supplied fields on write — most notably any
metadata.labelsormetadata.annotationsoutside thedash0.com/*namespace, but also server-managed timestamps (dash0.com/created-at,dash0.com/updated-at) and derived id/origin labels the caller cannot set.The CLI's write paths (
apply,create -f,update -facross every domain) currently forward the document as-is. The user gets a "created" or "updated" success, but their intent — say,metadata.labels.team-lead: alice— is silently dropped.Current behavior
No warning, no diagnostic, no non-zero exit. A user who then exports the team, edits the description, and re-applies has lost their custom label entirely with no signal at any step.