This module describes required VPC components for deploying our modules into the DQ AWS environments.
It can be run against both Production and non-Production environments by setting a variable at runtime to switch the provider used.
This repo controls the deployment of our application modules.
It consists of the following core elements:
Describe the provider used.
This file has the basic VPC components:
- VPC
- Private and Public Route table
- Elastic IP
- NAT gateway
- Private and Public subnet and route table associations
This file contains a VPC S3 endpoints for logs.
Data lookup for EC2 instance AMIs.
This set of resources creates a couple of EC2 machines in their subnet, associate them to the main route table then adds them to a Security Group and joins them to Microsoft AD.
This set of resources describe looking up and deploying an AMI, attached Security Group with locked down ingress. It also creates an S3 bucket with policies and attach the role to the EC2 instance created earlier. The file also has variables and outputs defined.
Various data outputs for other modules/consumers.
Input data for resources within this repo.
Code and resource tester with mock data. It can be expanded by adding further definitions to the unit.
This project currently depends on:
- drone v0.5+dev
- terraform v0.11.1+
- terragrunt v0.13.21+
- python v3.6.3+
Please ensure that you have the correct versions installed (it is not currently tested against the latest version of Drone)
To run the scripts from your local machine:
# export/set variables
terragrunt plan
terragrunt apply
If the CI process appears to be stuck with a stale tf state
then run the following command to force a refresh:
terragrunt refresh