-
Notifications
You must be signed in to change notification settings - Fork 84
(deploy): Manual changeset approval via CLI #801
Description
🚀 Feature Request
General Information
- 👋 I may be able to implement this feature request
-
⚠️ This feature might incur a breaking change
Description
This is similar to aws/aws-cdk#2879, but my use case is less CI/CD and more CLI workflow.
Our existing tool (https://github.com/envato/stack_master) has the following workflow:
stack_master apply <stack>(similar tocdk deploy <stack>)- Stack Master creates the changeset, presents what would be changed/replaced/etc to the user
- User verifies the changeset by pressing
y - Changeset is applied
This is similar to CDK's behaviour if IAM changes are detected.
We've come to rely on this behaviour - it gives us confidence that the changes we're about to make don't accidentally replace something they shouldn't (eg, an RDS instance) or have other unexpected behaviour that doesn't show up in a simple diff.
From what I can tell, cdk diff infers what would be changed rather than creating a changeset, so there's the possibility that its idea of what would occur and what would actually happen may be different. For example, in "traditional" cloudformation, I've had updates occur on converting a JSON template to a YAML one, with no other changes.
Proposed Solution
Add a command line option (--confirm, maybe?) that always asks the user if they'd like to apply the proposed changset.
Add this to cdk.json as well so that it can be set on a per-project basis.
Add --no-confirm to override this in the CLI.