You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Route `deploy --dry-run` plan diff output to stdout so CI pipelines can capture it cleanly without `2>&1`. Add `--json` / `-j` support to `deploy`: dry-run outputs `{ summary, changes, warnings, conflicts }` and apply outputs `{ summary, status: "applied" }` to stdout for machine-readable consumption. The `warnings` array includes unmanaged resources and skipped secrets; the `conflicts` array lists owner conflicts.
Copy file name to clipboardExpand all lines: packages/sdk/docs/cli/application.md
+37-2Lines changed: 37 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,10 +110,45 @@ Before applying changes, `deploy` shows a preview of the planned resource change
110
110
After the detailed list, a summary line is printed:
111
111
112
112
```text
113
-
Plan: 5 to create, 3 to update, 1 to delete, 25 unchanged
113
+
Plan: 5 to create, 3 to update, 1 to delete
114
114
```
115
115
116
-
Use `--dry-run` to preview the plan without applying anything.
116
+
Use `--dry-run` to preview the plan without applying anything. In dry-run mode the plan is written to **stdout**, so it can be captured in CI without `2>&1`:
117
+
118
+
```bash
119
+
tailor-sdk deploy --dry-run > plan.txt
120
+
```
121
+
122
+
In apply mode, the plan is printed to stderr so it does not interfere with piped output.
123
+
124
+
**JSON Output:**
125
+
126
+
Pass the global `--json` / `-j` flag to get machine-readable output.
127
+
128
+
**Dry-run** (`--dry-run --json`): writes a JSON object to stdout:
-`changes` — planned resource changes, each with `action`, `name`, and optional `labels` / `namespace`.
144
+
-`warnings` — resources not in config (`type: "unmanaged"`) or secrets with missing values (`type: "skippedSecret"`). Unmanaged resources require confirmation in apply mode (apply is cancelled if declined); skipped secrets are non-blocking.
145
+
-`conflicts` — resources owned by another application that conflict with the current config. Require confirmation in apply mode; apply is cancelled if declined.
146
+
147
+
**Apply** (`--json`): writes a JSON object to stdout:
Copy file name to clipboardExpand all lines: packages/sdk/docs/cli/application.template.md
+37-2Lines changed: 37 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,10 +50,45 @@ Before applying changes, `deploy` shows a preview of the planned resource change
50
50
After the detailed list, a summary line is printed:
51
51
52
52
```text
53
-
Plan: 5 to create, 3 to update, 1 to delete, 25 unchanged
53
+
Plan: 5 to create, 3 to update, 1 to delete
54
54
```
55
55
56
-
Use `--dry-run` to preview the plan without applying anything.
56
+
Use `--dry-run` to preview the plan without applying anything. In dry-run mode the plan is written to **stdout**, so it can be captured in CI without `2>&1`:
57
+
58
+
```bash
59
+
tailor-sdk deploy --dry-run > plan.txt
60
+
```
61
+
62
+
In apply mode, the plan is printed to stderr so it does not interfere with piped output.
63
+
64
+
**JSON Output:**
65
+
66
+
Pass the global `--json` / `-j` flag to get machine-readable output.
67
+
68
+
**Dry-run** (`--dry-run --json`): writes a JSON object to stdout:
-`changes` — planned resource changes, each with `action`, `name`, and optional `labels` / `namespace`.
84
+
-`warnings` — resources not in config (`type: "unmanaged"`) or secrets with missing values (`type: "skippedSecret"`). Unmanaged resources require confirmation in apply mode (apply is cancelled if declined); skipped secrets are non-blocking.
85
+
-`conflicts` — resources owned by another application that conflict with the current config. Require confirmation in apply mode; apply is cancelled if declined.
86
+
87
+
**Apply** (`--json`): writes a JSON object to stdout:
0 commit comments