Conversation
be80669 to
1ec50de
Compare
061c0fc to
4203a4c
Compare
1ec50de to
8209d30
Compare
4203a4c to
bb6fd11
Compare
8209d30 to
3daa6b6
Compare
bb6fd11 to
02777e5
Compare
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>
3daa6b6 to
dd684d5
Compare
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueNo actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughThe pull request adds and registers ChangesDescribe command
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~30 minutes Change: Feature · Unblocks: 2 PRs Sequence Diagram(s)sequenceDiagram
participant User
participant DescribeCommand
participant KubernetesCluster
participant WorkloadRenderer
User->>DescribeCommand: Run describe TYPE/NAME
DescribeCommand->>KubernetesCluster: Retrieve workload and pods
KubernetesCluster-->>DescribeCommand: Return workload and attributed pods
DescribeCommand->>WorkloadRenderer: Resolve and render workload view
WorkloadRenderer-->>User: Output table, JSON, or YAML
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No merge-blocking behavior regression is established by the available evidence. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Warning Git: CodeRabbit could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete. Verify repository clone access, such as SSH credentials, before requesting another full review. If clone access is intentionally unavailable, use Comment |
A negative value collided with the ShowAllPods sentinel, so a typo such as --pod-limit -10 showed every pod instead of failing. Also correct the pod list comment, which did not hold for a cluster-scoped root. Signed-off-by: Roee Gil <roee.gil@run.ai>
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). Targetsfeat/cli-describe-renderer, which must merge first.Related issue(s)
Refs #206
Checklist
git commit -s)make check)🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
kli describecommand for inspecting workloads and their associated pods.Bug Fixes