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
Failed upgrades already trigger Helm RollbackOnFailure, but operators cannot deliberately undo a bad successful deploy (wrong image tag, bad config) without re-deploying an older spec by hand or calling helm rollback outside Deployah.
The plumbing exists (session.HelmClient.RollbackRelease, GetReleaseHistory in internal/helm/helm.go) and is unused by any user-facing command. deployah plan / list / status show revision numbers but not a rollback path.
Goals
deployah rollback <environment> rolls the project release back to a previous Helm revision (default: previous successful revision).
Optional --revision N to target a specific revision.
Show what will happen before apply: revision list / confirmation (and --yes for CI).
Wait with the same timeout / wait strategy as deploy where practical.
Document that one release = whole project+environment (all components roll back together).
Clear errors when there is no prior revision, release missing, or rollback in progress.
Non-goals
Per-component rollback (Deployah uses one Helm release per project/environment today).
Git-based "rollback the spec file" (user checks out old YAML and deploy; different workflow).
Changing RollbackOnFailure behavior on deploy (already on).
Full Helm history browser UI; a simple table is enough.
Database / PVC data rollback (cluster state outside the release).
Problem
Failed upgrades already trigger Helm
RollbackOnFailure, but operators cannot deliberately undo a bad successful deploy (wrong image tag, bad config) without re-deploying an older spec by hand or callinghelm rollbackoutside Deployah.The plumbing exists (
session.HelmClient.RollbackRelease,GetReleaseHistoryininternal/helm/helm.go) and is unused by any user-facing command.deployah plan/list/statusshow revision numbers but not a rollback path.Goals
deployah rollback <environment>rolls the project release back to a previous Helm revision (default: previous successful revision).--revision Nto target a specific revision.--yesfor CI).Non-goals
deploy; different workflow).RollbackOnFailurebehavior on deploy (already on).Proposed design
User experience
Optional companion:
Behavior
GetReleaseHistory.--revisionor newest superseded/deployed revision older than current.--yes, print target revision summary (and optionally a short note that this restores prior rendered manifests, not "git revert").RollbackReleasewith global--timeout.Interactions
LastSuccessfulReleaselogic ininternal/plan/history.go.planafter rollback.Failure modes
--revision-> error.Alternatives considered
helm rollbackonly. Works but breaks the "no Helm knowledge" promise and skips Deployah labels/context resolution.Compatibility and migration
RollbackRelease,GetReleaseHistory).Test plan
Checklist