[CI SKIP] Refactored project layout per Mark Wolfe Blog : https://www.wolfe.id.au/2020/03/10/how-do-i-structure-my-go-project/

This commit is contained in:
James Wells 2021-09-21 07:08:52 -07:00
parent 0557021282
commit a7747040ce
Signed by: jwells
GPG key ID: 73196D10B8E65666
31 changed files with 15 additions and 45 deletions

View file

@ -0,0 +1,9 @@
provider "aws" {
alias = "us-west-2"
region = "us-west-2"
}
provider "aws" {
alias = "us-east-1"
region = "us-east-1"
}

View file

@ -0,0 +1,84 @@
variable "vpc_id" {}
data "aws_vpc" "selected" {
id = var.vpc_id
}
variable "regional_cidr_blocks" {
description = "A simple map of subnets used by region"
type = map
default = {
"us-west-2a-private" = "10.172.64.0/23",
"us-west-2b-private" = "10.172.66.0/23",
"us-west-2a-public" = "10.172.68.0/26",
"us-west-2b-public" = "10.172.68.64/26",
"us-east-1a-private" = "10.172.0.0/23",
"us-east-1b-private" = "10.172.2.0/23",
"us-east-1a-public" = "10.172.4.0/26",
"us-east-1b-public" = "10.172.4.64/26"
}
}
resource "aws_subnet" "aza-private" {
depends_on = [data.aws_vpc.selected]
vpc_id = data.aws_vpc.id
availability_zone = format("%sa", var.region)
cidr_block = var.regional_cidr_blocks[
format("%sa-private", var.region)
]
tags = merge(
var.extra_tags,
{
Name = "aza-private"
tier = "private"
}
)
}
# resource "aws_subnet" "aza-public" {
# depends_on = [data.aws_vpc.selected]
# vpc_id = data.aws_vpc.selected.id
# availability_zone = format("%sa", var.region)
# cidr_block = var.regional_cidr_blocks[
# format("%sa-public", var.region)
# ]
# tags = merge(
# var.extra_tags,
# {
# Name = "aza-public"
# tier = "public"
# }
# )
# }
#
# resource "aws_subnet" "azb-private" {
# depends_on = [data.aws_vpc.selected]
# vpc_id = data.aws_vpc.selected.id
# availability_zone = format("%sb", var.region)
# cidr_block = var.regional_cidr_blocks[
# format("%sb-private", var.region)
# ]
# tags = merge(
# var.extra_tags,
# {
# Name = "azb-private"
# tier = "private"
# }
# )
# }
#
# resource "aws_subnet" "azb-public" {
# depends_on = [data.aws_vpc.selected]
# vpc_id = data.aws_vpc.selected.id
# availability_zone = format("%sb", var.region)
# cidr_block = var.regional_cidr_blocks[
# format("%sb-public", var.region)
# ]
# tags = merge(
# var.extra_tags,
# {
# Name = "azb-public"
# tier = "public"
# }
# )
# }

View file

@ -0,0 +1,9 @@
variable "extra_tags" {
description = "Tags required on all resources"
type = map
default = {
"org" = "dragonheim"
"service" = "gagent"
"maintained_by" = "jwells@dragonheim.net"
}
}

View file

@ -0,0 +1,23 @@
variable "region" {}
variable "provider_alias" {}
variable "regional_vpc_cidr" {
description = "A simple map of VPC subnets used by region"
type = map
default = {
"us-west-2" = "10.172.64.0/19",
"us-east-1" = "10.172.0.0/19",
}
}
resource "aws_vpc" "gagent" {
instance_tenancy = "default"
enable_dns_support = true
cidr_block = var.regional_vpc_cidr[var.region]
tags = merge(
var.extra_tags,
{
Name = "gagent"
}
)
}

18
assets/tfenv/main.tf Normal file
View file

@ -0,0 +1,18 @@
# main.tf
module "us-east-1" {
source = "./cluster"
region = "us-east-1"
provider_alias = "us-east-1"
providers = {
aws = "aws.us-east-1"
}
}
module "us-west-2" {
source = "./cluster"
region = "us-west-2"
provider_alias = "us-west-2"
providers = {
aws = "aws.us-west-2"
}
}

View file

@ -0,0 +1,9 @@
terraform {
required_version = ">= 1.0.7"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.59.0"
}
}
}