Skip to content
Proud to collaborate with Microsoft for Startups

gitops.diff ​

Preview pending changes for a GitOpsApplication (read-only diff)

Preview what the next reconcile of a GitOpsApplication would change, read-only.

Resolves the tracked revision, renders the manifest set, and computes a server-side dry-run diff against the live cluster. Never applies, never prunes, never records a sync run — safe on any application.

Inputs:

  • organization_uuid: calling org (required).
  • application_uuid: the GitOpsApplication to preview (required).

Outputs:

  • status: synced | out_of_sync.
  • commit_sha: the resolved revision the preview was computed against.
  • is_synced: True when the cluster already matches the desired manifests.
  • result: the k8s.manifest.diff_set report — out_of_sync[] entries each carry live + desired objects for a field-level / YAML diff.

Composes: data.gitops.application.get, github.refs.resolve, github.code.get_tree, github.code.get_blob, k8s.manifest.diff_set.

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-gitops
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
organization_uuiduuidYes——
application_uuiduuidYes——

Output Schema ​

FieldTypeRequiredDefaultDescription
application_uuiduuidNo——
statusstringNo—synced
commit_shastringNo——
resolved_refstringNo——
manifest_countintegerNo——
is_syncedbooleanNo——
resultjsonNo—k8s.manifest.diff_set output (out_of_sync with live/desired objects, in_sync_count, is_synced)
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
failed_stepstringNo——
failed_layerstringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—preview—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingpreviewcompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "gitops.diff",
  "initial_data": {
    "organization_uuid": "value",
    "application_uuid": "value"
  }
}