Failed deploy should write components that are rolled out to .chalice/deployed
- Dominant language
- Python
- Stars
- 11.1k
- Forks
- 1k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 2
Description
Hello,
At the moment chalice does not check in advance if the deployment could fail due to some conflicts on aws side (e.g. creating CloudWatch event that already exists).
The deployment goes step by step (IAM roles, lambdas policies) and in case of failure nothing is written to `.chalice/deployed`, which makes it impossible to roll back (e.g. delete) partially deployed configuration.
I think that in case of failure the partially deployed stack should be saved. Maybe not in the `dev.json` or `prod.json` to not mess up existing stacks, but at least in some `dev-failed.json`/`prod-failed.json`.
Contributor guide
Research direction
Start by tracing the deployment flow that writes `.chalice/deployed`; the issue names no source file, test, or entry point. Reproduce a deployment conflict such as an existing CloudWatch event, then determine how partially deployed components should be recorded in `dev-failed.json` or `prod-failed.json` so rollback can use that state.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- cloud, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100