Skip to content

feat(cli): add the describe command - #327

Draft
rogirun wants to merge 1 commit into
feat/cli-describe-rendererfrom
feat/cli-describe-command
Draft

feat(cli): add the describe command#327
rogirun wants to merge 1 commit into
feat/cli-describe-rendererfrom
feat/cli-describe-command

Conversation

@rogirun

@rogirun rogirun commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Wires up kli describe TYPE/NAME. Argument parsing is shared with get, so both accept the same forms; describe additionally requires the NAME. Pods are listed once from the object's own namespace and scoped by ownership before the definition's selectors place them.

Part of a seven-PR stack implementing kli describe (#206). Targets feat/cli-describe-renderer, which must merge first.

Related issue(s)

Refs #206

Checklist

  • All commits are signed off with DCO (git commit -s)
  • New/modified files have SPDX license and copyright headers
  • Documentation updated (if applicable)
  • Tests pass (make check)
  • No proprietary or internal information included

🤖 Generated with Claude Code

@rogirun
rogirun force-pushed the feat/cli-describe-command branch from be80669 to 1ec50de Compare September 6, 2026 12:59
@rogirun
rogirun force-pushed the feat/cli-describe-renderer branch 2 times, most recently from 061c0fc to 4203a4c Compare September 7, 2026 10:43
@rogirun
rogirun force-pushed the feat/cli-describe-command branch from 1ec50de to 8209d30 Compare September 7, 2026 10:43
kli describe TYPE/NAME reads one workload in full: the component tree with its
live pods, the normalized phase, and the requested resources per component. It
is the describe half of the kubectl-style get/describe split, and the entry
point an agent uses when it needs the whole picture of one workload.

Argument parsing is shared with get, so both commands accept TYPE/NAME and the
two-token TYPE NAME form and reject the same mistakes; describe additionally
requires the NAME, and says so naming both forms rather than only the one the
caller did not use. Phase 1 keeps the kind mandatory, and the parsing leaves
the bare-NAME slot open for the cross-kind search that follows.

Pods are listed once from the object's own namespace and scoped by ownership
before the definition's selectors place them, so a neighbouring workload of the
same type never appears in the tree. -o wide is rejected at parse time: one
workload has no extra columns to widen into.

Refs #206

Signed-off-by: Roee Gil <roee.gil@run.ai>
@rogirun
rogirun force-pushed the feat/cli-describe-renderer branch from 4203a4c to bb6fd11 Compare September 7, 2026 12:20
@rogirun
rogirun force-pushed the feat/cli-describe-command branch from 8209d30 to 3daa6b6 Compare September 7, 2026 12:20
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.

1 participant