Skip to content

Commit 7bb44fc

Browse files
committed
docs: clarify Helm cancellation and dry-run semantics
1 parent f9ac8a5 commit 7bb44fc

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

docs/prd/native-helm-release-lifecycle.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ Required propagation includes:
387387
- Delete wait and hook phases through Helm uninstall wait options. Helm 4 does not accept a context for the uninstall request itself, so cancellation is also checked before and after the action and the operation remains bounded by the configured timeout.
388388
- External delivery and rendering call sites, without changing their timeout configuration in this PRD.
389389

390-
Scheduler cancellation or an operating-system signal must prevent new dependent nodes from starting and cancel the active Helm action. Atmos must not replace a cancelled context with a fresh background context for rollback. Helm's built-in rollback-on-failure behavior remains responsible for its documented interrupted-release semantics.
390+
Scheduler cancellation or an operating-system signal must prevent new dependent nodes from starting and stop the caller from waiting for the active Helm action. Because Helm install and upgrade actions may continue work after `RunWithContext` returns, this PRD does not promise that caller cancellation terminates already-running SDK work. Atmos must prevent a new Atmos-managed rollback attempt from starting with a fresh background context after cancellation. Any stronger guarantee requires Atmos to own the action worker goroutine and wait for it to terminate before returning. Helm's built-in rollback-on-failure behavior remains responsible for its documented interrupted-release semantics.
391391

392392
## Dry-Run Semantics
393393

@@ -479,7 +479,7 @@ During the timeout migration release, schema generation and stack processing MUS
479479
| `DisableChartHooks` | `DisableHooks` | `DisableHooks` | `DisableHooks` |
480480
| `SkipCRDs` | Set | — | — |
481481

482-
Dry-run is execution intent, not release lifecycle policy, and therefore remains outside `releaseLifecycle`. The command-to-provider path MUST propagate it independently to `Install.DryRun` or `Upgrade.DryRun` for apply/deploy and `Uninstall.DryRun` for delete.
482+
Dry-run is execution intent, not release lifecycle policy, and therefore remains outside `releaseLifecycle`. The command-to-provider path MUST propagate it independently to `Install.DryRunStrategy` or `Upgrade.DryRunStrategy` for apply/deploy and `Uninstall.DryRun` for delete. Apply and deploy use Helm's server-side dry-run strategy so validation reaches the cluster without persisting a release.
483483

484484
| Atmos operation | Provider operation | Helm timeout and recovery behavior |
485485
| --- | --- | --- |

0 commit comments

Comments
 (0)