Merge branch 'master' of http://git.ahoskingit.com/ahoskingit/orchestration.clouds
This commit is contained in:
commit
8642aca503
14
README.md
14
README.md
@ -1,3 +1,17 @@
|
|||||||
# Orchestration - Clouds
|
# Orchestration - Clouds
|
||||||
|
|
||||||
This will enable the packing/deploying to client 'clouds'.
|
This will enable the packing/deploying to client 'clouds'.
|
||||||
|
|
||||||
|
|
||||||
|
## Pre-commit Hooks
|
||||||
|
### Windows
|
||||||
|
**Dependencies**
|
||||||
|
1. `pip install pre-commit`
|
||||||
|
1. `pip install checkov`
|
||||||
|
1. `choco install tflint`
|
||||||
|
1. `choco install terraform-docs`
|
||||||
|
1. `choco install tfsec`
|
||||||
|
|
||||||
|
|
||||||
|
## Running It!
|
||||||
|
1. `pre-commit run -a`
|
30
ahoskingit/terraform/.pre-commit-config.yaml
Normal file
30
ahoskingit/terraform/.pre-commit-config.yaml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v3.1.0 # Use the ref you want to point at
|
||||||
|
hooks:
|
||||||
|
- id: detect-aws-credentials
|
||||||
|
- id: detect-private-key
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: terraform-fmt
|
||||||
|
name: terraform fmt
|
||||||
|
description: runs terraform fmt
|
||||||
|
entry: terraform fmt -recursive
|
||||||
|
language: system
|
||||||
|
pass_filenames: false
|
||||||
|
# - repo: https://github.com/gruntwork-io/pre-commit
|
||||||
|
# rev: v0.1.16 # Get the latest from: https://github.com/gruntwork-io/pre-commit/releases
|
||||||
|
# hooks:
|
||||||
|
# - id: tflint
|
||||||
|
# args:
|
||||||
|
# - "--module"
|
||||||
|
# - "--deep"
|
||||||
|
# - "--config=.tflint.hcl"
|
||||||
|
# - id: terraform-validate
|
||||||
|
# - id: terraform-fmt
|
||||||
|
# - repo: git://github.com/antonbabenko/pre-commit-terraform
|
||||||
|
# rev: v1.52.0 # Get the latest from: https://github.com/antonbabenko/pre-commit-terraform/releases
|
||||||
|
# hooks:
|
||||||
|
# - id: terraform_tfsec
|
||||||
|
# - id: terraform_docs
|
||||||
|
# - id: checkov
|
@ -2,21 +2,24 @@
|
|||||||
# Manual edits may be lost in future updates.
|
# Manual edits may be lost in future updates.
|
||||||
|
|
||||||
provider "registry.terraform.io/cloudflare/cloudflare" {
|
provider "registry.terraform.io/cloudflare/cloudflare" {
|
||||||
version = "2.17.0"
|
version = "3.0.0"
|
||||||
constraints = "2.17.0"
|
constraints = "3.0.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:Y2YvQIMTWnl2xz82+5gOVo3zSgQFpk7o/CadXP+Ad6w=",
|
"h1:Zp3pzxI09BVYA7sKVNuI1s0+7qaqvMUCmxEC134Um74=",
|
||||||
"zh:05d97d21dea9acc20cb88885e658508bf23a09d2561eb203be70248f9bb7ee68",
|
"zh:0fb2291957cc00d8acb04a5cae1d0f8790011dc69fb2c74b60e336d92e34d085",
|
||||||
"zh:23ee7136382586ca1f6e5a2df6751a22e29cd4060dab0bc613b702b2edf3881c",
|
"zh:1181d4ff7220abff3742463da4c4d3475a0058781f3a9996ae1138dd0ec52172",
|
||||||
"zh:2fc9647ded9459118966b6883372c4707f232220525ef56b488de738cf9c5e78",
|
"zh:1e67007b97172ae66b6a85c156814b4888e66df76ff57909305a10cfd7ebaf0d",
|
||||||
"zh:31624f7efb0c93461cb54f5197c6af891ba8ccb540362356b5722509a00f3976",
|
"zh:2381c35a1586538fcfca9ac0d219166b000f41640a8f28edd5cd44f9dbccb795",
|
||||||
"zh:3ded9720928dac2b6027e3c074511f9717726fd2e67feb17f764a3766ff22d3f",
|
"zh:4011294fa97d2a7893bb68418d0c5c446f59c605bdbfddf18d7bfd47a90d057a",
|
||||||
"zh:623c689e580dd3cd4d75a713e40583590d343ceb801e6ffbc6d90d43be85cf6f",
|
"zh:70e86342130964280d950212de30cae8609a503be69638fc43dadfee2b9d172f",
|
||||||
"zh:63191d6bf16c9307d98ee4c31637e74687599baa05266218c5a32ed22f28b06b",
|
"zh:97b15c62b0d50fd871f31685d4569bcab2b759a3a67cf0c5307da072ad5132a1",
|
||||||
"zh:697955f294fff567b3862e6d0e7f2bbcfcfa8bfb58be28efca2fda00d9b7ebaa",
|
"zh:aa3e22f73329b1f2730e5ecabd7878f54faaead2f089fd300257b381e5505929",
|
||||||
"zh:d4980aacac7f2e6c24e9072b284af77f0c5ad485c48a1ff041efeee3beacec58",
|
"zh:afdf51a4fff5c7788f7b6140cb2bfa180855341bed8a2b3434b5acbcfaafe443",
|
||||||
"zh:e5d4e2595034fc6a7382409aef91425d8a21473532774edce60166205ee0e4af",
|
"zh:b65a51cad80e848f754d4d4d692bb6405e21379196f6ba59e62e16090a742851",
|
||||||
"zh:f1b2f956748aba79be2f74b68035055cc99fdb6cdb2b5183e119be00c13bcda4",
|
"zh:cdc933c00625dc48204b4a7d4fbc3cb7c56e5e2afef23d0d60c751bde592a3ba",
|
||||||
|
"zh:d23cd0f6a0f9bb6a876c95434fe537b3399c8f72c6e9fe18099a97ef1d162f4f",
|
||||||
|
"zh:dc7ad5e4ebc6322a907d9552d06a58e160917ba084b601a205f648117893f199",
|
||||||
|
"zh:f6d07a7cf3860e8a9b68f62e97786a37d8b5e7b34958779d2722a3d5857d1224",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,6 +28,7 @@ provider "registry.terraform.io/hashicorp/aws" {
|
|||||||
constraints = "~> 2.0"
|
constraints = "~> 2.0"
|
||||||
hashes = [
|
hashes = [
|
||||||
"h1:6tf4jg37RrMHyVCql+fEgAFvX8JiqDognr+lk6rx7To=",
|
"h1:6tf4jg37RrMHyVCql+fEgAFvX8JiqDognr+lk6rx7To=",
|
||||||
|
"h1:fx8tbGVwK1YIDI6UdHLnorC9PA1ZPSWEeW3V3aDCdWY=",
|
||||||
"zh:01a5f351146434b418f9ff8d8cc956ddc801110f1cc8b139e01be2ff8c544605",
|
"zh:01a5f351146434b418f9ff8d8cc956ddc801110f1cc8b139e01be2ff8c544605",
|
||||||
"zh:1ec08abbaf09e3e0547511d48f77a1e2c89face2d55886b23f643011c76cb247",
|
"zh:1ec08abbaf09e3e0547511d48f77a1e2c89face2d55886b23f643011c76cb247",
|
||||||
"zh:606d134fef7c1357c9d155aadbee6826bc22bc0115b6291d483bc1444291c3e1",
|
"zh:606d134fef7c1357c9d155aadbee6826bc22bc0115b6291d483bc1444291c3e1",
|
||||||
|
0
ahoskingit/terraform/.tflint.hcl
Normal file
0
ahoskingit/terraform/.tflint.hcl
Normal file
@ -2,95 +2,95 @@
|
|||||||
|
|
||||||
#Setup the domain in route53
|
#Setup the domain in route53
|
||||||
resource "aws_route53_zone" "ahoskingit_ca" {
|
resource "aws_route53_zone" "ahoskingit_ca" {
|
||||||
name = "ahoskingit.ca"
|
name = "ahoskingit.ca"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "ahoskingit_ca" {
|
resource "aws_route53_record" "ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "ahoskingit.ca"
|
name = "ahoskingit.ca"
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [var.site5_ip]
|
records = [var.site5_ip]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "ahoskingit_ca_www" {
|
resource "aws_route53_record" "ahoskingit_ca_www" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "www.ahoskingit.ca"
|
name = "www.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.ahoskingit_ca.name]
|
records = [aws_route53_record.ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "home_ahoskingit_ca" {
|
resource "aws_route53_record" "home_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "home.ahoskingit.ca"
|
name = "home.ahoskingit.ca"
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [var.home_ip]
|
records = [var.home_ip]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "inventory_ahoskingit_ca" {
|
resource "aws_route53_record" "inventory_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "inventory.ahoskingit.ca"
|
name = "inventory.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "plex_ahoskingit_ca" {
|
resource "aws_route53_record" "plex_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "plex.ahoskingit.ca"
|
name = "plex.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "ns1_ahoskingit_ca" {
|
resource "aws_route53_record" "ns1_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "ns1.ahoskingit.ca"
|
name = "ns1.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "docs_ahoskingit_ca" {
|
resource "aws_route53_record" "docs_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "docs.ahoskingit.ca"
|
name = "docs.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "cloud_ahoskingit_ca" {
|
resource "aws_route53_record" "cloud_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "cloud.ahoskingit.ca"
|
name = "cloud.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "support_ahoskingit_ca" {
|
resource "aws_route53_record" "support_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "support.ahoskingit.ca"
|
name = "support.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "git_ahoskingit_ca" {
|
resource "aws_route53_record" "git_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "git.ahoskingit.ca"
|
name = "git.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "gitlab_ahoskingit_ca" {
|
resource "aws_route53_record" "gitlab_ahoskingit_ca" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = "gitlab.ahoskingit.ca"
|
name = "gitlab.ahoskingit.ca"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.home_ahoskingit_ca.name]
|
records = [aws_route53_record.home_ahoskingit_ca.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
##Route53 DNS entry
|
##Route53 DNS entry
|
||||||
@ -104,20 +104,20 @@ resource "aws_route53_record" "gitlab_ahoskingit_ca" {
|
|||||||
|
|
||||||
# email MX records for DNS
|
# email MX records for DNS
|
||||||
resource "aws_route53_record" "ahoskingit_ca_mx" {
|
resource "aws_route53_record" "ahoskingit_ca_mx" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = aws_route53_zone.ahoskingit_ca.name
|
name = aws_route53_zone.ahoskingit_ca.name
|
||||||
type = "MX"
|
type = "MX"
|
||||||
ttl = "60"
|
ttl = "60"
|
||||||
records = ["1 ASPMX.L.GOOGLE.COM",
|
records = ["1 ASPMX.L.GOOGLE.COM",
|
||||||
"5 ALT1.ASPMX.L.GOOGLE.COM",
|
"5 ALT1.ASPMX.L.GOOGLE.COM",
|
||||||
"5 ALT2.ASPMX.L.GOOGLE.COM",
|
"5 ALT2.ASPMX.L.GOOGLE.COM",
|
||||||
"10 ALT3.ASPMX.L.GOOGLE.COM",
|
"10 ALT3.ASPMX.L.GOOGLE.COM",
|
||||||
"10 ALT4.ASPMX.L.GOOGLE.COM"]
|
"10 ALT4.ASPMX.L.GOOGLE.COM"]
|
||||||
}
|
}
|
||||||
resource "aws_route53_record" "ahoskingit_ca_txt" {
|
resource "aws_route53_record" "ahoskingit_ca_txt" {
|
||||||
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
zone_id = aws_route53_zone.ahoskingit_ca.zone_id
|
||||||
name = aws_route53_zone.ahoskingit_ca.name
|
name = aws_route53_zone.ahoskingit_ca.name
|
||||||
type = "TXT"
|
type = "TXT"
|
||||||
ttl = "60"
|
ttl = "60"
|
||||||
records = ["google-site-verification=BgSCW0dvRYo4wR3l4ubjfq--VXsv554GIxgCDTyMK78"]
|
records = ["google-site-verification=BgSCW0dvRYo4wR3l4ubjfq--VXsv554GIxgCDTyMK78"]
|
||||||
}
|
}
|
||||||
|
@ -2,94 +2,94 @@
|
|||||||
#### automatedbytes.com
|
#### automatedbytes.com
|
||||||
##Setup the domain in route53
|
##Setup the domain in route53
|
||||||
resource "cloudflare_zone" "automatedbytes_com" {
|
resource "cloudflare_zone" "automatedbytes_com" {
|
||||||
zone = "automatedbytes.com"
|
zone = "automatedbytes.com"
|
||||||
}
|
}
|
||||||
resource "aws_route53_zone" "automatedbytes" {
|
resource "aws_route53_zone" "automatedbytes" {
|
||||||
name = "automatedbytes.com"
|
name = "automatedbytes.com"
|
||||||
}
|
}
|
||||||
|
|
||||||
#Route53 DNS entry
|
#Route53 DNS entry
|
||||||
resource "aws_route53_record" "automatedbytes" {
|
resource "aws_route53_record" "automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = "automatedbytes.com"
|
name = "automatedbytes.com"
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [var.home_ip]
|
records = [var.home_ip]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "www_automatedbytes" {
|
resource "aws_route53_record" "www_automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = "www.automatedbytes.com"
|
name = "www.automatedbytes.com"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.automatedbytes.name]
|
records = [aws_route53_record.automatedbytes.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "wildcard_automatedbytes" {
|
resource "aws_route53_record" "wildcard_automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = "*.automatedbytes.com"
|
name = "*.automatedbytes.com"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [aws_route53_record.automatedbytes.name]
|
records = [aws_route53_record.automatedbytes.name]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "support_automatedbytes" {
|
resource "aws_route53_record" "support_automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = "support.automatedbytes.com"
|
name = "support.automatedbytes.com"
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = [var.home_ip]
|
records = [var.home_ip]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_route53_record" "kfa_support_automatedbytes" {
|
resource "aws_route53_record" "kfa_support_automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = "kfa.support.automatedbytes.com"
|
name = "kfa.support.automatedbytes.com"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = "5"
|
ttl = "5"
|
||||||
records = ["support.automatedbytes.com"]
|
records = ["support.automatedbytes.com"]
|
||||||
}
|
}
|
||||||
|
|
||||||
## Email MX records
|
## Email MX records
|
||||||
resource "aws_route53_record" "mx_automatedbytes" {
|
resource "aws_route53_record" "mx_automatedbytes" {
|
||||||
zone_id = aws_route53_zone.automatedbytes.zone_id
|
zone_id = aws_route53_zone.automatedbytes.zone_id
|
||||||
name = aws_route53_zone.automatedbytes.name
|
name = aws_route53_zone.automatedbytes.name
|
||||||
type = "MX"
|
type = "MX"
|
||||||
ttl = "60"
|
ttl = "60"
|
||||||
records = ["1 ASPMX.L.GOOGLE.COM",
|
records = ["1 ASPMX.L.GOOGLE.COM",
|
||||||
"5 ALT1.ASPMX.L.GOOGLE.COM",
|
"5 ALT1.ASPMX.L.GOOGLE.COM",
|
||||||
"5 ALT2.ASPMX.L.GOOGLE.COM",
|
"5 ALT2.ASPMX.L.GOOGLE.COM",
|
||||||
"10 ALT3.ASPMX.L.GOOGLE.COM",
|
"10 ALT3.ASPMX.L.GOOGLE.COM",
|
||||||
"10 ALT4.ASPMX.L.GOOGLE.COM"]
|
"10 ALT4.ASPMX.L.GOOGLE.COM"]
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "assets_automatedbytes" {
|
resource "cloudflare_record" "assets_automatedbytes" {
|
||||||
zone_id = cloudflare_zone.automatedbytes_com.id
|
zone_id = cloudflare_zone.automatedbytes_com.id
|
||||||
name = "assets"
|
name = "assets"
|
||||||
type = "A"
|
type = "A"
|
||||||
proxied = false
|
proxied = false
|
||||||
value = var.do_assets
|
value = var.do_assets
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "assets_api_automatedbytes" {
|
resource "cloudflare_record" "assets_api_automatedbytes" {
|
||||||
zone_id = cloudflare_zone.automatedbytes_com.id
|
zone_id = cloudflare_zone.automatedbytes_com.id
|
||||||
name = "assets-api"
|
name = "assets-api"
|
||||||
type = "A"
|
type = "A"
|
||||||
proxied = false
|
proxied = false
|
||||||
value = var.do_assets
|
value = var.do_assets
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "assets_mesh_automatedbytes" {
|
resource "cloudflare_record" "assets_mesh_automatedbytes" {
|
||||||
zone_id = cloudflare_zone.automatedbytes_com.id
|
zone_id = cloudflare_zone.automatedbytes_com.id
|
||||||
name = "assets-mesh"
|
name = "assets-mesh"
|
||||||
type = "A"
|
type = "A"
|
||||||
proxied = false
|
proxied = false
|
||||||
value = var.do_assets
|
value = var.do_assets
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "support_automatedbytes" {
|
resource "cloudflare_record" "support_automatedbytes" {
|
||||||
zone_id = cloudflare_zone.automatedbytes_com.id
|
zone_id = cloudflare_zone.automatedbytes_com.id
|
||||||
name = "support"
|
name = "support"
|
||||||
type = "A"
|
type = "A"
|
||||||
proxied = true
|
proxied = true
|
||||||
value = var.home_ip
|
value = var.home_ip
|
||||||
}
|
}
|
||||||
|
@ -1,123 +1,124 @@
|
|||||||
resource "cloudflare_zone" "studi-o_com" {
|
resource "cloudflare_zone" "studi-o_com" {
|
||||||
zone = "studi-odesigns.com"
|
zone = "studi-odesigns.com"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_zone" "studi-o_ca" {
|
resource "cloudflare_zone" "studi-o_ca" {
|
||||||
zone = "studi-odesigns.ca"
|
zone = "studi-odesigns.ca"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_com_www" {
|
resource "cloudflare_record" "studi-o_com_www" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "www"
|
name = "www"
|
||||||
value = var.studi-odesigns_com
|
value = var.studi-odesigns_com
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = 1
|
ttl = 1
|
||||||
proxied = true
|
proxied = true
|
||||||
}
|
}
|
||||||
resource "cloudflare_record" "studi-o_com" {
|
resource "cloudflare_record" "studi-o_com" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "studi-odesigns.com"
|
name = "studi-odesigns.com"
|
||||||
value = var.home_ip
|
value = var.home_ip
|
||||||
type = "A"
|
type = "A"
|
||||||
ttl = 1
|
ttl = 1
|
||||||
proxied = true
|
proxied = true
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_com_txt" {
|
resource "cloudflare_record" "studi-o_com_txt" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "TXT"
|
type = "TXT"
|
||||||
value = "google-site-verification=AJw8umnraEhTYuHsrVc-5NvA7E2p08OF90HgPv8jWX4"
|
value = "google-site-verification=AJw8umnraEhTYuHsrVc-5NvA7E2p08OF90HgPv8jWX4"
|
||||||
ttl = 120
|
ttl = 120
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_com_mx" {
|
resource "cloudflare_record" "studi-o_com_mx" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx.l.google.com"
|
value = "aspmx.l.google.com"
|
||||||
priority = "1"
|
priority = "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_com_mx1" {
|
resource "cloudflare_record" "studi-o_com_mx1" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "alt1.aspmx.l.google.com"
|
value = "alt1.aspmx.l.google.com"
|
||||||
priority = "5"
|
priority = "5"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_com_mx2" {
|
resource "cloudflare_record" "studi-o_com_mx2" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "alt2.aspmx.l.google.com"
|
value = "alt2.aspmx.l.google.com"
|
||||||
priority = "5"
|
priority = "5"
|
||||||
}
|
}
|
||||||
resource "cloudflare_record" "studi-o_com_mx3" {
|
resource "cloudflare_record" "studi-o_com_mx3" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx2.googlemail.com"
|
value = "aspmx2.googlemail.com"
|
||||||
priority = "10"
|
priority = "10"
|
||||||
}
|
}
|
||||||
resource "cloudflare_record" "studi-o_com_mx4" {
|
resource "cloudflare_record" "studi-o_com_mx4" {
|
||||||
zone_id = cloudflare_zone.studi-o_com.id
|
zone_id = cloudflare_zone.studi-o_com.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx3.googlemail.com"
|
value = "aspmx3.googlemail.com"
|
||||||
priority = "10"
|
priority = "10"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_ca_www" {
|
resource "cloudflare_record" "studi-o_ca_www" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "www"
|
name = "www"
|
||||||
value = "automatedbytes.com"
|
value = "automatedbytes.com"
|
||||||
type = "CNAME"
|
type = "CNAME"
|
||||||
ttl = 3600
|
ttl = 3600
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_ca_txt" {
|
resource "cloudflare_record" "studi-o_ca_txt" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "TXT"
|
type = "TXT"
|
||||||
value = "google-site-verification=1VQq6Qc0OSpPKs_cd9nKIAGiTw9I7uQbmwnlGd44yo8"
|
value = "google-site-verification=1VQq6Qc0OSpPKs_cd9nKIAGiTw9I7uQbmwnlGd44yo8"
|
||||||
ttl = 120
|
ttl = 120
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_ca_mx" {
|
resource "cloudflare_record" "studi-o_ca_mx" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx.l.google.com"
|
value = "aspmx.l.google.com"
|
||||||
priority = "1"
|
priority = "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_ca_mx1" {
|
resource "cloudflare_record" "studi-o_ca_mx1" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "alt1.aspmx.l.google.com"
|
value = "alt1.aspmx.l.google.com"
|
||||||
priority = "5"
|
priority = "5"
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "cloudflare_record" "studi-o_ca_mx2" {
|
resource "cloudflare_record" "studi-o_ca_mx2" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "alt2.aspmx.l.google.com"
|
value = "alt2.aspmx.l.google.com"
|
||||||
priority = "5"
|
priority = "5"
|
||||||
}
|
}
|
||||||
resource "cloudflare_record" "studi-o_ca_mx3" {
|
resource "cloudflare_record" "studi-o_ca_mx3" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx2.googlemail.com"
|
value = "aspmx2.googlemail.com"
|
||||||
priority = "10"
|
priority = "10"
|
||||||
}
|
}
|
||||||
resource "cloudflare_record" "studi-o_ca_mx4" {
|
resource "cloudflare_record" "studi-o_ca_mx4" {
|
||||||
zone_id = cloudflare_zone.studi-o_ca.id
|
zone_id = cloudflare_zone.studi-o_ca.id
|
||||||
name = "@"
|
name = "@"
|
||||||
type = "MX"
|
type = "MX"
|
||||||
value = "aspmx3.googlemail.com"
|
value = "aspmx3.googlemail.com"
|
||||||
priority = "10"
|
priority = "10"
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,17 @@
|
|||||||
|
terraform {
|
||||||
|
required_providers {
|
||||||
|
aws = {
|
||||||
|
source = "hashicorp/aws"
|
||||||
|
version = "~> 2.0"
|
||||||
|
}
|
||||||
|
cloudflare = {
|
||||||
|
source = "cloudflare/cloudflare"
|
||||||
|
version = "3.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
required_version = ">= 0.13"
|
||||||
|
}
|
||||||
|
|
||||||
terraform {
|
terraform {
|
||||||
backend "remote" {
|
backend "remote" {
|
||||||
organization = "AHosking"
|
organization = "AHosking"
|
||||||
@ -7,9 +21,10 @@ terraform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
provider "cloudflare" {
|
provider "cloudflare" {
|
||||||
email = var.CLOUDFLARE_EMAIL
|
email = var.CLOUDFLARE_EMAIL
|
||||||
api_key = var.CLOUDFLARE_API_KEY
|
api_key = var.CLOUDFLARE_API_KEY
|
||||||
api_token = var.CLOUDFLARE_API_TOKEN
|
api_token = var.CLOUDFLARE_API_TOKEN
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -21,7 +36,7 @@ provider "aws" {
|
|||||||
|
|
||||||
|
|
||||||
skip_credentials_validation = true
|
skip_credentials_validation = true
|
||||||
skip_region_validation = true
|
skip_region_validation = true
|
||||||
skip_requesting_account_id = true
|
skip_requesting_account_id = true
|
||||||
skip_metadata_api_check = true
|
skip_metadata_api_check = true
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
variable "aws_access_key" {}
|
variable "aws_access_key" {}
|
||||||
variable "aws_secret_key" {}
|
variable "aws_secret_key" {}
|
||||||
variable "aws_region" {
|
variable "aws_region" {
|
||||||
default = "us-east-1"
|
default = "us-east-1"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "CLOUDFLARE_ACCOUNT_ID" {}
|
variable "CLOUDFLARE_ACCOUNT_ID" {}
|
||||||
@ -16,22 +16,22 @@ variable "home_ip" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
variable "site5_ip" {
|
variable "site5_ip" {
|
||||||
default = "138.197.154.98"
|
default = "138.197.154.98"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "do_assets" {
|
variable "do_assets" {
|
||||||
default = "165.22.228.138"
|
default = "165.22.228.138"
|
||||||
}
|
}
|
||||||
|
|
||||||
## KFA IP
|
## KFA IP
|
||||||
variable "kfa_ip" {
|
variable "kfa_ip" {
|
||||||
default = "64.137.159.107"
|
default = "64.137.159.107"
|
||||||
}
|
}
|
||||||
|
|
||||||
variable "studi-odesigns_com" { default = "studi-odesigns.com"}
|
variable "studi-odesigns_com" { default = "studi-odesigns.com" }
|
||||||
variable "studi-odesigns_ca" { default = "studi-odesigns.ca"}
|
variable "studi-odesigns_ca" { default = "studi-odesigns.ca" }
|
||||||
variable "studi-odesign_com" { default = "studi-odesign.com"}
|
variable "studi-odesign_com" { default = "studi-odesign.com" }
|
||||||
variable "studi-odesign_ca" { default = "studi-odesign.ca"}
|
variable "studi-odesign_ca" { default = "studi-odesign.ca" }
|
||||||
|
|
||||||
## Vsphere creds - this did not work anywhere near as well as I'd hoped
|
## Vsphere creds - this did not work anywhere near as well as I'd hoped
|
||||||
#variable "vsphere_user" {}
|
#variable "vsphere_user" {}
|
||||||
|
@ -1,13 +1 @@
|
|||||||
terraform {
|
|
||||||
required_providers {
|
|
||||||
aws = {
|
|
||||||
source = "hashicorp/aws"
|
|
||||||
version = "~> 2.0"
|
|
||||||
}
|
|
||||||
cloudflare = {
|
|
||||||
source = "cloudflare/cloudflare"
|
|
||||||
version = "2.17.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
required_version = ">= 0.13"
|
|
||||||
}
|
|
||||||
|
@ -18,7 +18,14 @@
|
|||||||
"titleBar.inactiveForeground": "#e7e7e799",
|
"titleBar.inactiveForeground": "#e7e7e799",
|
||||||
"statusBar.background": "#eb5424",
|
"statusBar.background": "#eb5424",
|
||||||
"statusBarItem.hoverBackground": "#ef7853",
|
"statusBarItem.hoverBackground": "#ef7853",
|
||||||
"statusBar.foreground": "#e7e7e7"
|
"statusBar.foreground": "#e7e7e7",
|
||||||
|
"activityBar.activeBackground": "#ef7853",
|
||||||
|
"editorGroup.border": "#ef7853",
|
||||||
|
"panel.border": "#ef7853",
|
||||||
|
"sash.hoverBorder": "#ef7853",
|
||||||
|
"sideBar.border": "#ef7853",
|
||||||
|
"statusBarItem.remoteBackground": "#eb5424",
|
||||||
|
"statusBarItem.remoteForeground": "#e7e7e7"
|
||||||
},
|
},
|
||||||
"peacock.color": "#eb5424"
|
"peacock.color": "#eb5424"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user