dev-cockpit 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -32
- package/bin/dev-cockpit.mjs +1 -1
- package/dist/buildCli.d.ts.map +1 -1
- package/dist/{chunk-A446TCT5.js → chunk-YTMK7EXK.js} +1 -1
- package/dist/chunk-YTMK7EXK.js.map +7 -0
- package/dist/cockpit/Footer.d.ts.map +1 -1
- package/dist/cockpit/hooks/useGlobalKeys.d.ts.map +1 -1
- package/dist/cockpit/panes/FilterModal.d.ts.map +1 -1
- package/dist/cockpit/panes/Output.d.ts.map +1 -1
- package/dist/cockpit/panes/Repos.d.ts.map +1 -1
- package/dist/cockpit/panes/SearchModal.d.ts.map +1 -1
- package/dist/cockpit/state/store.d.ts.map +1 -1
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/init-config-wizard.d.ts.map +1 -1
- package/dist/commands/init-config.d.ts.map +1 -1
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/migrate-config.d.ts.map +1 -1
- package/dist/commands/mount.d.ts +16 -3
- package/dist/commands/mount.d.ts.map +1 -1
- package/dist/core/config-discovery.d.ts.map +1 -1
- package/dist/core/config.d.ts +13 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/core/migrations.d.ts.map +1 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/subprocess.d.ts.map +1 -1
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/docker/highlights.d.ts.map +1 -1
- package/dist/health/builtin.d.ts.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +364 -159
- package/dist/index.js.map +3 -3
- package/dist/ink.d.ts +1 -1
- package/dist/ink.d.ts.map +1 -1
- package/dist/{link-VWT2VQH6.js → link-Y7OFHOUP.js} +4 -6
- package/dist/link-Y7OFHOUP.js.map +7 -0
- package/dist/mount/compose.d.ts.map +1 -1
- package/dist/mount/symlinks.d.ts.map +1 -1
- package/dist/mount/types.d.ts +6 -0
- package/dist/mount/types.d.ts.map +1 -1
- package/docs/commands.md +8 -8
- package/docs/config-reference.md +45 -41
- package/docs/health.md +32 -22
- package/docs/init-config.md +16 -16
- package/docs/mount.md +8 -7
- package/docs/notifications.md +3 -3
- package/docs/panes.md +5 -5
- package/docs/processes.md +7 -5
- package/examples/cockpit.schema.json +222 -57
- package/examples/cockpit.yaml +8 -10
- package/package.json +99 -93
- package/prettier-config.json +7 -0
- package/dist/chunk-A446TCT5.js.map +0 -7
- package/dist/link-VWT2VQH6.js.map +0 -7
|
@@ -18,12 +18,16 @@
|
|
|
18
18
|
"processes": {
|
|
19
19
|
"type": "array",
|
|
20
20
|
"description": "Long-running commands streamed into the Output pane. Each runs once at startup and is restarted on `restartOn` fsevents.",
|
|
21
|
-
"items": {
|
|
21
|
+
"items": {
|
|
22
|
+
"$ref": "#/$defs/Process"
|
|
23
|
+
}
|
|
22
24
|
},
|
|
23
25
|
"repos": {
|
|
24
26
|
"type": "array",
|
|
25
27
|
"description": "Rows shown in the Repos/Targets pane.",
|
|
26
|
-
"items": {
|
|
28
|
+
"items": {
|
|
29
|
+
"$ref": "#/$defs/Repo"
|
|
30
|
+
}
|
|
27
31
|
},
|
|
28
32
|
"docker": {
|
|
29
33
|
"$ref": "#/$defs/Docker",
|
|
@@ -32,12 +36,16 @@
|
|
|
32
36
|
"highlights": {
|
|
33
37
|
"type": "array",
|
|
34
38
|
"description": "Regex patterns applied to all output streams (processes + docker). Each can carry an explicit severity; otherwise inferred.",
|
|
35
|
-
"items": {
|
|
39
|
+
"items": {
|
|
40
|
+
"$ref": "#/$defs/Highlight"
|
|
41
|
+
}
|
|
36
42
|
},
|
|
37
43
|
"health": {
|
|
38
44
|
"type": "array",
|
|
39
45
|
"description": "Health-check declarations. `type` references a built-in (`container-running` | `port-open` | `http-ok` | `file-exists` | `exec-zero`) or a profile-registered check id.",
|
|
40
|
-
"items": {
|
|
46
|
+
"items": {
|
|
47
|
+
"$ref": "#/$defs/HealthCheck"
|
|
48
|
+
}
|
|
41
49
|
},
|
|
42
50
|
"help": {
|
|
43
51
|
"$ref": "#/$defs/Help",
|
|
@@ -50,7 +58,9 @@
|
|
|
50
58
|
"mounts": {
|
|
51
59
|
"type": "array",
|
|
52
60
|
"description": "Explicit `{hostPath, containerPath, meta?}` candidates for `dev-cockpit mount`. Merged with `profile.mountCandidatesProvider()`.",
|
|
53
|
-
"items": {
|
|
61
|
+
"items": {
|
|
62
|
+
"$ref": "#/$defs/Mount"
|
|
63
|
+
}
|
|
54
64
|
},
|
|
55
65
|
"mount": {
|
|
56
66
|
"$ref": "#/$defs/MountSettings",
|
|
@@ -64,7 +74,9 @@
|
|
|
64
74
|
"actions": {
|
|
65
75
|
"type": "array",
|
|
66
76
|
"description": "Named, key-bound shell commands surfaced via the `:` command palette and the Targets pane.",
|
|
67
|
-
"items": {
|
|
77
|
+
"items": {
|
|
78
|
+
"$ref": "#/$defs/Action"
|
|
79
|
+
}
|
|
68
80
|
},
|
|
69
81
|
"profile": {
|
|
70
82
|
"type": "object",
|
|
@@ -76,13 +88,18 @@
|
|
|
76
88
|
"NotifyOverride": {
|
|
77
89
|
"description": "Either `false` (mute notifications for this item) or `{ onTransitionTo: [...] }` to override the global transition list.",
|
|
78
90
|
"oneOf": [
|
|
79
|
-
{
|
|
91
|
+
{
|
|
92
|
+
"type": "boolean",
|
|
93
|
+
"const": false
|
|
94
|
+
},
|
|
80
95
|
{
|
|
81
96
|
"type": "object",
|
|
82
97
|
"properties": {
|
|
83
98
|
"onTransitionTo": {
|
|
84
99
|
"type": "array",
|
|
85
|
-
"items": {
|
|
100
|
+
"items": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
}
|
|
86
103
|
}
|
|
87
104
|
},
|
|
88
105
|
"additionalProperties": false
|
|
@@ -93,18 +110,40 @@
|
|
|
93
110
|
"type": "object",
|
|
94
111
|
"required": ["id", "command"],
|
|
95
112
|
"properties": {
|
|
96
|
-
"id": {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
113
|
+
"id": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"label": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
},
|
|
119
|
+
"command": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "Shell command. Spawned via the wrapper with the workspace as cwd by default."
|
|
122
|
+
},
|
|
123
|
+
"cwd": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "Workspace-relative override of the process working dir."
|
|
126
|
+
},
|
|
127
|
+
"env": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"additionalProperties": {
|
|
130
|
+
"type": "string"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"color": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"description": "ANSI colour for prefixed output (cyan / magenta / yellow / blue / green / red / white)."
|
|
136
|
+
},
|
|
102
137
|
"restartOn": {
|
|
103
138
|
"type": "array",
|
|
104
|
-
"items": {
|
|
139
|
+
"items": {
|
|
140
|
+
"type": "string"
|
|
141
|
+
},
|
|
105
142
|
"description": "Glob patterns; when a matching file changes, the process is killed + respawned."
|
|
106
143
|
},
|
|
107
|
-
"notify": {
|
|
144
|
+
"notify": {
|
|
145
|
+
"$ref": "#/$defs/NotifyOverride"
|
|
146
|
+
}
|
|
108
147
|
},
|
|
109
148
|
"additionalProperties": false
|
|
110
149
|
},
|
|
@@ -112,9 +151,16 @@
|
|
|
112
151
|
"type": "object",
|
|
113
152
|
"required": ["id", "path"],
|
|
114
153
|
"properties": {
|
|
115
|
-
"id": {
|
|
116
|
-
|
|
117
|
-
|
|
154
|
+
"id": {
|
|
155
|
+
"type": "string"
|
|
156
|
+
},
|
|
157
|
+
"path": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"description": "Workspace-relative path to the repo root."
|
|
160
|
+
},
|
|
161
|
+
"label": {
|
|
162
|
+
"type": "string"
|
|
163
|
+
}
|
|
118
164
|
},
|
|
119
165
|
"additionalProperties": false
|
|
120
166
|
},
|
|
@@ -122,8 +168,14 @@
|
|
|
122
168
|
"type": "object",
|
|
123
169
|
"required": ["name"],
|
|
124
170
|
"properties": {
|
|
125
|
-
"name": {
|
|
126
|
-
|
|
171
|
+
"name": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "Compose service name."
|
|
174
|
+
},
|
|
175
|
+
"tail": {
|
|
176
|
+
"type": "boolean",
|
|
177
|
+
"default": true
|
|
178
|
+
}
|
|
127
179
|
},
|
|
128
180
|
"additionalProperties": false
|
|
129
181
|
},
|
|
@@ -136,7 +188,9 @@
|
|
|
136
188
|
},
|
|
137
189
|
"services": {
|
|
138
190
|
"type": "array",
|
|
139
|
-
"items": {
|
|
191
|
+
"items": {
|
|
192
|
+
"$ref": "#/$defs/Service"
|
|
193
|
+
},
|
|
140
194
|
"description": "Services to tail in the Output pane + reference as `container-running` health check targets."
|
|
141
195
|
}
|
|
142
196
|
},
|
|
@@ -146,7 +200,10 @@
|
|
|
146
200
|
"type": "object",
|
|
147
201
|
"required": ["pattern"],
|
|
148
202
|
"properties": {
|
|
149
|
-
"pattern": {
|
|
203
|
+
"pattern": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"description": "JavaScript-flavour regex."
|
|
206
|
+
},
|
|
150
207
|
"severity": {
|
|
151
208
|
"type": "string",
|
|
152
209
|
"enum": ["info", "warn", "error"],
|
|
@@ -159,10 +216,21 @@
|
|
|
159
216
|
"type": "object",
|
|
160
217
|
"required": ["key", "label", "command"],
|
|
161
218
|
"properties": {
|
|
162
|
-
"key": {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
219
|
+
"key": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"minLength": 1,
|
|
222
|
+
"maxLength": 1,
|
|
223
|
+
"description": "Single key character that triggers the remediation in the Health pane."
|
|
224
|
+
},
|
|
225
|
+
"label": {
|
|
226
|
+
"type": "string"
|
|
227
|
+
},
|
|
228
|
+
"command": {
|
|
229
|
+
"type": "string"
|
|
230
|
+
},
|
|
231
|
+
"cwd": {
|
|
232
|
+
"type": "string"
|
|
233
|
+
}
|
|
166
234
|
},
|
|
167
235
|
"additionalProperties": false
|
|
168
236
|
},
|
|
@@ -170,8 +238,12 @@
|
|
|
170
238
|
"type": "object",
|
|
171
239
|
"required": ["id", "label", "type", "remediation"],
|
|
172
240
|
"properties": {
|
|
173
|
-
"id": {
|
|
174
|
-
|
|
241
|
+
"id": {
|
|
242
|
+
"type": "string"
|
|
243
|
+
},
|
|
244
|
+
"label": {
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
175
247
|
"type": {
|
|
176
248
|
"type": "string",
|
|
177
249
|
"description": "Built-in: container-running | port-open | http-ok | file-exists | exec-zero. Profiles may register additional check types."
|
|
@@ -183,20 +255,57 @@
|
|
|
183
255
|
},
|
|
184
256
|
"triggers": {
|
|
185
257
|
"type": "array",
|
|
186
|
-
"items": {
|
|
258
|
+
"items": {
|
|
259
|
+
"type": "string",
|
|
260
|
+
"enum": ["startup", "fsevent", "lockfile", "docker"]
|
|
261
|
+
},
|
|
187
262
|
"description": "When to re-run this check. Sensible defaults per check type when omitted."
|
|
188
263
|
},
|
|
189
|
-
"url": {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
"
|
|
198
|
-
|
|
199
|
-
|
|
264
|
+
"url": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"description": "http-ok target."
|
|
267
|
+
},
|
|
268
|
+
"expectStatus": {
|
|
269
|
+
"type": "integer",
|
|
270
|
+
"description": "http-ok success status (default 200)."
|
|
271
|
+
},
|
|
272
|
+
"container": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"description": "container-running target — compose service or container name (substring match against `docker ps --filter name=`)."
|
|
275
|
+
},
|
|
276
|
+
"port": {
|
|
277
|
+
"type": "integer",
|
|
278
|
+
"description": "port-open TCP port."
|
|
279
|
+
},
|
|
280
|
+
"host": {
|
|
281
|
+
"type": "string",
|
|
282
|
+
"description": "port-open / http-ok host override (default 127.0.0.1)."
|
|
283
|
+
},
|
|
284
|
+
"path": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"description": "file-exists path (workspace-relative)."
|
|
287
|
+
},
|
|
288
|
+
"command": {
|
|
289
|
+
"type": "string",
|
|
290
|
+
"description": "exec-zero command to run (success = exit 0)."
|
|
291
|
+
},
|
|
292
|
+
"args": {
|
|
293
|
+
"type": "array",
|
|
294
|
+
"items": {
|
|
295
|
+
"type": "string"
|
|
296
|
+
},
|
|
297
|
+
"description": "exec-zero argv."
|
|
298
|
+
},
|
|
299
|
+
"cwd": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"description": "exec-zero cwd override."
|
|
302
|
+
},
|
|
303
|
+
"notify": {
|
|
304
|
+
"$ref": "#/$defs/NotifyOverride"
|
|
305
|
+
},
|
|
306
|
+
"remediation": {
|
|
307
|
+
"$ref": "#/$defs/Remediation"
|
|
308
|
+
}
|
|
200
309
|
},
|
|
201
310
|
"additionalProperties": false
|
|
202
311
|
},
|
|
@@ -205,25 +314,37 @@
|
|
|
205
314
|
"properties": {
|
|
206
315
|
"sources": {
|
|
207
316
|
"type": "array",
|
|
208
|
-
"items": {
|
|
317
|
+
"items": {
|
|
318
|
+
"type": "string"
|
|
319
|
+
},
|
|
209
320
|
"description": "Workspace-relative paths to markdown dirs layered on top of built-in help."
|
|
210
321
|
},
|
|
211
|
-
"defaultPage": {
|
|
322
|
+
"defaultPage": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"description": "Slug of the page to land on when Help opens."
|
|
325
|
+
}
|
|
212
326
|
},
|
|
213
327
|
"additionalProperties": false
|
|
214
328
|
},
|
|
215
329
|
"Notifications": {
|
|
216
330
|
"type": "object",
|
|
217
331
|
"properties": {
|
|
218
|
-
"enabled": {
|
|
332
|
+
"enabled": {
|
|
333
|
+
"type": "boolean",
|
|
334
|
+
"default": true
|
|
335
|
+
},
|
|
219
336
|
"onTransitionTo": {
|
|
220
337
|
"type": "array",
|
|
221
|
-
"items": {
|
|
338
|
+
"items": {
|
|
339
|
+
"type": "string"
|
|
340
|
+
},
|
|
222
341
|
"description": "Severities that fire a notification on transition (default: [error, recovered])."
|
|
223
342
|
},
|
|
224
343
|
"exclude": {
|
|
225
344
|
"type": "array",
|
|
226
|
-
"items": {
|
|
345
|
+
"items": {
|
|
346
|
+
"type": "string"
|
|
347
|
+
},
|
|
227
348
|
"description": "Check ids to mute even when their severity matches."
|
|
228
349
|
}
|
|
229
350
|
},
|
|
@@ -233,20 +354,44 @@
|
|
|
233
354
|
"type": "object",
|
|
234
355
|
"required": ["hostPath"],
|
|
235
356
|
"properties": {
|
|
236
|
-
"hostPath": {
|
|
237
|
-
|
|
357
|
+
"hostPath": {
|
|
358
|
+
"type": "string"
|
|
359
|
+
},
|
|
360
|
+
"containerPath": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"description": "Absolute path inside the container. Required when kind='bind' (the default); omit for kind='symlink-only'."
|
|
363
|
+
},
|
|
238
364
|
"kind": {
|
|
239
365
|
"type": "string",
|
|
240
366
|
"enum": ["bind", "symlink-only"],
|
|
241
367
|
"description": "How the mount is materialised. 'bind' (default) emits a docker-compose bind into the overlay. 'symlink-only' skips the docker bind — used when a host-side symlink (via Profile.mountSymlinks) is the only artefact, e.g. when redirecting a pre-existing compose bind to a dev clone."
|
|
242
368
|
},
|
|
243
|
-
"
|
|
369
|
+
"alternativeSources": {
|
|
370
|
+
"type": "array",
|
|
371
|
+
"items": { "type": "string" },
|
|
372
|
+
"description": "Optional alternative parent-dir clones the user can swap in for hostPath via the interactive picker (e.g. forks/branches sitting next to the auto-detected default). Populated by the profile's mountCandidatesProvider; consumed by dev-cockpit at picker time."
|
|
373
|
+
},
|
|
374
|
+
"meta": {
|
|
375
|
+
"type": "object",
|
|
376
|
+
"description": "Opaque to dev-cockpit core; consumed by profile hooks (e.g. awc reads meta.name and meta.type)."
|
|
377
|
+
}
|
|
244
378
|
},
|
|
245
379
|
"additionalProperties": false,
|
|
246
380
|
"allOf": [
|
|
247
381
|
{
|
|
248
|
-
"if": {
|
|
249
|
-
|
|
382
|
+
"if": {
|
|
383
|
+
"not": {
|
|
384
|
+
"properties": {
|
|
385
|
+
"kind": {
|
|
386
|
+
"const": "symlink-only"
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
"required": ["kind"]
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"then": {
|
|
393
|
+
"required": ["containerPath"]
|
|
394
|
+
}
|
|
250
395
|
}
|
|
251
396
|
]
|
|
252
397
|
},
|
|
@@ -261,6 +406,10 @@
|
|
|
261
406
|
"type": "string",
|
|
262
407
|
"default": "mount.manifest.json",
|
|
263
408
|
"description": "Basename inside stateDir for the mount manifest."
|
|
409
|
+
},
|
|
410
|
+
"service": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"description": "Target compose service. Unset = first in docker.services."
|
|
264
413
|
}
|
|
265
414
|
},
|
|
266
415
|
"additionalProperties": false
|
|
@@ -269,10 +418,19 @@
|
|
|
269
418
|
"type": "object",
|
|
270
419
|
"required": ["id", "label", "command"],
|
|
271
420
|
"properties": {
|
|
272
|
-
"id": {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
"
|
|
421
|
+
"id": {
|
|
422
|
+
"type": "string"
|
|
423
|
+
},
|
|
424
|
+
"label": {
|
|
425
|
+
"type": "string"
|
|
426
|
+
},
|
|
427
|
+
"command": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"description": "Shell command to run. cwd defaults to the workspace."
|
|
430
|
+
},
|
|
431
|
+
"cwd": {
|
|
432
|
+
"type": "string"
|
|
433
|
+
},
|
|
276
434
|
"scope": {
|
|
277
435
|
"type": "string",
|
|
278
436
|
"pattern": "^(global|repos(:[\\w-]+)?)$",
|
|
@@ -289,10 +447,17 @@
|
|
|
289
447
|
"allOf": [
|
|
290
448
|
{
|
|
291
449
|
"if": {
|
|
292
|
-
"properties": {
|
|
450
|
+
"properties": {
|
|
451
|
+
"scope": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"pattern": "^repos(:.*)?$"
|
|
454
|
+
}
|
|
455
|
+
},
|
|
293
456
|
"required": ["scope"]
|
|
294
457
|
},
|
|
295
|
-
"then": {
|
|
458
|
+
"then": {
|
|
459
|
+
"required": ["key"]
|
|
460
|
+
}
|
|
296
461
|
}
|
|
297
462
|
]
|
|
298
463
|
}
|
package/examples/cockpit.yaml
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
# DEV_COCKPIT_CONFIG=<path> dev-cockpit dev # one-shot env override
|
|
8
8
|
# dev-cockpit dev --config <path> # one-shot CLI override
|
|
9
9
|
|
|
10
|
-
version: 2
|
|
11
|
-
appName: my-app
|
|
10
|
+
version: 2 # config schema version; required (v1 auto-migrated in memory)
|
|
11
|
+
appName: my-app # state dir: ~/.local/state/my-app/<workspace-hash>/
|
|
12
12
|
|
|
13
13
|
# Processes — long-running commands streamed into the Output pane.
|
|
14
14
|
# Renamed from `watchers` in schema v2; v1 configs still load with a one-time warning.
|
|
@@ -25,7 +25,7 @@ processes:
|
|
|
25
25
|
label: eslint
|
|
26
26
|
command: npx eslint . --watch
|
|
27
27
|
color: yellow
|
|
28
|
-
notify: false
|
|
28
|
+
notify: false # mute notifications for this process
|
|
29
29
|
restartOn:
|
|
30
30
|
- package.json
|
|
31
31
|
- .eslintrc.*
|
|
@@ -59,7 +59,7 @@ highlights:
|
|
|
59
59
|
severity: error
|
|
60
60
|
- pattern: WARN
|
|
61
61
|
severity: warn
|
|
62
|
-
- pattern:
|
|
62
|
+
- pattern: 'Stack trace'
|
|
63
63
|
severity: error
|
|
64
64
|
|
|
65
65
|
# Health checks — `type` references a built-in or profile-registered check id.
|
|
@@ -70,7 +70,7 @@ health:
|
|
|
70
70
|
type: http-ok
|
|
71
71
|
url: http://localhost:3000/health
|
|
72
72
|
notify:
|
|
73
|
-
onTransitionTo: [error]
|
|
73
|
+
onTransitionTo: [error] # only notify on going-down, not on recovery
|
|
74
74
|
remediation:
|
|
75
75
|
key: a
|
|
76
76
|
label: restart api
|
|
@@ -122,6 +122,7 @@ notifications:
|
|
|
122
122
|
# mount:
|
|
123
123
|
# overlayPath: docker/compose/dev-mount-overlay.yml # workspace-relative
|
|
124
124
|
# manifestFile: mount.manifest.json # basename inside stateDir
|
|
125
|
+
# service: web # target compose service (default: first in docker.services)
|
|
125
126
|
|
|
126
127
|
# Actions — named, key-bound shell commands surfaced via the `:` palette and
|
|
127
128
|
# the Targets pane. `scope` values: `global` | `repos` | `repos:<id>`.
|
|
@@ -133,14 +134,11 @@ actions:
|
|
|
133
134
|
key: o
|
|
134
135
|
|
|
135
136
|
# Which pane the cockpit lands on when it boots.
|
|
136
|
-
defaultPane: repos
|
|
137
|
+
defaultPane: repos # repos | output | health | help
|
|
138
|
+
|
|
137
139
|
|
|
138
140
|
# Profile-specific config lives under `profile.<name>` — validated by the
|
|
139
141
|
# profile's `configSchemaExt` zod extension. Generic core ignores this block.
|
|
140
142
|
# profile:
|
|
141
143
|
# myapp:
|
|
142
144
|
# someKey: value
|
|
143
|
-
|
|
144
|
-
## Mount overlay path override (optional) - tells the mount command where to write the overlay file.
|
|
145
|
-
mount:
|
|
146
|
-
overlayPath: docker/compose/web/docker-compose.dev-link.yml
|