Skip to content

apply / create -f / update -f should warn on silently-lossy fields before writing #219

Description

@mmanciop

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions