DoSomething / infrastructure

šŸ„ DoSomething.org's infrastructure, managed by Terraform.
MIT License
3 stars 2 forks source link

Adding separate stub files and VPC configuration for Quasar. #251

Closed sheyd closed 4 years ago

sheyd commented 4 years ago

What's this PR do?

This pull request refactors Quasar to be modularized in setup instead of a monolithicā„¢ main.tf file.

How should this be reviewed?

Looking at that Terraform Cloud check below.

Relevant tickets

References Pivotal #172151665.

Checklist

blisteringherb commented 4 years ago

@sheyd I've created a PR here with a component for the Fivetran Cloudwatch integration. I need to add that component to the Quasar main.tf file, but when I was looking over your restructuring, I'm wondering if it should go elsewhere?

DFurnes commented 4 years ago

@blisteringherb I think the way you've set that up (as a fivetran_cloudwatch_role component that's referenced in quasar/main.tf) is perfect! We toyed with some heavier refactoring but decided to hold on it for now, so shouldn't block any of your work. šŸ˜Œ

blisteringherb commented 4 years ago

@DFurnes sorry to keep bugging you on this, but it looks like I did something wrong in including the component in the Quasar file. Which parameters are mandatory in a module?

DFurnes commented 4 years ago

@blisteringherb No worries! I left a comment on that PR.

DFurnes commented 4 years ago

We used terraform state mv to move these resources to their new modularized homes:

Move "aws_security_group.jenkins" to "module.vpc.aws_security_group.jenkins"
Successfully moved 1 object(s).
Move "aws_security_group.rds" to "module.vpc.aws_security_group.rds"
Successfully moved 1 object(s).
Move "aws_security_group_rule.bastion" to "module.vpc.aws_security_group_rule.bastion"
Successfully moved 1 object(s).
Move "aws_security_group_rule.bastion-egress" to "module.vpc.aws_security_group_rule.bastion-egress"
Successfully moved 1 object(s).
Move "aws_security_group_rule.etl-bastion" to "module.vpc.aws_security_group_rule.etl-bastion"
Successfully moved 1 object(s).
Move "aws_security_group_rule.etl-egress" to "module.vpc.aws_security_group_rule.etl-egress"
Successfully moved 1 object(s).
Move "aws_security_group_rule.etl-jenkins" to "module.vpc.aws_security_group_rule.etl-jenkins"
Successfully moved 1 object(s).
Move "aws_security_group_rule.haproxy-bastion" to "module.vpc.aws_security_group_rule.haproxy-bastion"
Successfully moved 1 object(s).
Move "aws_security_group_rule.haproxy-egress" to "module.vpc.aws_security_group_rule.haproxy-egress"
Successfully moved 1 object(s).
Move "aws_security_group_rule.haproxy-http" to "module.vpc.aws_security_group_rule.haproxy-http"
Successfully moved 1 object(s).
Move "aws_security_group_rule.haproxy-https" to "module.vpc.aws_security_group_rule.haproxy-https"
Successfully moved 1 object(s).
Move "aws_security_group_rule.jenkins-bastion" to "module.vpc.aws_security_group_rule.jenkins-bastion"
Successfully moved 1 object(s).
Move "aws_security_group_rule.jenkins-egress" to "module.vpc.aws_security_group_rule.jenkins-egress"
Successfully moved 1 object(s).
Move "aws_security_group_rule.jenkins-haproxy" to "module.vpc.aws_security_group_rule.jenkins-haproxy"
Successfully moved 1 object(s).
Move "aws_security_group_rule.rds" to "module.vpc.aws_security_group_rule.rds"
Successfully moved 1 object(s).
Move "aws_security_group_rule.rds-egress" to "module.vpc.aws_security_group_rule.rds-egress"
Successfully moved 1 object(s).
Move "aws_security_group_rule.rds-etl" to "module.vpc.aws_security_group_rule.rds-etl"
Successfully moved 1 object(s).
Move "aws_subnet.subnet-a" to "module.vpc.aws_subnet.subnet-a"
Successfully moved 1 object(s).
Move "aws_subnet.subnet-b" to "module.vpc.aws_subnet.subnet-b"
Successfully moved 1 object(s).
Move "aws_vpc.vpc" to "module.vpc.aws_vpc.quasar_vpc"
Successfully moved 1 object(s).
Move "aws_security_group.bastion" to "module.vpc.aws_security_group.bastion"
Successfully moved 1 object(s).
Move "aws_security_group.etl" to "module.vpc.aws_security_group.etl"
Successfully moved 1 object(s).
Move "aws_security_group.haproxy" to "module.vpc.aws_security_group.haproxy"
Successfully moved 1 object(s).
Move "aws_db_instance.quasar" to "module.warehouse.aws_db_instance.quasar"
Successfully moved 1 object(s).
Move "aws_db_parameter_group.quasar-prod-pg11" to "module.warehouse.aws_db_parameter_group.pg11"
Successfully moved 1 object(s).
Move "aws_db_instance.quasar-qa" to "module.warehouse-qa.aws_db_instance.quasar"
Successfully moved 1 object(s).
Move "aws_db_parameter_group.quasar-qa-pg11" to "module.warehouse-qa.aws_db_parameter_group.pg11"
Successfully moved 1 object(s).