Commit 2c53ce2
feat!: liveness probes, recovery strategies, and skip_if rename
Add k8s-inspired readiness and liveness probes to detect unhealthy nodes
(e.g., dropped SSH tunnels, crashed processes) and automatically recover.
- New `probes` field on variants with `readiness` (replaces `health_check`)
and `liveness` (runs continuously after node becomes healthy)
- New `recovery_strategy` field at project/node/variant level:
`notify`, `restart_node_and_dependents` (default), `restart_environment`
- Rename `verify` to `skip_if` (alias preserved for backward compat)
- Schema version bump to "2" (v1 still accepted)
- New `Unhealthy` node status and `Recovering` run status
- Daemon liveness monitor with per-probe interval, failure threshold,
max recoveries, and automatic restart via `veld restart` subprocess
- New `get_dependents()` graph utility for recovery subgraph identification
- Recovery module for stopping/restarting node subgraphs
BREAKING CHANGE: Schema version bumped to "2". The `health_check` field
on start_server variants is deprecated in favor of `probes.readiness`.
The `verify` field on command variants is renamed to `skip_if`. Both old
field names are still accepted as aliases for backward compatibility, but
new configs should use the new names. The `probes` field and
`recovery_strategy` field are new additions available on all variant types.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 89b66f4 commit 2c53ce2
File tree
30 files changed
+2664
-368
lines changed- crates
- veld-core/src
- veld-daemon
- assets
- src
- veld/src
- commands
- docs
- schema
- v1
- v2
- skills/veld
- reference
- tests
- website
30 files changed
+2664
-368
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
78 | | - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
724 | 724 | | |
725 | 725 | | |
726 | 726 | | |
727 | | - | |
| 727 | + | |
728 | 728 | | |
729 | 729 | | |
730 | 730 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| 30 | + | |
29 | 31 | | |
30 | 32 | | |
31 | 33 | | |
| |||
72 | 74 | | |
73 | 75 | | |
74 | 76 | | |
75 | | - | |
76 | | - | |
| 77 | + | |
| 78 | + | |
77 | 79 | | |
78 | 80 | | |
79 | 81 | | |
| |||
83 | 85 | | |
84 | 86 | | |
85 | 87 | | |
86 | | - | |
| 88 | + | |
87 | 89 | | |
88 | 90 | | |
89 | 91 | | |
| |||
93 | 95 | | |
94 | 96 | | |
95 | 97 | | |
96 | | - | |
| 98 | + | |
97 | 99 | | |
98 | 100 | | |
99 | 101 | | |
| |||
152 | 154 | | |
153 | 155 | | |
154 | 156 | | |
155 | | - | |
| 157 | + | |
156 | 158 | | |
157 | 159 | | |
158 | 160 | | |
| |||
0 commit comments