Support for CloudFormation notifications
Opened this issue · 0 comments
Summary
Jets uses CloudFormation under the hood to handle deployments. CloudFormation will send stack events to a SNS topic if configured when calling create/update_stack. Allow jets users to configure an SNS topic to receive jets deploy updates
Motivation
We would like to be notified about jets deployments (to enable email/webhook integrations). Our use case is to enable Slack notifications when our app is updated. This provides visiblity to our entire ops team and simplifies debugging production issues.
Guide-level explanation
If desired, add a config variable to application.rb with a SNS topic ARN to enable sending stack updates.
Reference-level explanation
Reading the code, it seems that Jets::CFN::Ship needs to pass notification_arns into the aws sdk client:
# options common to both create_stack and update_stack
def stack_options
{
stack_name: @parent_stack_name,
capabilities: capabilities, # ["CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"]
# disable_rollback: !@options[:rollback],
notification_arns: @options[:notification_arns]
}.merge!(template.to_h)
end
I'm not sure how this project would like to get those values from the user.
Drawbacks
It could increase jets support burden. Setting up SNS topics to forward messages is opaque and could confuse first time users?