The --wait=ordered and --readiness-timeout flags across
install/upgrade/uninstall/rollback, ordered helm template output with
resource-group delimiters, and the helm dag debugging command.
Refs: HIP-0025
Signed-off-by: Rohit Gudi <50377477+caretak3r@users.noreply.github.com>
// The ordered plan could not be rebuilt from the stored release (e.g.
// a corrupted record). Never leave the release stuck in uninstalling
// over ordering: deletion completeness is what matters, so degrade to
// the standard unsequenced deletion below with a warning, exactly as
// upgrade does for removed-resource deletion (deleteRemovedFromOldRelease).
u.cfg.Logger().Warn("unable to rebuild the ordered uninstall plan from the stored release; deleting resources without sequencing",slog.Any("error",joinErrors(errs,"; ")))
"wait until resources are ready (up to --timeout). Use '--wait' alone for 'watcher' strategy, or specify one of: 'watcher', 'hookOnly', 'legacy', 'ordered'. Default when flag is omitted: 'hookOnly'.",
// Default 0 means "unset": the per-batch default of 1m is applied at the
// point of use on the ordered path (install/upgrade/rollback). Defaulting
// the flag itself to 1m would make the readiness-timeout<=timeout check
// reject any plain run with --timeout < 1m, even without --wait=ordered.
f.DurationVar(readinessTimeout,"readiness-timeout",0,"per-batch timeout when --wait=ordered is used; each resource batch must become ready within this duration (defaults to 1m when unset, and must not exceed --timeout). \"Ready\" is determined by kstatus signals for the resource kind (Deployment/StatefulSet/Pod/etc.) or by helm.sh/readiness-success and helm.sh/readiness-failure annotations when set; vanilla Jobs require --wait-for-jobs for the per-batch readiness gate to apply")
f.StringVar(&c.Version,"version","","specify a version constraint for the chart version to use. This constraint can be a specific tag (e.g. 1.1.1) or it may reference a valid range (e.g. ^2.0.0). If this is not specified, the latest version is used")
f.StringVar(&c.Version,"version","","specify a version constraint for the chart version to use. This constraint can be a specific tag (e.g. 1.1.1) or it may reference a valid range (e.g. ^2.0.0). If this is not specified, the latest version is used")
f.BoolVar(&c.Verify,"verify",false,"verify the package before using it")
f.BoolVar(&c.Verify,"verify",false,"verify the package before using it")
f.StringVar(&client.DeletionPropagation,"cascade","background","Must be \"background\", \"orphan\", or \"foreground\". Selects the deletion cascading strategy for the dependents. Defaults to background. Use \"foreground\" with --wait to ensure resources with finalizers are fully deleted before returning.")
f.StringVar(&client.DeletionPropagation,"cascade","background","Must be \"background\", \"orphan\", or \"foreground\". Selects the deletion cascading strategy for the dependents. Defaults to background. Use \"foreground\" with --wait to ensure resources with finalizers are fully deleted before returning.")
f.DurationVar(&client.Timeout,"timeout",300*time.Second,"time to wait for any individual Kubernetes operation (like Jobs for hooks)")
f.DurationVar(&client.Timeout,"timeout",300*time.Second,"time to wait for any individual Kubernetes operation (like Jobs for hooks)")
f.StringVar(&client.Description,"description","","add a custom description")
f.StringVar(&client.Description,"description","","add a custom description")
b.warnf(chartPath,"rendered subchart %q is not declared in Chart.yaml dependencies; sequencing it after declared subcharts",name)
b.warnf(WarningKindUndeclaredSubchart,chartPath,"rendered subchart %q is not declared in Chart.yaml dependencies; sequencing it after declared subcharts",name)
b.warnf(WarningKindUnresolvedSubchart,chartPath,"chart metadata for %s is unavailable; sequencing its subcharts %v in name order (depends-on between them, if any, is not recoverable)",chartPath,subcharts)
b.warnf(chartPath,"resource %q has only one of %s and %s; falling back to kstatus readiness",manifest.Head.Metadata.Name,releaseutil.AnnotationReadinessSuccess,releaseutil.AnnotationReadinessFailure)
b.warnf(WarningKindPartialReadiness,chartPath,"resource %q has only one of %s and %s; falling back to kstatus readiness",manifest.Head.Metadata.Name,releaseutil.AnnotationReadinessSuccess,releaseutil.AnnotationReadinessFailure)
b.warnf(chartPath,"resource-group %q is isolated (no depends-on edges and no dependents); deploying it in the unsequenced batch after sequenced groups",groupName)
b.warnf(WarningKindIsolatedGroup,chartPath,"resource-group %q is isolated (no depends-on edges and no dependents); deploying it in the unsequenced batch after sequenced groups",groupName)