Skip to content

Document crossplane project simulate and crossplane resource simulate #1162

Closed

Description

@jcogilvie

What's Missing?

The CLI is gaining an alpha crossplane project simulate (crossplane/cli#436, for crossplane/cli#367), alongside crossplane resource simulate (crossplane/cli#429, merged). Neither is documented yet. project simulate previews how a project's changed Compositions and embedded functions affect the composite resources on a live cluster. Each composed managed resource can also be planned by its provider's diff server, so cloud-side changes and drift show up.

The docs should cover:

  • What it's for: previewing a change in CI or locally before applying it, and how it relates to crossplane diff (crossplane-contrib/crossplane-diff), whose engine it uses.
  • Input modes: -f/--input takes a project file (the default), Composition files, or XR/claim files, and the mode follows from what's passed. One path per -f; - reads stdin.
  • Provider plans: on by default, --skip-plan to opt out; --providers, --image-configs and --session-id. Kinds no diff server serves keep the cluster diff, and approximate means the server couldn't diff.
  • Output formats: -o plan (the default, terraform-style), -o diff, and -o json|yaml with the plan.Result schema: before/after, field changes and their path grammar, composites, errors, the summary.
  • Exit codes for CI gating: 0, 1, 2, 3, 80, 130, and their precedence.
  • Scoping and pinned composites: --name, -n, --include-pinned, and how XRs on a Manual update policy are reported.
  • Timeouts: --timeout as a per-XR budget, and what happens when one XR fails.
  • Permissions: the cluster access a CI identity needs; it works with get-only access to Functions, Compositions, XRDs and EnvironmentConfigs.

The CLI surface is alpha and still settling, so I'll open the docs PR after crossplane/cli#436 passes review.

Activity

  1. haarchri commented on Oct 25, 2026

    @haarchri
    Member

    This will be done by cli merge to Main branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions