Coder Social home page Coder Social logo

tf-core's Introduction

tf-core

Core Terraform modules to create infrastructure resources with default tags. This modules can be used to write simple terraform modules to manage infrastructure.

Important Notes

  • Naming Convention: Resource names are dynamically generated using provided variables. We follow some convention while naming resources, please go through locals.tf/resource_identifier to understand pattern.
  • Permanent Resources: These resources will be created no matter what
  • Optional Resources: These resources are optional, will be created if flag variables are on.

Modules

  • state_backend: # We keep state in S3 and for state locking use DynamoDB. Every environment/cluster should implement this exactly once.

    • 1 S3 Bucket
    • 1 DynamoDB Table
  • vpc: # Every environment/cluster should implement this exactly once and try to re-use common resources (NAT Gateways, Public Route Table, VPC Endpoint) as much as possible

    • Permanent resources
      • 1 VPC
      • 1 Internet Gateway
      • 1 Public Route Table # This route table should be used while creating team/business specific subnet_resources
      • <n> Management Public Subnets # These subnets are used for NAT Gateways, n = no. of AZs
      • <n> Elastic IPs for Nat Gateways
      • <n> Nat Gateways # Per AZ. These NAT Gateways should be used for creating team/business specific subnet_resources
      • 1 VPC Endpoint for S3 # Automatically attached to public, This endpoint should be attached to specific route tables while creating team/business specific subnet_resources
    • Optional resources
      • Flow log # If VPC flow logs enabled
      • 1 Cloudwatch Log Group for Flow log
      • IAM Role and Policy for flow logs
  • subnet_resources: # Each team/business should implement this module to create their subnets and other resources. Any network related code for team/businesses should go here.

    • Permanent resources
      • <n> private subnets and <n> public subnets # n = no. of AZs
      • <n> route tables for each private subnet
      • <n> network ACLS for each private subnet
      • <n> S3 VPC endpoint association for private subnets
      • <n> NAT Gateway route and <n> route association with private subnets
      • <n> Public Route Table association with just created public subnets
  • Other modules can be used when they are needed

tf-core's People

Contributors

aleem-99 avatar anshit-sre-sre avatar arnold1796 avatar gururajumoe avatar iamsudip avatar jayendrachauhan avatar kartik-sareen avatar manoj-me avatar rajkumar-moengage avatar somashekhar-moe avatar souradeepmoe avatar sudip-moengage avatar ummiyah-moe avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tf-core's Issues

add sqs module

a module to provision SQS queues and add default alarms if needed

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.