Add `crossplane resource simulate`

Open
#368 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
go, kubernetes
Domain
cli

Research direction

Start with design/one-pager-cli-simulate.md and the existing project simulate command, including its output formats and summary behavior. Check the dependency in issue #367 before implementing resource simulate, then verify create and update previews against the current kubeconfig context. Done means approximate [?] results, the documented closing warning, and shared output handling without a second implementation.

Written by the indexing model from the issue text.

Description

enhancement
What

Add crossplane resource simulate as an alpha command, per the accepted design (crossplane/cli#181,design/one-pager-cli-simulate.md): given YAML for one or more MRs (-f), show what applying them would do.

  • For each input resource, fetch the live MR from the cluster if one exists.
  • Diff desired against live spec client-side; this is the [?] approximate path from the design, and until the plan layer exists every resource takes it, marked accordingly.
  • A resource with no live counterpart plans as a create.
  • Summary line and -o plan|diff|json|yaml, shared with project simulate

Acceptance criteria

  • crossplane resource simulate -f resources.yaml (alpha) previews creates and updates against the current kubeconfig context.
  • Output marks all results as approximate ([?]) until the plan layer exists, with the documented closing warning.
  • Output formats and summary shared with project simulate (no second implementation).

Out of scope

  • Plan servers and provider-computed diffs, --all provider upgrade preview, --provider-images (follow-up issue: plan layer).

Dependencies

Depends on the work in https://github.com/crossplane/cli/issues/367

Dominant language
Go
Stars
19
Forks
31
Avg merge
2d 15h
Merged PRs (30d)
53

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from crossplane/cli

All issues in crossplane/cli

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.