-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deploy DynamoDB tables via Riff-Raff #503
Conversation
templatePath: pillar-dynamo.yaml | ||
prependStackToCloudFormationStackName: false | ||
cloudFormationStackName: pillars-dynamo | ||
cloudFormationStackByTags: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally I prefer tag based discovery, but this repo is already using stack name based discovery and I think it's better to remain consistent within the same repo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough
a20360e
to
82e4446
Compare
@@ -6,6 +6,8 @@ deployments: | |||
type: autoscaling | |||
dependencies: | |||
- cloudformation | |||
- cloudformation-pillar-db |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are going to deploy all 3 CFN stacks concurrently so it shouldn't slow down deployments too much
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
templatePath: pillar-dynamo.yaml | ||
prependStackToCloudFormationStackName: false | ||
cloudFormationStackName: pillars-dynamo | ||
cloudFormationStackByTags: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough
What does this change?
This PR allows Riff-Raff to deploy
tag-manager
's DynamoDB tables. These are currently deployed manually via separate CloudFormation stacks1.How to test
I've tested this by deploying to
CODE
and confirming that Riff-Raff is updating the correct stacks.Note that the first deployment with Riff-Raff will update all resources in these separate stacks as Riff-Raff automatically adds some tags.
How can we measure success?
It will be possible to apply all AWS infrastructure changes for this app via Riff-Raff.
Have we considered potential risks?
Historically some teams were nervous about deploying databases using Riff-Raff, but we now have protections in place to avoid the accidental deletion of stateful resource types. We deploy many DynamoDB tables across the estate using Riff-Raff and in some respects this reduces risk by avoiding the need to manually update production resources via the AWS Console.
Footnotes
I think splitting this infrastructure across 3 separate CFN stacks is adding unnecessary complexity so it would be nice to combine them in the future. However, that is significantly more effort than just deploying all 3 using Riff-Raff so I don't plan to tackle that now. ↩