Skip to content
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

Merged
merged 1 commit into from
Dec 4, 2023
Merged

Conversation

jacobwinch
Copy link
Contributor

@jacobwinch jacobwinch commented Dec 1, 2023

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

  1. 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.

@jacobwinch jacobwinch marked this pull request as draft December 1, 2023 13:46
templatePath: pillar-dynamo.yaml
prependStackToCloudFormationStackName: false
cloudFormationStackName: pillars-dynamo
cloudFormationStackByTags: false
Copy link
Contributor Author

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough

@@ -6,6 +6,8 @@ deployments:
type: autoscaling
dependencies:
- cloudformation
- cloudformation-pillar-db
Copy link
Contributor Author

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

@jacobwinch jacobwinch marked this pull request as ready for review December 1, 2023 14:08
@jacobwinch jacobwinch requested a review from a team December 1, 2023 14:09
Copy link
Member

@davidfurey davidfurey left a 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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough

@jacobwinch jacobwinch merged commit 135f881 into main Dec 4, 2023
1 check passed
@jacobwinch jacobwinch deleted the jw-riff-raff-dynamo branch December 4, 2023 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants