Problem
In CLI v1.13.0, dash0 spam-filters list fails to decode spam filters that were created by the Dash0 Kubernetes operator.
The operator-managed spam filters use an apiVersion value that the CLI does not recognize, causing the entire list response to fail to decode.
The other spam-filter subcommands (create, update, delete, and get by ID) continue to function — only list is broken, because it is the only command that has to deserialize the full set of stored definitions at once.
User-facing behavior
dash0 spam-filters list returns a decoding error instead of the list of spam filters.
- Users cannot enumerate spam filters in any environment that contains at least one operator-managed spam filter.
- This blocks workflows that rely on
spam-filters list (e.g., bulk export via -o yaml, audits, CI checks).
Acceptance criteria
dash0 spam-filters list succeeds against datasets that contain operator-managed spam filters.
- All currently known
apiVersion values for spam filters (CLI-managed and operator-managed) are accepted by the list decoder.
- An unknown
apiVersion on a single item does not cause the entire list response to fail; the CLI surfaces a clear error or skips the unknown item with a warning, depending on the agreed behavior.
- A roundtrip or integration test covers a
list response that mixes operator-managed and CLI-managed spam filters.
Notes
The root cause appears to be that the Kubernetes operator uses a different API group for spam filters than the one the CLI expects. Investigation of the exact mismatch and the right resolution (accepting the operator's apiVersion, normalizing on read, etc.) is part of this issue.
Problem
In CLI v1.13.0,
dash0 spam-filters listfails to decode spam filters that were created by the Dash0 Kubernetes operator.The operator-managed spam filters use an
apiVersionvalue that the CLI does not recognize, causing the entire list response to fail to decode.The other spam-filter subcommands (
create,update,delete, andgetby ID) continue to function — onlylistis broken, because it is the only command that has to deserialize the full set of stored definitions at once.User-facing behavior
dash0 spam-filters listreturns a decoding error instead of the list of spam filters.spam-filters list(e.g., bulk export via-o yaml, audits, CI checks).Acceptance criteria
dash0 spam-filters listsucceeds against datasets that contain operator-managed spam filters.apiVersionvalues for spam filters (CLI-managed and operator-managed) are accepted by the list decoder.apiVersionon a single item does not cause the entire list response to fail; the CLI surfaces a clear error or skips the unknown item with a warning, depending on the agreed behavior.listresponse that mixes operator-managed and CLI-managed spam filters.Notes
The root cause appears to be that the Kubernetes operator uses a different API group for spam filters than the one the CLI expects. Investigation of the exact mismatch and the right resolution (accepting the operator's apiVersion, normalizing on read, etc.) is part of this issue.