Coder Social home page Coder Social logo

dq-tf-apps's Introduction

DQ Terraform Apps module

Build Status

This module describes required VPC components for deploying our app 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.

Content overview

This repo controls the deployment of our application modules.

It consists of the following core elements:

main.tf

This file has most of the App modules along with basic VPC components:

  • Provider
  • VPC
  • Private and Public Route table
  • Elastic IP
  • NAT gateway
  • Public subnet and route table association

s3.tf

This file consists of encrypted S3 buckets, IAM policy and random_string generator along with VPC S3 endpoints for logs and data feeds.

data.tf

Data lookup for EC2 instance AMIs.

ad_instance.tf

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.

outputs.tf

Various data outputs for other modules/consumers.

variables.tf

Input data for resources within this repo.

tests/apps_test.py

Code and resource tester with mock data. It can be expanded by adding further definitions to the unit.

User guide

Prepare your local environment

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)

How to run/deploy

To run the scripts from your local machine:

# export/set variables
terragrunt plan
terragrunt apply

FAQs

The remote state isn't updating, what do I do?

If the CI process appears to be stuck with a stale tf state then run the following command to force a refresh:

terragrunt refresh

dq-tf-apps's People

Contributors

abouhouly avatar alastairallan avatar chrisns avatar david-wirelab avatar duncan9562 avatar ianrelf avatar jwanderema avatar meepit avatar petegrant avatar phunktionaljohnkey avatar rhysemmas avatar s-arunachalam avatar tomfitzherbert avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.