Giter VIP home page Giter VIP logo

grid's Introduction

The Grid

Grid is our descriptive infrastructure repository. We use Terraform to manage the overall infrastructure of the UserLAnd, etc infrastructure.

Terraform is basically a managed API caller - and takes data from one API (or the same API at a different endpoint and uses it in calls to a different API.)

In order to accomplish this, Terraform maintains a consistent view of the infrastructure in a file called "The State" - our Terraform organization splits this file into several independently managed pieces based on their change velocity.

  1. Github
  2. AWS Shared (IAM, Network, DNS, Etc)
  3. AWS Environment
  4. Users (Manages users for Terraform Compatible APIS)

In order to modify these files, you need to either CD into the respective directory or use the ./tf helper script.

./tf aws <your terraform commands>

A Terraform tutorial is outside the scope of this README, but here are some tips for making changes.

Making A Temporary Environment

In order to spin up test environments switch to the aws directory and then use a terraform workspace to create a new instance of the environment.

The domains are preset to

  1. DMZ - .testinghole.com
  2. API - .orbtestenv.net

Tagging Resources

Your resources should be tagged liberally. You're going to want to find them later.

Everything that can be tagged with the environment name should be tagged with the environment name.

Additionally, everything should be tagged with it's "District" - which is either "city" - meaning that it runs apps written by Userland or "sea" meaning it runs user workloads.

Another common tag is "Usage" - which is generally either "app" or "infra"

A Usage of "app" means that the resource supports application functions in city. A Usage of "infra" means that the resource supports infrastructure fuctions in either city or sea.

An example of this distinction: The redis cluster is tagged "app" because the application requires it to work. The DMZ machine is tagged "infra" because the infrastructure requires it to work.

https://github.com/radekg/terraform-provisioner-ansible Note rename and chmod +x

Also note push button configs must be less then 20 charecters total including the preposition "holepunch-".

Your public key must be in the cloudinit config files for dmz at least

You need the changes in push-button-fixes for elasticcashe subnet naming

grid's People

Contributors

corbinlc avatar

Watchers

 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.