https://github.com/cypherpunkarmory/grid
Infrastructure Repo
https://github.com/cypherpunkarmory/grid
Last synced: about 2 months ago
JSON representation
Infrastructure Repo
- Host: GitHub
- URL: https://github.com/cypherpunkarmory/grid
- Owner: CypherpunkArmory
- License: agpl-3.0
- Created: 2019-09-23T17:53:35.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-13T18:17:43.000Z (almost 6 years ago)
- Last Synced: 2025-04-09T11:33:31.829Z (6 months ago)
- Language: HCL
- Size: 347 KB
- Stars: 1
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 `
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 +xAlso 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